-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add CS, PRL, LDC and RDC access patterns with supporting config (#118)
* Add CS, PRL, RDC, and LDC patterns and supporting config * Remove extra whitespace * Add Readme for the new patterns * Bugfix: Checks on parameter values separated for different access patterns * Add and modify code documentation * Remove unused parameters to functions * Committing clang-format changes
- Loading branch information
1 parent
2da97cd
commit 9f2b68d
Showing
12 changed files
with
603 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
## Additions to H5Bench_read | ||
4 new patterns are added to the h5bench read benchmark: | ||
1. CS: Refers to the Cross Stencil data access pattern. A block of fixed sides is used to read data from HDF5. This block is given a fixed stride in each dimension and data till end of file is read. | ||
2. LDC: Refers to the Left Diagonal Corner data access pattern. Data is read from two identical blocks of fixed sides, one in the top left corner and the other in the bottom right corner in the 2D HDF5 file | ||
3. RDC: Refers to the Right Diagonal Corner data access pattern. Data is read from two identical blocks of fixed sides, one in the top right corner and the other in the bottom left corner in the 2D HDF5 file | ||
4. PRL: Refers to the Peripheral data access pattern. Data is read from the periphery of the file, which is a frame of fixed width and height around the file. | ||
|
||
These patterns work with a single MPI process. In case multiple processes are used, only the root performs the read operations and all other processes skip the reads. Illustrations of the patterns are given in the table below: | ||
|
||
| Pattern -> | CS | LDC | RDC | PRL | | ||
| ---------- | ---------- | ---------- | ---------- | ---------- | | ||
|Illustration | ![CS Pattern](./images/CS.png) | ![LDC Pattern](./images/LDC.png) | ![RDC Pattern](./images/RDC.png) | ![PRL Pattern](./images/PRL.png) | | ||
|
||
|
||
|
||
Steps for running these benchmarks are the same as the other benchmarks. All parameter and requirements and running instructions remain same, except for the following parameters which are additionally required to be provided in the configuration: | ||
1. CS | ||
| Parameter | Description | | ||
| --------- | ----------- | | ||
| `BLOCK_SIZE` | Size of the block of data along `dim_1` | | ||
| `BLOCK_SIZE_2` | Size of the block of data along `dim_2` | | ||
| `STRIDE_SIZE` | Size of the block of data along `dim_1` | | ||
| `STRIDE_SIZE_2` | Size of the block of data along `dim_2` | | ||
|
||
2. LDC/RDC | ||
| Parameter | Description | | ||
| --------- | ----------- | | ||
| `BLOCK_SIZE` | Size of the block of data along `dim_1` | | ||
| `BLOCK_SIZE_2` | Size of the block of data along `dim_2` | | ||
|
||
3. PRL | ||
| Parameter | Description | | ||
| --------- | ----------- | | ||
| `BLOCK_SIZE` | Size of the frame along `dim_1` | | ||
| `BLOCK_SIZE_2` | Size of the frame along `dim_2` | | ||
|
||
Exmaples of some configurations are provided in `h5bench/samples/sync-write-1d-contig-contig-read-<pattern>.json` |
Oops, something went wrong.