Octopus
mpi_lib_oct_m Module Reference

This module contains some common usage patterns of MPI routines. More...

Detailed Description

This module contains some common usage patterns of MPI routines.

Data Types

interface  lmpi_create_shared_memory_window
 
interface  lmpi_gen_allgatherv
 

Functions/Subroutines

integer function, public lmpi_translate_rank (from_comm, to_comm, rank)
 Returns the rank number of the node rank in from_comm for the to_comm communicator. More...
 
subroutine, public lmpi_destroy_shared_memory_window (window)
 
subroutine, public lmpi_sync_shared_memory_window (window, intranode_grp)
 
subroutine, public create_intranode_communicator (base_grp, intranode_grp, internode_grp)
 
subroutine dlmpi_gen_allgatherv (incount, in, outcount, out, mpi_grp)
 Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items. More...
 
subroutine dlmpi_create_shared_memory_window (number_of_elements, intranode_grp, window, array)
 
subroutine zlmpi_gen_allgatherv (incount, in, outcount, out, mpi_grp)
 Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items. More...
 
subroutine zlmpi_create_shared_memory_window (number_of_elements, intranode_grp, window, array)
 
subroutine ilmpi_gen_allgatherv (incount, in, outcount, out, mpi_grp)
 Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items. More...
 
subroutine ilmpi_create_shared_memory_window (number_of_elements, intranode_grp, window, array)
 
subroutine llmpi_gen_allgatherv (incount, in, outcount, out, mpi_grp)
 Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items. More...
 
subroutine llmpi_create_shared_memory_window (number_of_elements, intranode_grp, window, array)
 

Function/Subroutine Documentation

◆ lmpi_translate_rank()

integer function, public mpi_lib_oct_m::lmpi_translate_rank ( type(mpi_comm), intent(in)  from_comm,
type(mpi_comm), intent(in)  to_comm,
integer, intent(in)  rank 
)

Returns the rank number of the node rank in from_comm for the to_comm communicator.

Definition at line 155 of file mpi_lib.F90.

◆ lmpi_destroy_shared_memory_window()

subroutine, public mpi_lib_oct_m::lmpi_destroy_shared_memory_window ( type(mpi_win), intent(inout)  window)

Definition at line 177 of file mpi_lib.F90.

◆ lmpi_sync_shared_memory_window()

subroutine, public mpi_lib_oct_m::lmpi_sync_shared_memory_window ( type(mpi_win), intent(in)  window,
type(mpi_grp_t), intent(in)  intranode_grp 
)

Definition at line 191 of file mpi_lib.F90.

◆ create_intranode_communicator()

subroutine, public mpi_lib_oct_m::create_intranode_communicator ( type(mpi_grp_t), intent(in)  base_grp,
type(mpi_grp_t), intent(out)  intranode_grp,
type(mpi_grp_t), intent(out)  internode_grp 
)

Definition at line 203 of file mpi_lib.F90.

◆ dlmpi_gen_allgatherv()

subroutine mpi_lib_oct_m::dlmpi_gen_allgatherv ( integer, intent(in)  incount,
real(real64), dimension(:), intent(in), contiguous  in,
integer, intent(out)  outcount,
real(real64), dimension(:), intent(out), contiguous  out,
type(mpi_grp_t), intent(in)  mpi_grp 
)
private

Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items.

Definition at line 297 of file mpi_lib.F90.

◆ dlmpi_create_shared_memory_window()

subroutine mpi_lib_oct_m::dlmpi_create_shared_memory_window ( integer(int64), intent(in)  number_of_elements,
type(mpi_grp_t), intent(in)  intranode_grp,
type(mpi_win), intent(out)  window,
real(real64), dimension(:), intent(out), pointer  array 
)
private

Definition at line 344 of file mpi_lib.F90.

◆ zlmpi_gen_allgatherv()

subroutine mpi_lib_oct_m::zlmpi_gen_allgatherv ( integer, intent(in)  incount,
complex(real64), dimension(:), intent(in), contiguous  in,
integer, intent(out)  outcount,
complex(real64), dimension(:), intent(out), contiguous  out,
type(mpi_grp_t), intent(in)  mpi_grp 
)

Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items.

Definition at line 457 of file mpi_lib.F90.

◆ zlmpi_create_shared_memory_window()

subroutine mpi_lib_oct_m::zlmpi_create_shared_memory_window ( integer(int64), intent(in)  number_of_elements,
type(mpi_grp_t), intent(in)  intranode_grp,
type(mpi_win), intent(out)  window,
complex(real64), dimension(:), intent(out), pointer  array 
)
private

Definition at line 504 of file mpi_lib.F90.

◆ ilmpi_gen_allgatherv()

subroutine mpi_lib_oct_m::ilmpi_gen_allgatherv ( integer, intent(in)  incount,
integer, dimension(:), intent(in), contiguous  in,
integer, intent(out)  outcount,
integer, dimension(:), intent(out), contiguous  out,
type(mpi_grp_t), intent(in)  mpi_grp 
)

Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items.

Definition at line 617 of file mpi_lib.F90.

◆ ilmpi_create_shared_memory_window()

subroutine mpi_lib_oct_m::ilmpi_create_shared_memory_window ( integer(int64), intent(in)  number_of_elements,
type(mpi_grp_t), intent(in)  intranode_grp,
type(mpi_win), intent(out)  window,
integer, dimension(:), intent(out), pointer  array 
)
private

Definition at line 664 of file mpi_lib.F90.

◆ llmpi_gen_allgatherv()

subroutine mpi_lib_oct_m::llmpi_gen_allgatherv ( integer, intent(in)  incount,
integer(int64), dimension(:), intent(in), contiguous  in,
integer, intent(out)  outcount,
integer(int64), dimension(:), intent(out), contiguous  out,
type(mpi_grp_t), intent(in)  mpi_grp 
)

Every node has incount (may vary from node to node) items (in array in) to send to everybody else in the group. The total number of items in the out array is given by outcount. out has to be big enough to contain all possible incoming items.

Definition at line 778 of file mpi_lib.F90.

◆ llmpi_create_shared_memory_window()

subroutine mpi_lib_oct_m::llmpi_create_shared_memory_window ( integer(int64), intent(in)  number_of_elements,
type(mpi_grp_t), intent(in)  intranode_grp,
type(mpi_win), intent(out)  window,
integer(int64), dimension(:), intent(out), pointer  array 
)
private

Definition at line 825 of file mpi_lib.F90.