For a general description of *Wireworld* and the file format, see the 'README.md' file in the parent directory.
For a general description of *Wireworld* and the file format, see the `README.md` file in the parent directory.
This code sample demonstrates:
This code sample demonstrates:
...
@@ -25,7 +25,7 @@ The code sample is structured as follows:
...
@@ -25,7 +25,7 @@ The code sample is structured as follows:
*`create_cart_comm`: Creation of the MPI Cartesian communicator.
*`create_cart_comm`: Creation of the MPI Cartesian communicator.
*`world_init`: Domain decomposition and buffer allocation.
*`world_init`: Domain decomposition and buffer allocation.
*`world_init_io_type`: Creation of the MPI subarray datatype for I/O.
*`world_init_io_type`: Creation of the MPI subarray datatype for I/O.
*`world_init_neighborhood`: Identification of neighboring processes, creation of MPI graph communicator.
*`world_init_neighborhood`: Identification of neighboring processes, creation of MPI graph communicator and MPI Datatypes for halo exchange.
*`world_init_persistent_requests`: Initialization of persistent requests for halo data exchange.
*`world_init_persistent_requests`: Initialization of persistent requests for halo data exchange.
## Release Date
## Release Date
...
@@ -80,11 +80,11 @@ either on the command line or in your batch script. Note that only the input fil
...
@@ -80,11 +80,11 @@ either on the command line or in your batch script. Note that only the input fil
*`--p2p`: Use MPI Point-to-Point communication for halo data exchange, i.e. `MPI_Isend`, `MPI_Irecv` and `MPI_Waitall`.
*`--p2p`: Use MPI Point-to-Point communication for halo data exchange, i.e. `MPI_Isend`, `MPI_Irecv` and `MPI_Waitall`.
*`--persist`: Use MPI persistent requets (created with `MPI_Send_init` and `MPI_Recv_init`) for halo data exchange (using `MPI_Startall` and `MPI_Waitall`).
*`--persist`: Use MPI persistent requets (created with `MPI_Send_init` and `MPI_Recv_init`) for halo data exchange (using `MPI_Startall` and `MPI_Waitall`).
*`--overlap`: Overlap communication and computation, i.e. compute inner cells while doing halo data exchange (Default).
*`--overlap`: Overlap communication and computation, i.e. compute inner cells while doing halo data exchange (Default).
*`--no-overlap': Do not overlap communication and computation.
*`--no-overlap`: Do not overlap communication and computation.
*`-x [X]`, `--nprocs-x [X]`: Use `X` processes in x-direction for MPI Cartesian communicator (optional).
*`-x [X]`, `--nprocs-x [X]`: Use `X` processes in x-direction for MPI Cartesian communicator (optional).
*`-y [Y]`, `--nprocs-y [Y]`: Use `Y` processes in y-direction for MPI Cartesian communicator (optional).
*`-y [Y]`, `--nprocs-y [Y]`: Use `Y` processes in y-direction for MPI Cartesian communicator (optional).
*`-i [N]`, `--iterations [N]`: Do `N` iterations, creating `N` output files with the current state of the cellular automaton; Default: 1.
*`-i [N]`, `--iterations [N]`: Do `N` iterations, creating `N` output files with the current state of the cellular automaton; Default: 1.
* `-g [G]`, `--generations-per-iteration [G]': Number of generations to simulate between output iterations; Default: 5000.
*`-g [G]`, `--generations-per-iteration [G]`: Number of generations to simulate between output iterations; Default: 5000.
For large numbers as arguments to the option `-g`, the suffixes 'k' or 'M' may be used. For example, `-g 50k` specifies 50-thousand and `-g 1M` specifies one million generations per output iteration.
For large numbers as arguments to the option `-g`, the suffixes 'k' or 'M' may be used. For example, `-g 50k` specifies 50-thousand and `-g 1M` specifies one million generations per output iteration.