execute Subroutine

private subroutine execute(self, in, out, kwargs, error_code)

Executes transpose - exchange - unpack

Type Bound

reshape_handle_generic

Arguments

Type IntentOptional Attributes Name
class(reshape_handle_generic), intent(inout) :: self

Generic Transpose Handle

real(kind=real32), intent(inout) :: in(:)

Send pointer

real(kind=real32), intent(inout) :: out(:)

Recv pointer

type(execute_args), intent(inout) :: kwargs

Additional arguments

integer(kind=int32), intent(out) :: error_code

Error code


Calls

proc~~execute~12~~CallsGraph proc~execute~12 reshape_handle_generic%execute proc~execute~9 abstract_backend%execute proc~execute~12->proc~execute~9 execute_private execute_private proc~execute~9->execute_private fname fname proc~execute~9->fname interface~cudaeventrecord cudaEventRecord proc~execute~9->interface~cudaeventrecord interface~cudastreamsynchronize cudaStreamSynchronize proc~execute~9->interface~cudastreamsynchronize interface~cudastreamwaitevent cudaStreamWaitEvent proc~execute~9->interface~cudastreamwaitevent mpi_abort mpi_abort proc~execute~9->mpi_abort proc~cudageterrorstring cudaGetErrorString proc~execute~9->proc~cudageterrorstring proc~execute_end~3 abstract_backend%execute_end proc~execute~9->proc~execute_end~3 proc~execute_self_copy abstract_backend%execute_self_copy proc~execute~9->proc~execute_self_copy proc~execute~13 abstract_kernel%execute proc~execute~9->proc~execute~13 proc~pop_nvtx_domain_range pop_nvtx_domain_range proc~execute~9->proc~pop_nvtx_domain_range proc~push_nvtx_domain_range push_nvtx_domain_range proc~execute~9->proc~push_nvtx_domain_range interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~execute_self_copy->fname proc~execute_self_copy->interface~cudaeventrecord proc~execute_self_copy->interface~cudastreamwaitevent proc~execute_self_copy->mpi_abort proc~execute_self_copy->proc~cudageterrorstring interface~cudamemcpyasync cudaMemcpyAsync proc~execute_self_copy->interface~cudamemcpyasync proc~execute~13->execute_private proc~execute~13->proc~pop_nvtx_domain_range proc~execute~13->proc~push_nvtx_domain_range 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~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 interface~is_null_ptr is_null_ptr proc~string_c2f->interface~is_null_ptr interface~is_null_ptr->interface~is_null_ptr proc~is_null_funptr is_null_funptr interface~is_null_ptr->proc~is_null_funptr