execute Subroutine

private subroutine execute(self, in, out, stream, sync, neighbor)

Uses

  • proc~~execute~3~~UsesGraph proc~execute~3 kernel_device%execute iso_c_binding iso_c_binding proc~execute~3->iso_c_binding iso_fortran_env iso_fortran_env proc~execute~3->iso_fortran_env

Executes kernel on stream

Type Bound

kernel_device

Arguments

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

Device kernel class

type(c_ptr), intent(in) :: in

Source buffer, can be device or host pointer

type(c_ptr), intent(in) :: out

Target buffer, can be device or host pointer

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

Stream to execute on

logical, intent(in) :: sync

Sync stream after kernel execution, unused here

integer(kind=int32), intent(in), optional :: neighbor

Source rank for pipelined unpacking


Calls

proc~~execute~3~~CallsGraph proc~execute~3 kernel_device%execute fname fname proc~execute~3->fname interface~cudamemcpyasync cudaMemcpyAsync proc~execute~3->interface~cudamemcpyasync interface~cudastreamsynchronize cudaStreamSynchronize proc~execute~3->interface~cudastreamsynchronize mpi_abort mpi_abort proc~execute~3->mpi_abort proc~cudageterrorstring cudaGetErrorString proc~execute~3->proc~cudageterrorstring proc~culaunchkernel cuLaunchKernel proc~execute~3->proc~culaunchkernel proc~get_kernel_args get_kernel_args proc~execute~3->proc~get_kernel_args proc~get_kernel_launch_params get_kernel_launch_params proc~execute~3->proc~get_kernel_launch_params proc~ptr_offset ptr_offset proc~execute~3->proc~ptr_offset interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~is_pack_kernel is_pack_kernel proc~get_kernel_args->proc~is_pack_kernel proc~is_unpack_kernel is_unpack_kernel proc~get_kernel_args->proc~is_unpack_kernel 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