GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis
111
|
Local and shared memory allocation and deallocation routines. More...
Data Types | |
interface | mpi_memory_allocate_integer |
interface | mpi_memory_allocate_integer_2dim |
interface | mpi_memory_allocate_real |
interface | mpi_memory_allocate_real_2dim |
interface | mpi_memory_deallocate_integer |
interface | mpi_memory_deallocate_integer_2dim |
interface | mpi_memory_deallocate_real |
interface | mpi_memory_deallocate_real_2dim |
Functions/Subroutines | |
subroutine | mpi_memory_setup |
Dummy initialization routine. More... | |
integer function | mpi_memory_allocate_integer_alc (array, nelem, comm) |
Allocate 1D allocatable integer array. More... | |
integer function | mpi_memory_allocate_int32_2dim_alc (array, nelem1, nelem2, comm) |
Allocate 2D allocatable 32-bit integer array. More... | |
integer function | mpi_memory_allocate_int64_2dim_alc (array, nelem1, nelem2, comm) |
Allocate 2D allocatable 64-bit integer array. More... | |
integer function | mpi_memory_allocate_real_wp_alc (array, nelem, comm) |
Allocate 1D allocatable real(wp) array. More... | |
integer function | mpi_memory_allocate_real_ep_alc (array, nelem, comm) |
Allocate 1D allocatable real(ep) array. More... | |
integer function | mpi_memory_allocate_real_2dim_wp_alc (array, nelem1, nelem2, comm) |
Allocate 2D allocatable real(wp) array. More... | |
integer function | mpi_memory_allocate_real_2dim_ep_alc (array, nelem1, nelem2, comm) |
Allocate 2D allocatable real(ep) array. More... | |
subroutine | mpi_memory_deallocate_real_wp_alc (array, nelem, window, comm) |
Deallocate 1D allocatable real(wp) array. More... | |
subroutine | mpi_memory_deallocate_real_ep_alc (array, nelem, window, comm) |
Deallocate 1D allocatable real(wp) array. More... | |
subroutine | mpi_memory_deallocate_int32_2dim_alc (array, nelem, window, comm) |
Deallocate 2D allocatable 32-bit integer array. More... | |
subroutine | mpi_memory_deallocate_int64_2dim_alc (array, nelem, window, comm) |
Deallocate 2D allocatable 64-bit integer array. More... | |
subroutine | mpi_memory_deallocate_integer_alc (array, nelem, window, comm) |
Deallocate 1D allocatable default integer array. More... | |
subroutine | mpi_memory_deallocate_real_2dim_wp_alc (array, nelem, window, comm) |
Deallocate 2D allocatable real(wp) array. More... | |
subroutine | mpi_memory_deallocate_real_2dim_ep_alc (array, nelem, window, comm) |
Deallocate 2D allocatable real(ep) array. More... | |
subroutine | mpi_memory_allocate_shared_bytes (alloc_size, groupcomm, baseptr, win) |
Shared part of the shared memory allocation routines. More... | |
integer function | mpi_memory_allocate_integer_ptr (array, nelem, comm) |
Deallocate 1D shared MPI default integer array pointer. More... | |
integer function | mpi_memory_allocate_int32_2dim_ptr (array, nelem1, nelem2, comm) |
Allocate 2D shared MPI default integer array pointer. More... | |
integer function | mpi_memory_allocate_int64_2dim_ptr (array, nelem1, nelem2, comm) |
Allocate 2D shared MPI 64-bit integer array pointer. More... | |
integer function | mpi_memory_allocate_real_wp_ptr (array, nelem, comm) |
Allocate 1D shared MPI real(wp) array pointer. More... | |
integer function | mpi_memory_allocate_real_ep_ptr (array, nelem, comm) |
Allocate 1D shared MPI real(ep) array pointer. More... | |
integer function | mpi_memory_allocate_real_2dim_wp_ptr (array, nelem1, nelem2, comm) |
Allocate 2D shared MPI real(wp) array pointer. More... | |
integer function | mpi_memory_allocate_real_2dim_ep_ptr (array, nelem1, nelem2, comm) |
Allocate 2D shared MPI real(ep) array pointer. More... | |
subroutine | mpi_memory_deallocate_real_wp_ptr (array, nelem, window, comm) |
Deallocate 1D shared MPI real(wp) array pointer. More... | |
subroutine | mpi_memory_deallocate_real_ep_ptr (array, nelem, window, comm) |
Deallocate 1D shared MPI real(ep) array pointer. More... | |
subroutine | mpi_memory_deallocate_int32_2dim_ptr (array, nelem, window, comm) |
Deallocate 2D shared MPI 32-bit integer array pointer. More... | |
subroutine | mpi_memory_deallocate_int64_2dim_ptr (array, nelem, window, comm) |
Deallocate 2D shared MPI 64-bit integer array pointer. More... | |
subroutine | mpi_memory_deallocate_integer_ptr (array, nelem, window, comm) |
Deallocate 1D shared MPI integer array pointer. More... | |
subroutine | mpi_memory_deallocate_real_2dim_wp_ptr (array, nelem, window, comm) |
Deallocate 2D shared MPI real(wp) array pointer. More... | |
subroutine | mpi_memory_deallocate_real_2dim_ep_ptr (array, nelem, window, comm) |
Deallocate 2D shared MPI real(ep) array pointer. More... | |
subroutine | mpi_memory_synchronize (window, comm) |
MPI shared memory barrier. More... | |
subroutine | mpi_memory_win_free (window, ierror) |
MPI shared memory deallocation. More... | |
Variables | |
integer(kind=mpiint), parameter | local_master = 0 |
Local and shared memory allocation and deallocation routines.
This module provides convenience wrappers around memory allocation calls. All interfaces support three scenarios:
shared_enabled
is .false.
. This will have the same effect as above.shared_enabled
is .true.
. This will (de)allocate a single chunk of memory shared by all processes that call the interface.integer function mpi_memory_gbl::mpi_memory_allocate_int32_2dim_alc | ( | integer(int32), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D allocatable 32-bit integer array.
integer function mpi_memory_gbl::mpi_memory_allocate_int32_2dim_ptr | ( | integer(int32), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D shared MPI default integer array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_int64_2dim_alc | ( | integer(int64), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D allocatable 64-bit integer array.
integer function mpi_memory_gbl::mpi_memory_allocate_int64_2dim_ptr | ( | integer(int64), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D shared MPI 64-bit integer array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_integer_alc | ( | integer, dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 1D allocatable integer array.
integer function mpi_memory_gbl::mpi_memory_allocate_integer_ptr | ( | integer, dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D shared MPI default integer array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_real_2dim_ep_alc | ( | real(ep), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D allocatable real(ep) array.
integer function mpi_memory_gbl::mpi_memory_allocate_real_2dim_ep_ptr | ( | real(ep), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D shared MPI real(ep) array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_real_2dim_wp_alc | ( | real(wp), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D allocatable real(wp) array.
integer function mpi_memory_gbl::mpi_memory_allocate_real_2dim_wp_ptr | ( | real(wp), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem1, | ||
integer, intent(in) | nelem2, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 2D shared MPI real(wp) array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_real_ep_alc | ( | real(ep), dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 1D allocatable real(ep) array.
integer function mpi_memory_gbl::mpi_memory_allocate_real_ep_ptr | ( | real(ep), dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 1D shared MPI real(ep) array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
integer function mpi_memory_gbl::mpi_memory_allocate_real_wp_alc | ( | real(wp), dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 1D allocatable real(wp) array.
integer function mpi_memory_gbl::mpi_memory_allocate_real_wp_ptr | ( | real(wp), dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Allocate 1D shared MPI real(wp) array pointer.
If the sub-group communicator 'comm' is not given, then the memory will be allocated on 'shared_communicator', which is set up by mpi_mod.
subroutine mpi_memory_gbl::mpi_memory_allocate_shared_bytes | ( | integer(mpiaddr), intent(in) | alloc_size, |
integer(mpiint), intent(in) | groupcomm, | ||
type(c_ptr), intent(out) | baseptr, | ||
integer(mpiint), intent(out) | win | ||
) |
Shared part of the shared memory allocation routines.
Allocates the given amount of bytes in the MPI shared memory and retrieves the (local master's) pointer to the beginning of the allocated chunk for all processes (rather than pointers to sections associated with them).
subroutine mpi_memory_gbl::mpi_memory_deallocate_int32_2dim_alc | ( | integer(int32), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D allocatable 32-bit integer array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_int32_2dim_ptr | ( | integer(int32), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D shared MPI 32-bit integer array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_int64_2dim_alc | ( | integer(int64), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D allocatable 64-bit integer array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_int64_2dim_ptr | ( | integer(int64), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D shared MPI 64-bit integer array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_integer_alc | ( | integer, dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D allocatable default integer array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_integer_ptr | ( | integer, dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D shared MPI integer array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_2dim_ep_alc | ( | real(ep), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D allocatable real(ep) array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_2dim_ep_ptr | ( | real(ep), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D shared MPI real(ep) array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_2dim_wp_alc | ( | real(wp), dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D allocatable real(wp) array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_2dim_wp_ptr | ( | real(wp), dimension(:,:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 2D shared MPI real(wp) array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_ep_alc | ( | real(ep), dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D allocatable real(wp) array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_ep_ptr | ( | real(ep), dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D shared MPI real(ep) array pointer.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_wp_alc | ( | real(wp), dimension(:), intent(inout), allocatable | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D allocatable real(wp) array.
subroutine mpi_memory_gbl::mpi_memory_deallocate_real_wp_ptr | ( | real(wp), dimension(:), intent(inout), pointer | array, |
integer, intent(in) | nelem, | ||
integer, intent(in) | window, | ||
integer(mpiint), intent(in), optional | comm | ||
) |
Deallocate 1D shared MPI real(wp) array pointer.
subroutine mpi_memory_gbl::mpi_memory_setup |
Dummy initialization routine.
Has no effect at the moment.
subroutine mpi_memory_gbl::mpi_memory_synchronize | ( | integer, intent(in) | window, |
integer(mpiint), intent(in), optional | comm | ||
) |
MPI shared memory barrier.
If the sub-group communicator 'comm' is not given, then the memory will be synchronized on 'shared_communicator', which is set up by mpi_mod.
subroutine mpi_memory_gbl::mpi_memory_win_free | ( | integer, intent(in) | window, |
integer(mpiint), intent(inout) | ierror | ||
) |
MPI shared memory deallocation.
integer(kind=mpiint), parameter mpi_memory_gbl::local_master = 0 |