You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The Atlas function atlas::mpi::comm() returns a Comm. From this, I need to get the internal MPI_Comm, to pass to the netCDF C API functions. Parallel (derived from Comm) has the method MPIComm() which will give me this, but since I've only got a Comm, I'd have to use a dynamic_cast to access this.
Describe the solution you'd like
It would be nice if MPIComm() was a pure virtual function of Comm, and it's implementation in Serial could perhaps throw an exception or return MPI_COMM_SELF (not sure what would be best here...).
Is your feature request related to a problem? Please describe.
The Atlas function atlas::mpi::comm() returns a Comm. From this, I need to get the internal MPI_Comm, to pass to the netCDF C API functions. Parallel (derived from Comm) has the method MPIComm() which will give me this, but since I've only got a Comm, I'd have to use a dynamic_cast to access this.
Describe the solution you'd like
It would be nice if MPIComm() was a pure virtual function of Comm, and it's implementation in Serial could perhaps throw an exception or return MPI_COMM_SELF (not sure what would be best here...).
Describe alternatives you've considered
dynamic_cast, as explained.
Additional context
Related to same work described in ecmwf/atlas#260 !
Organisation
Met Office
The text was updated successfully, but these errors were encountered: