| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public, | pointer | :: | ptr(:) | => | null() | |
| type(MPI_Win), | public | :: | win | ||||
| integer(kind=TagIntType), | public | :: | tag | = | 0 |
| procedure, public :: shared_alloc => safe_shared_memory_alloc_real | |
| procedure, public :: shared_dealloc => safe_shared_memory_dealloc_real | |
| procedure, public :: sync => sync_real | |
| procedure, public :: get_memory_demand => get_memory_demand_real |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int64), | public, | pointer | :: | ptr(:) | => | null() | |
| type(MPI_Win), | public | :: | win | ||||
| integer(kind=TagIntType), | public | :: | tag | = | 0 |
| procedure, public :: shared_alloc => safe_shared_memory_alloc_int64 | |
| procedure, public :: shared_dealloc => safe_shared_memory_dealloc_int64 | |
| procedure, public :: sync => sync_int64 | |
| procedure, public :: get_memory_demand => get_memory_demand_int64 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public, | pointer | :: | ptr(:) | => | null() | |
| type(MPI_Win), | public | :: | win | ||||
| integer(kind=TagIntType), | public | :: | tag | = | 0 |
| procedure, public :: shared_alloc => safe_shared_memory_alloc_int32 | |
| procedure, public :: shared_dealloc => safe_shared_memory_dealloc_int32 | |
| procedure, public :: sync => sync_int32 | |
| procedure, public :: get_memory_demand => get_memory_demand_int32 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| complex(kind=dp), | public, | pointer | :: | ptr(:) | => | null() | |
| type(MPI_Win), | public | :: | win | ||||
| integer(kind=TagIntType), | public | :: | tag | = | 0 |
| procedure, public :: shared_alloc => safe_shared_memory_alloc_cmplx | |
| procedure, public :: shared_dealloc => safe_shared_memory_dealloc_cmplx | |
| procedure, public :: sync => sync_cmplx | |
| procedure, public :: get_memory_demand => get_memory_demand_cmplx |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public, | pointer | :: | ptr(:) | => | null() | |
| type(MPI_Win), | public | :: | win | ||||
| integer(kind=TagIntType), | public | :: | tag | = | 0 |
| procedure, public :: shared_alloc => safe_shared_memory_alloc_bool | |
| procedure, public :: shared_dealloc => safe_shared_memory_dealloc_bool | |
| procedure, public :: sync => sync_bool | |
| procedure, public :: get_memory_demand => get_memory_demand_bool |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_real_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int64_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int32_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_cmplx_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_bool_t), | intent(in) | :: | this |
Wrapper for shared_allocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_real_t), | intent(inout) | :: | this | |||
| integer(kind=int64), | intent(in) | :: | size |
size of the memory segment to be allocated |
||
| character(len=*), | intent(in), | optional | :: | name |
wrapper for shared_deallocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_real_t), | intent(inout) | :: | this |
callls MPI_Win_Sync on the array’s shared memory window to sync rma This has to be called between read/write epochs to ensure all tasks of a node are looking at the same shared data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_real_t), | intent(inout) | :: | this |
Wrapper for shared_allocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int64_t), | intent(inout) | :: | this | |||
| integer(kind=int64), | intent(in) | :: | size |
size of the memory segment to be allocated |
||
| character(len=*), | intent(in), | optional | :: | name |
wrapper for shared_deallocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int64_t), | intent(inout) | :: | this |
callls MPI_Win_Sync on the array’s shared memory window to sync rma This has to be called between read/write epochs to ensure all tasks of a node are looking at the same shared data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int64_t), | intent(inout) | :: | this |
Wrapper for shared_allocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int32_t), | intent(inout) | :: | this | |||
| integer(kind=int64), | intent(in) | :: | size |
size of the memory segment to be allocated |
||
| character(len=*), | intent(in), | optional | :: | name |
wrapper for shared_deallocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int32_t), | intent(inout) | :: | this |
callls MPI_Win_Sync on the array’s shared memory window to sync rma This has to be called between read/write epochs to ensure all tasks of a node are looking at the same shared data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_int32_t), | intent(inout) | :: | this |
Wrapper for shared_allocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_cmplx_t), | intent(inout) | :: | this | |||
| integer(kind=int64), | intent(in) | :: | size |
size of the memory segment to be allocated |
||
| character(len=*), | intent(in), | optional | :: | name |
wrapper for shared_deallocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_cmplx_t), | intent(inout) | :: | this |
callls MPI_Win_Sync on the array’s shared memory window to sync rma This has to be called between read/write epochs to ensure all tasks of a node are looking at the same shared data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_cmplx_t), | intent(inout) | :: | this |
Wrapper for shared_allocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_bool_t), | intent(inout) | :: | this | |||
| integer(kind=int64), | intent(in) | :: | size |
size of the memory segment to be allocated |
||
| character(len=*), | intent(in), | optional | :: | name |
wrapper for shared_deallocate_mpi that tests if the pointer is associated
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_bool_t), | intent(inout) | :: | this |
callls MPI_Win_Sync on the array’s shared memory window to sync rma This has to be called between read/write epochs to ensure all tasks of a node are looking at the same shared data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(shared_array_bool_t), | intent(inout) | :: | this |