MpiFx 1.4.0
Data Types | Functions/Subroutines
mpifx_win_module Module Reference

Contains routined for MPI shared memory windows. More...

Data Types

type  mpifx_win
 MPI shared memory window with some additional information. More...
 

Functions/Subroutines

subroutine mpifx_win_lock (self, error)
 Locks a shared memory segment for remote access. Starts a remote access epoch.
 
subroutine mpifx_win_unlock (self, error)
 Unlocks a shared memory segment. Finishes a remote access epoch.
 
subroutine mpifx_win_sync (self, error)
 Synchronizes shared memory across MPI ranks after remote access. Completes all memory stores in a remote access epoch.
 
subroutine mpifx_win_fence (self, assert, error)
 Ensure consistency of stores between fence calls.
 
subroutine mpifx_win_free (self, error)
 Deallocates memory associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_i_i4 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_i_i8 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_s_i4 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_s_i8 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_d_i4 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_d_i8 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_c_i4 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_c_i8 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_z_i4 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 
subroutine mpifx_win_allocate_shared_z_i8 (self, mycomm, global_length, global_pointer, local_length, local_pointer, error)
 Initialized a window handle and returns a pointer to the address associated with a shared memory segment.
 

Detailed Description

Contains routined for MPI shared memory windows.

Function/Subroutine Documentation

◆ mpifx_win_allocate_shared_c_i4()

subroutine mpifx_win_module::mpifx_win_allocate_shared_c_i4 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int32), intent(in) global_length,
complex(sp), dimension(:), intent(out), pointer global_pointer,
integer(int32), intent(in), optional local_length,
complex(sp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type complex(sp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type complex(sp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_c_i8()

subroutine mpifx_win_module::mpifx_win_allocate_shared_c_i8 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int64), intent(in) global_length,
complex(sp), dimension(:), intent(out), pointer global_pointer,
integer(int64), intent(in), optional local_length,
complex(sp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type complex(sp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type complex(sp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_d_i4()

subroutine mpifx_win_module::mpifx_win_allocate_shared_d_i4 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int32), intent(in) global_length,
real(dp), dimension(:), intent(out), pointer global_pointer,
integer(int32), intent(in), optional local_length,
real(dp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type real(dp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type real(dp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_d_i8()

subroutine mpifx_win_module::mpifx_win_allocate_shared_d_i8 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int64), intent(in) global_length,
real(dp), dimension(:), intent(out), pointer global_pointer,
integer(int64), intent(in), optional local_length,
real(dp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type real(dp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type real(dp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_i_i4()

subroutine mpifx_win_module::mpifx_win_allocate_shared_i_i4 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int32), intent(in) global_length,
integer, dimension(:), intent(out), pointer global_pointer,
integer(int32), intent(in), optional local_length,
integer, dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type integer in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type integer occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_i_i8()

subroutine mpifx_win_module::mpifx_win_allocate_shared_i_i8 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int64), intent(in) global_length,
integer, dimension(:), intent(out), pointer global_pointer,
integer(int64), intent(in), optional local_length,
integer, dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type integer in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type integer occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_s_i4()

subroutine mpifx_win_module::mpifx_win_allocate_shared_s_i4 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int32), intent(in) global_length,
real(sp), dimension(:), intent(out), pointer global_pointer,
integer(int32), intent(in), optional local_length,
real(sp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type real(sp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type real(sp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_s_i8()

subroutine mpifx_win_module::mpifx_win_allocate_shared_s_i8 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int64), intent(in) global_length,
real(sp), dimension(:), intent(out), pointer global_pointer,
integer(int64), intent(in), optional local_length,
real(sp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type real(sp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type real(sp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_z_i4()

subroutine mpifx_win_module::mpifx_win_allocate_shared_z_i4 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int32), intent(in) global_length,
complex(dp), dimension(:), intent(out), pointer global_pointer,
integer(int32), intent(in), optional local_length,
complex(dp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type complex(dp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type complex(dp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_allocate_shared_z_i8()

subroutine mpifx_win_module::mpifx_win_allocate_shared_z_i8 ( class(mpifx_win), intent(out) self,
class(mpifx_comm), intent(in) mycomm,
integer(int64), intent(in) global_length,
complex(dp), dimension(:), intent(out), pointer global_pointer,
integer(int64), intent(in), optional local_length,
complex(dp), dimension(:), intent(out), optional, pointer local_pointer,
integer, intent(out), optional error )
private

Initialized a window handle and returns a pointer to the address associated with a shared memory segment.

Parameters
selfHandle of the shared memory window on return.
mycommMPI communicator.
global_lengthNumber of elements of type complex(dp) in the entire shared memory window.
global_pointerPointer to the shared data array of length 'global_length' on return.
local_lengthNumber of elements of type complex(dp) occupied by the current rank.
local_pointerPointer to the local chunk of the data array of length 'local_length' on return.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_ALLOCATE_SHARED)

◆ mpifx_win_fence()

subroutine mpifx_win_module::mpifx_win_fence ( class(mpifx_win), intent(inout) self,
integer, intent(in), optional assert,
integer, intent(out), optional error )
private

Ensure consistency of stores between fence calls.

Parameters
selfHandle of the shared memory window.
assertHint to the MPI library to assume certain condition (e.g., MPI_MODE_NOSTORE).
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_FENCE)

◆ mpifx_win_free()

subroutine mpifx_win_module::mpifx_win_free ( class(mpifx_win), intent(inout) self,
integer, intent(out), optional error )
private

Deallocates memory associated with a shared memory segment.

Parameters
selfHandle of the shared memory window.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_FREE)

◆ mpifx_win_lock()

subroutine mpifx_win_module::mpifx_win_lock ( class(mpifx_win), intent(inout) self,
integer, intent(out), optional error )

Locks a shared memory segment for remote access. Starts a remote access epoch.

Parameters
selfHandle of the shared memory window.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_LOCK_ALL)

◆ mpifx_win_sync()

subroutine mpifx_win_module::mpifx_win_sync ( class(mpifx_win), intent(inout) self,
integer, intent(out), optional error )
private

Synchronizes shared memory across MPI ranks after remote access. Completes all memory stores in a remote access epoch.

Parameters
selfHandle of the shared memory window.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_SYNC)

◆ mpifx_win_unlock()

subroutine mpifx_win_module::mpifx_win_unlock ( class(mpifx_win), intent(inout) self,
integer, intent(out), optional error )
private

Unlocks a shared memory segment. Finishes a remote access epoch.

Parameters
selfHandle of the shared memory window.
errorOptional error code on return.
See also
MPI documentation (MPI_WIN_UNLOCK_ALL)