Class that describes information about data layout
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int8), | public | :: | aligned_dim |
Position of aligned dimension. For example: X pencil aligned_dim = 1, Z pencil aligned_dim = 3 |
|||
integer(kind=int8), | public | :: | rank |
Rank of buffer: 2 or 3 |
|||
integer(kind=int32), | public, | allocatable | :: | starts(:) |
Local starts, starting from 0 for both C and Fortran |
||
integer(kind=int32), | public, | allocatable | :: | counts(:) |
Local counts of data, in elements |
||
logical, | public | :: | is_even |
Is data evenly distributed across processes |
Creates pencil
Creates pencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pencil), | intent(inout) | :: | self |
Pencil |
||
integer(kind=int8), | intent(in) | :: | rank |
Rank of buffer |
||
integer(kind=int8), | intent(in) | :: | aligned_dim |
Position of aligned dimension |
||
integer(kind=int32), | intent(in) | :: | counts(:) |
Global counts |
||
type(MPI_Comm), | intent(in) | :: | comms(:) |
Grid communicators |
Creates public object that users can use to create own FFT backends
Creates public object that users can use to create own FFT backends
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pencil), | intent(in) | :: | self |
Pencil |