execute Subroutine

private subroutine execute(self, in, out, stream, aux)

Uses

  • proc~~execute~9~~UsesGraph proc~execute~9 abstract_backend%execute iso_c_binding iso_c_binding proc~execute~9->iso_c_binding iso_fortran_env iso_fortran_env proc~execute~9->iso_fortran_env

Executes GPU Backend

Type Bound

abstract_backend

Arguments

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

Self-copying backend

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

Send pointer

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

Recv pointer

type(dtfft_stream_t), intent(in) :: stream

CUDA stream

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

Aux pointer


Calls

proc~~execute~9~~CallsGraph proc~execute~9 abstract_backend%execute execute_private execute_private proc~execute~9->execute_private interface~cudaeventrecord cudaEventRecord proc~execute~9->interface~cudaeventrecord interface~cudamemcpyasync cudaMemcpyAsync proc~execute~9->interface~cudamemcpyasync interface~cudastreamsynchronize cudaStreamSynchronize proc~execute~9->interface~cudastreamsynchronize interface~cudastreamwaitevent cudaStreamWaitEvent proc~execute~9->interface~cudastreamwaitevent interface~to_str to_str proc~execute~9->interface~to_str mpi_abort mpi_abort proc~execute~9->mpi_abort proc~cudageterrorstring cudaGetErrorString proc~execute~9->proc~cudageterrorstring proc~execute~3 nvrtc_kernel%execute proc~execute~9->proc~execute~3 proc~double_to_string double_to_string interface~to_str->proc~double_to_string proc~float_to_string float_to_string interface~to_str->proc~float_to_string proc~int32_to_string int32_to_string interface~to_str->proc~int32_to_string proc~int64_to_string int64_to_string interface~to_str->proc~int64_to_string proc~int8_to_string int8_to_string interface~to_str->proc~int8_to_string interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~execute~3->interface~cudamemcpyasync proc~execute~3->interface~cudastreamsynchronize proc~execute~3->interface~to_str proc~execute~3->mpi_abort proc~execute~3->proc~cudageterrorstring proc~culaunchkernel cuLaunchKernel proc~execute~3->proc~culaunchkernel proc~get_contiguous_execution_blocks get_contiguous_execution_blocks proc~execute~3->proc~get_contiguous_execution_blocks