C2C Plan
Performs single transposition
Performs single transposition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
type(*), | intent(inout), | target | :: | in(..) |
Incoming buffer of any rank and kind. Note that this buffer will be modified in GPU build |
|
type(*), | intent(inout), | target | :: | out(..) |
Resulting buffer of any rank and kind |
|
type(dtfft_transpose_t), | intent(in) | :: | transpose_type |
Type of transposition. |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Performs single transposition using type(c_ptr) pointers instead of buffers
Performs single transposition using type(c_ptr) pointers instead of buffers
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
type(c_ptr), | intent(in) | :: | in |
Incoming pointer. Note that values of this pointer will be modified in GPU build |
||
type(c_ptr), | intent(in) | :: | out |
Resulting pointer |
||
type(dtfft_transpose_t), | intent(in) | :: | transpose_type |
Type of transposition. |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Executes plan
Executes plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
type(*), | intent(inout), | target | :: | in(..) |
Incoming buffer of any rank and kind |
|
type(*), | intent(inout), | target | :: | out(..) |
Resulting buffer of any rank and kind |
|
type(dtfft_execute_t), | intent(in) | :: | execute_type |
Type of execution. |
||
type(*), | intent(inout), | optional, | target | :: | aux(..) |
Optional auxiliary buffer.
Size of buffer must be greater than value
returned by |
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Executes plan using type(c_ptr) pointers instead of buffers
Executes plan using type(c_ptr) pointers instead of buffers
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
type(c_ptr), | intent(in) | :: | in |
Incoming pointer. Note that values of this pointer will be modified in GPU build |
||
type(c_ptr), | intent(in) | :: | out |
Resulting pointer |
||
type(dtfft_execute_t), | intent(in) | :: | execute_type |
Type of execution. |
||
type(c_ptr), | intent(in) | :: | aux |
Optional auxiliary buffer.
Size of buffer must be greater than value
returned by |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Destroys plan
Destroys plan, frees all memory
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional Error Code returned to user |
Returns local starts and counts in real
and fourier
spaces
Obtain local starts and counts in real
and fourier
spaces
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | in_starts(:) |
Starts of local portion of data in |
|
integer(kind=int32), | intent(out), | optional | :: | in_counts(:) |
Number of elements of local portion of data in ‘real’ space |
|
integer(kind=int32), | intent(out), | optional | :: | out_starts(:) |
Starts of local portion of data in |
|
integer(kind=int32), | intent(out), | optional | :: | out_counts(:) |
Number of elements of local portion of data in |
|
integer(kind=int64), | intent(out), | optional | :: | alloc_size |
Minimal number of elements required to execute plan |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Wrapper around get_local_sizes
to obtain number of elements only
Wrapper around get_local_sizes
to obtain number of elements only
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Minimal number of elements required to execute plan
Returns logical value is Z-slab optimization is enabled
Returns logical value is Z-slab optimization enabled internally
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns pencil decomposition
Returns pencil decomposition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(in) | :: | dim |
Required dimension: |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns number of bytes required to store single element.
Returns number of bytes required to store single element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns minimum number of bytes required to execute plan
Returns minimum number of bytes required to execute plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Prints plan details
Prints plan-related information to stdout
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates memory for type(c_ptr)
Allocates memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_bytes |
Number of bytes to allocate |
||
type(c_ptr), | intent(out) | :: | ptr |
Allocated pointer |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real32), | intent(out), | pointer | :: | ptr(:) | ||
integer(kind=int32), | intent(in), | optional | :: | lbound | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real64), | intent(out), | pointer | :: | ptr(:) | ||
integer(kind=int32), | intent(in), | optional | :: | lbound | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real32), | intent(out), | pointer | :: | ptr(:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(2) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(2) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real64), | intent(out), | pointer | :: | ptr(:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(2) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(2) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 3
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real32), | intent(out), | pointer | :: | ptr(:,:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(3) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(3) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 3
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
real(kind=real64), | intent(out), | pointer | :: | ptr(:,:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(3) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(3) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real32), | intent(out), | pointer | :: | ptr(:) | ||
integer(kind=int32), | intent(in), | optional | :: | lbound | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real64), | intent(out), | pointer | :: | ptr(:) | ||
integer(kind=int32), | intent(in), | optional | :: | lbound | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real32), | intent(out), | pointer | :: | ptr(:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(2) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(2) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real64), | intent(out), | pointer | :: | ptr(:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(2) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(2) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 3
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real32), | intent(out), | pointer | :: | ptr(:,:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(3) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(3) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Allocates pointer of rank 3
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(in) | :: | alloc_size |
Number of elements to allocate |
||
complex(kind=real64), | intent(out), | pointer | :: | ptr(:,:,:) | ||
integer(kind=int32), | intent(in) | :: | sizes(3) | |||
integer(kind=int32), | intent(in), | optional | :: | lbounds(3) | ||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory for type(c_ptr)
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
type(c_ptr), | intent(in) | :: | ptr |
Pointer allocated with mem_alloc |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real32), | intent(inout), | target | :: | ptr(:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real32), | intent(inout), | target | :: | ptr(:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real32), | intent(inout), | target | :: | ptr(:,:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real64), | intent(inout), | target | :: | ptr(:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real64), | intent(inout), | target | :: | ptr(:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
real(kind=real64), | intent(inout), | target | :: | ptr(:,:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real32), | intent(inout), | target | :: | ptr(:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real32), | intent(inout), | target | :: | ptr(:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real32), | intent(inout), | target | :: | ptr(:,:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real64), | intent(inout), | target | :: | ptr(:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real64), | intent(inout), | target | :: | ptr(:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Frees previously allocated memory specific for this plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(inout) | :: | self |
Abstract plan |
||
complex(kind=real64), | intent(inout), | target | :: | ptr(:,:,:) |
Pointer allocated with mem_alloc |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns plan execution platform
Returns execution platform of the plan (HOST or CUDA)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns selected GPU backend during autotuning
Returns selected GPU backend during autotuning
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns CUDA stream associated with plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
type(dtfft_stream_t), | intent(out) | :: | stream |
dtFFT Stream |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Returns CUDA stream associated with plan
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_t), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int64), | intent(out) | :: | stream |
CUDA-Fortran Stream |
||
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional error code returned to user |
Creates C2C plan
C2C Plan Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dtfft_plan_c2c_t), | intent(inout) | :: | self |
C2C Plan |
||
integer(kind=int32), | intent(in) | :: | dims(:) |
Global dimensions of transform |
||
type(MPI_Comm), | intent(in), | optional | :: | comm |
Communicator |
|
type(dtfft_precision_t), | intent(in), | optional | :: | precision |
Presicion of Transform |
|
type(dtfft_effort_t), | intent(in), | optional | :: | effort |
How thoroughly |
|
type(dtfft_executor_t), | intent(in), | optional | :: | executor |
Type of External FFT Executor |
|
integer(kind=int32), | intent(out), | optional | :: | error_code |
Optional Error Code returned to user |