execute_mpi Subroutine

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

Uses

  • proc~~execute_mpi~~UsesGraph proc~execute_mpi backend_mpi%execute_mpi iso_c_binding iso_c_binding proc~execute_mpi->iso_c_binding iso_fortran_env iso_fortran_env proc~execute_mpi->iso_fortran_env

Executes MPI backend

Type Bound

backend_mpi

Arguments

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

MPI GPU Backend

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

Send pointer

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

Recv pointer

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

Main execution CUDA stream

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

Aux pointer


Calls

proc~~execute_mpi~~CallsGraph proc~execute_mpi backend_mpi%execute_mpi interface~cudastreamsynchronize cudaStreamSynchronize proc~execute_mpi->interface~cudastreamsynchronize interface~int_to_str int_to_str proc~execute_mpi->interface~int_to_str mpi_abort mpi_abort proc~execute_mpi->mpi_abort mpi_wait mpi_wait proc~execute_mpi->mpi_wait mpi_waitall mpi_waitall proc~execute_mpi->mpi_waitall proc~cudageterrorstring cudaGetErrorString proc~execute_mpi->proc~cudageterrorstring proc~execute~3 nvrtc_kernel%execute proc~execute_mpi->proc~execute~3 proc~run_mpi_a2a run_mpi_a2a proc~execute_mpi->proc~run_mpi_a2a proc~run_mpi_p2p run_mpi_p2p proc~execute_mpi->proc~run_mpi_p2p proc~int_to_str_int32 int_to_str_int32 interface~int_to_str->proc~int_to_str_int32 proc~int_to_str_int64 int_to_str_int64 interface~int_to_str->proc~int_to_str_int64 proc~int_to_str_int8 int_to_str_int8 interface~int_to_str->proc~int_to_str_int8 interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~execute~3->interface~int_to_str proc~execute~3->mpi_abort proc~execute~3->proc~cudageterrorstring interface~cudamemcpyasync cudaMemcpyAsync proc~execute~3->interface~cudamemcpyasync mpi_comm_rank mpi_comm_rank proc~execute~3->mpi_comm_rank 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 mpi_alltoallv_init mpi_alltoallv_init proc~run_mpi_a2a->mpi_alltoallv_init mpi_start mpi_start proc~run_mpi_a2a->mpi_start mpi_comm_size mpi_comm_size proc~run_mpi_p2p->mpi_comm_size mpi_recv_init mpi_recv_init proc~run_mpi_p2p->mpi_recv_init mpi_send_init mpi_send_init proc~run_mpi_p2p->mpi_send_init mpi_startall mpi_startall proc~run_mpi_p2p->mpi_startall interface~run_cuda_kernel run_cuda_kernel proc~culaunchkernel->interface~run_cuda_kernel