Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer(kind=int32),
private
::
ierr
type(MPI_Comm),
private
::
mpi_comm_new
Source Code
function comm_split_shared(this)result(new_comm)!! Creates a new communicator containing only processes that share!! memory with each other (typically processes on the same node)class(comm_t),intent(in)::thistype(comm_t)::new_commtype(MPI_Comm)::mpi_comm_newinteger(int32)::ierrif(.not.this%is_valid)thennew_comm=comm_null()return end if call MPI_Comm_split_type(this%get(),MPI_COMM_TYPE_SHARED,0,MPI_INFO_NULL,mpi_comm_new,ierr)new_comm=create_comm_from_mpi(mpi_comm_new)end function comm_split_shared