... | ... | @@ -17,6 +17,25 @@ various I/O interfaces used in HACC, namely, POSIX I/O, MPI Collective I/O and M |
|
|
Additionally, the benchmark can either write out a single shared file, file per process, and a file per group
|
|
|
of processes (partition).
|
|
|
|
|
|
### Instructions
|
|
|
|
|
|
You can download the source code and find its documentation at:
|
|
|
|
|
|
https://github.com/glennklockwood/hacc-io
|
|
|
|
|
|
```bash
|
|
|
LD_PRELOAD=<PATH>/lib/libgkfs_intercept.so \
|
|
|
LIBGKFS_LOG=all \
|
|
|
LIBGKFS_LOG_OUTPUT=/dev/stderr \
|
|
|
mpirun --oversubscribe --np 4 hacc_io 10000000 /mnt/gkfs/output
|
|
|
```
|
|
|
|
|
|
### Tests
|
|
|
|
|
|
| Date | Version | Status |
|
|
|
| ------ | ------ | ------ |
|
|
|
| 2020-02-19 | [b4d8c1d](https://github.com/glennklockwood/hacc-io/commit/b4d8c1dcfc2afcfb7722c44ec573ff3c36d3012d) | SUCCESS |
|
|
|
|
|
|
## IOR
|
|
|
|
|
|
IOR is a parallel IO benchmark that can be used to test the performance of parallel storage systems using various interfaces and access patterns. The IOR repository also includes the mdtest benchmark which specifically tests the peak metadata rates of storage systems under different directory structures. Both benchmarks use a common parallel I/O abstraction backend and rely on MPI for synchronization.
|
... | ... | @@ -40,7 +59,7 @@ for (n=0; n<no_pe; n++) { |
|
|
}
|
|
|
|
|
|
if (strcmp(FILETYPE, "UNIQUE")==0) sprintf(filename, "/mnt/gkfs/files/data_%d", my_pe);
|
|
|
else sprintf(filename, "files/data");
|
|
|
else sprintf(filename, "/mnt/gkfs/files/data");
|
|
|
```
|
|
|
|
|
|
This kernel was compiled with the following options:
|
... | ... | @@ -68,6 +87,41 @@ mpirun -np 4 MADbench2.x 640 80 1 8 8 4 4 |
|
|
|
|
|
The Ondes3D seismic wave propagation simulator [7], developed by computational science researchers at the French Geological and Mining Research Bureau (BRGM).
|
|
|
|
|
|
### Instructions
|
|
|
|
|
|
You can download the source code and find its documentation at:
|
|
|
|
|
|
https://bitbucket.org/francielizanon/ondes3d_io/src/master/
|
|
|
|
|
|
You need to set the input and output paths to the GekkoFS mounting point. For the sample test case available there `NICE-XML` you need to update the file `nice.prm`.
|
|
|
|
|
|
Before starting the execution we need to stage the data in.
|
|
|
|
|
|
```bash
|
|
|
LD_PRELOAD=<PATH>/lib/libgkfs_intercept.so \
|
|
|
LIBGKFS_LOG=all \
|
|
|
LIBGKFS_LOG_OUTPUT=/dev/stderr \
|
|
|
cp -r NICE-XML /mnt/gkfs/NICE-XML
|
|
|
```
|
|
|
|
|
|
We also need to create the output directory inside GekkoFS:
|
|
|
|
|
|
```bash
|
|
|
LD_PRELOAD=<PATH>/lib/libgkfs_intercept.so \
|
|
|
LIBGKFS_LOG=all \
|
|
|
LIBGKFS_LOG_OUTPUT=/dev/stderr \
|
|
|
mkdir /mnt/gkfs/NICE-OUTPUT
|
|
|
```
|
|
|
|
|
|
Then, you can run Ondes3D with GekkoFS:
|
|
|
|
|
|
```bash
|
|
|
LD_PRELOAD=<PATH>/lib/libgkfs_intercept.so \
|
|
|
LIBGKFS_LOG=all \
|
|
|
LIBGKFS_LOG_OUTPUT=/dev/stderr \
|
|
|
mpirun --oversubscribe --np 4 ondes3d 2
|
|
|
```
|
|
|
|
|
|
### Tests
|
|
|
|
|
|
| Date | Version | Status |
|
... | ... | |