![]() |
YAC 3.8.0
Yet Another Coupler
|
There are some options for configuring parallel IO done by YAC.
The main usage of parallel IO in YAC is the reading and writing of weight files. This involves the processes of the source and target component associated with the weights.
For a couple of common grid file formats YAC has some utility functions for reading them in (see directory src/utils
). High-resolution grids, in particular, often have to be read in parallel due to memory constraints or to to reduce time spend on reading.
Weight files generated by YAC are written in the NetCDF-3 format with 64-bit offsets enabled.
All NetCDF formats compatible with the NetCDF library used to build YAC are supported for reading weight or grid files.
The parallel IO is configured by environment variables, which can be set before the start of the program or during runtime by using for example the Standard C library routine setenv
.
All ranks provided in the options refer to ranks in MPI_COMM_WORLD
.
YAC_IO_RANK_LIST=<rank list>
The rank list contains a comma seperated list of all ranks, which will be allowed to access the file system while doing parallel IO.
By default this list contains all ranks.
YAC_IO_RANK_EXCLUDE_LIST=<rank list>
The rank list contains a comma seperated list of all ranks, which will be excluded access to the file system when doing parallel IO.
By default this list is empty.
YAC_IO_MAX_NUM_RANKS_PER_NODE=<count>
Using MPI_Comm_split_type
, YAC will determine all ranks associated with individual shared memory regions (which commonly coincide with the ranks on individual hardware nodes). With count the user can specify the maximum number of ranks per shared memory region that will access the file system in the parallel IO.
The default value is 1.
By providing the value -1, the user can indicate that there is no limit on the number of ranks per shared memory domain.
YAC_IO_MAX_NUM_RANKS=<count>
The count value limits the total number of ranks, which will access the file system in the parallel IO.
By default the total number of ranks is not limited.
By providing the value -1, the user can explicitly indicate that there is no limit on the total number of ranks.