Open aosprey opened 3 years ago
What makes the parallelisation tricky is that we want to parallelise over npts but this dimension is contiguous in memory, since the arrays are dimensioned array(npts,nz)
. Therefore scattering any 2d (or 3d fields) requires extracting non-contiguous chunks of data and packing into a send buffer. If the dimensions were reveresed and nz
was contiguous, the scatter could be done with an MPI_scatter routine directly (I think).
It would be better to fix this first #15
Some progress on parallelisation has been made in the mpi
branch.
We may want to have a data structure to hold global fields (as in CAM routines), e.g. kpp_global_fields
.
Plan for parallelising the code with MPI:
Control code:
Domain decomposition:
Parallel routines:
XIOS:
Parallel netcdf reads: