transpose_start Function

private function transpose_start(self, in, out, transpose_type, error_code) result(request)

Starts an asynchronous transpose operation

Note

Buffers in and out cannot be the same

Type Bound

dtfft_plan_t

Arguments

Type IntentOptional 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

Return Value type(dtfft_request_t)

Asynchronous handle describing started transpose operation


Calls

proc~~transpose_start~~CallsGraph proc~transpose_start dtfft_plan_t%transpose_start proc~transpose_start_ptr dtfft_plan_t%transpose_start_ptr proc~transpose_start->proc~transpose_start_ptr proc~pop_nvtx_domain_range pop_nvtx_domain_range proc~transpose_start_ptr->proc~pop_nvtx_domain_range proc~push_nvtx_domain_range push_nvtx_domain_range proc~transpose_start_ptr->proc~push_nvtx_domain_range proc~transpose_private dtfft_plan_t%transpose_private proc~transpose_start_ptr->proc~transpose_private interface~nvtxdomainrangepop_c nvtxDomainRangePop_c proc~pop_nvtx_domain_range->interface~nvtxdomainrangepop_c interface~nvtxdomainrangepushex_c nvtxDomainRangePushEx_c proc~push_nvtx_domain_range->interface~nvtxdomainrangepushex_c proc~astring_f2c astring_f2c proc~push_nvtx_domain_range->proc~astring_f2c proc~create_nvtx_domain create_nvtx_domain proc~push_nvtx_domain_range->proc~create_nvtx_domain proc~execute transpose_plan%execute proc~transpose_private->proc~execute proc~string_f2c string_f2c proc~astring_f2c->proc~string_f2c proc~create_nvtx_domain->proc~astring_f2c interface~nvtxdomaincreate_c nvtxDomainCreate_c proc~create_nvtx_domain->interface~nvtxdomaincreate_c proc~execute->proc~pop_nvtx_domain_range proc~execute->proc~push_nvtx_domain_range execute execute proc~execute->execute