XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
my_mpi Module Reference

Public Member Functions

subroutine my_mpi_init (color)
 XGC common MPI init routine. More...
 
subroutine my_mpi_reduce (a, b, n)
 
subroutine my_mpi_allreduce (a, b, n)
 

Member Function/Subroutine Documentation

subroutine my_mpi::my_mpi_allreduce ( real (kind=8), dimension(n), intent(inout)  a,
real (kind=8), dimension(n), intent(inout)  b,
integer, intent(in)  n 
)

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine my_mpi::my_mpi_init ( integer, intent(in)  color)

XGC common MPI init routine.

This function will call MPI_init followed by MPI_Comm_split. This is necessary to use Adios2 MPMD-style staging methods (e.g., InSituMPI). To distinguish XGC and staging applications, we need to provide an identifier (color). XGC applications (XGC1 and XGCa) will use "0", while others need to use non-zero values. After calling this function, it is recommended not to use MPI_COMM_WORLD directly. Instead, sml_comm_world or sml_comm should be used. E.g., PETSC should be initialized with sml_comm_world, not MPI_COMM_WORLD, as follows: call petsc_init(sml_comm_world, ierr)

Parameters
[in]coloridentifier, integer

Here is the call graph for this function:

subroutine my_mpi::my_mpi_reduce ( real (kind=8), dimension(n), intent(inout)  a,
real (kind=8), dimension(n), intent(inout)  b,
integer, intent(in)  n 
)

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: