CUDA Transpose Handle
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(dtfft_transpose_t), | private | :: | transpose_type | ||||
logical, | private | :: | has_exchange | = | .false. |
If current handle has exchanges between GPUs |
|
logical, | private | :: | is_pipelined | = | .false. |
If underlying exchanges are pipelined |
|
type(nvrtc_kernel), | private | :: | transpose_kernel |
Transposes data |
|||
type(nvrtc_kernel), | private | :: | unpack_kernel |
Unpacks data |
|||
type(nvrtc_kernel), | private | :: | unpack_kernel2 | ||||
class(abstract_backend), | private, | allocatable | :: | comm_handle |
Communication handle |
Creates CUDA Transpose Handle
Creates CUDA Transpose Handle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_handle_cuda), | intent(inout) | :: | self |
CUDA Transpose Handle |
||
type(backend_helper), | intent(in) | :: | helper |
Backend helper |
||
type(pencil), | intent(in) | :: | send |
Send pencil |
||
type(pencil), | intent(in) | :: | recv |
Recv pencil |
||
integer(kind=int64), | intent(in) | :: | base_storage |
Number of bytes needed to store single element |
||
type(dtfft_backend_t), | intent(in) | :: | backend |
Backend type |
Executes transpose - exchange - unpack
Executes transpose - exchange - unpack
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_handle_cuda), | intent(inout) | :: | self |
CUDA Transpose Handle |
||
real(kind=real32), | intent(inout) | :: | in(:) |
Send pointer |
||
real(kind=real32), | intent(inout) | :: | out(:) |
Recv pointer |
||
type(dtfft_stream_t), | intent(in) | :: | stream |
Main execution CUDA stream |
||
real(kind=real32), | intent(inout) | :: | aux(:) |
Aux pointer |
Destroys CUDA Transpose Handle
Destroys CUDA Transpose Handle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_handle_cuda), | intent(inout) | :: | self |
CUDA Transpose Handle |
Returns number of bytes required by aux buffer
Returns number of bytes required by aux buffer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_handle_cuda), | intent(in) | :: | self |
CUDA Transpose Handle |
Returns transpose_type, associated with handle
Returns transpose_type, associated with handle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_handle_cuda), | intent(in) | :: | self |
CUDA Transpose Handle |