Commit e5049d3d authored by Jonathan Boyle's avatar Jonathan Boyle
Browse files


parent b488f0c8
# parallel-file-io kernel
This POP WP7 CoDesign code implements parallel file I/O for ASCII files, where every process reads or writes to a unique file, i.e. the number of processes equals the number of files.
The resulting executable takes one argument, which defines the number of double precision values held in a 1D array on each process, the default value is 100,000. The array value for entry `i` on process `p` is `i + p + 0.1`. This data is written & read to/from ASCII text files `data2_<p>.txt`, where `<p>` is the process rank, i.e. there is one file per process.
The program reports the time for processes to write and read data to/from the files, one entry per line.
## Building the code
The file mpi_io_kernel.cpp should be compiled with an MPI C++ compiler with the -std=c++11 flag, e.g.
`mpicxx mpi_io_kernel.cpp -std=c++11 -o mpi_io_kernel`
* kernel name : parallel-file-io
* version : parallel-ascii-multifile
* implemented-bp : parallel-multi-file-io
## Executing the code
To run the code using mpirun use the following command, replacing `nproc` with the number of processess, and `nval` with the number of double precision values per process.
`mpirun -np nproc mpi_io_kernel nval`
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment