exec_dist_transeq_3fused Subroutine

public subroutine exec_dist_transeq_3fused(r_du, u, u_recv_s, u_recv_e, v, v_recv_s, v_recv_e, dud, d2u, du_send_s, du_send_e, du_recv_s, du_recv_e, dud_send_s, dud_send_e, dud_recv_s, dud_recv_e, d2u_send_s, d2u_send_e, d2u_recv_s, d2u_recv_e, tdsops_du, tdsops_dud, tdsops_d2u, nu, nproc, pprev, pnext, blocks, threads)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), device, dimension(:, :, :) :: r_du

The result array, it is also used as temporary storage

real(kind=dp), intent(in), device, dimension(:, :, :) :: u
real(kind=dp), intent(in), device, dimension(:, :, :) :: u_recv_s
real(kind=dp), intent(in), device, dimension(:, :, :) :: u_recv_e
real(kind=dp), intent(in), device, dimension(:, :, :) :: v
real(kind=dp), intent(in), device, dimension(:, :, :) :: v_recv_s
real(kind=dp), intent(in), device, dimension(:, :, :) :: v_recv_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: dud
real(kind=dp), intent(out), device, dimension(:, :, :) :: d2u
real(kind=dp), intent(out), device, dimension(:, :, :) :: du_send_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: du_send_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: du_recv_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: du_recv_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: dud_send_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: dud_send_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: dud_recv_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: dud_recv_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: d2u_send_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: d2u_send_e
real(kind=dp), intent(out), device, dimension(:, :, :) :: d2u_recv_s
real(kind=dp), intent(out), device, dimension(:, :, :) :: d2u_recv_e
type(cuda_tdsops_t), intent(in) :: tdsops_du
type(cuda_tdsops_t), intent(in) :: tdsops_dud
type(cuda_tdsops_t), intent(in) :: tdsops_d2u
real(kind=dp), intent(in) :: nu
integer, intent(in) :: nproc
integer, intent(in) :: pprev
integer, intent(in) :: pnext
type(dim3), intent(in) :: blocks
type(dim3), intent(in) :: threads

Calls

proc~~exec_dist_transeq_3fused~2~~CallsGraph proc~exec_dist_transeq_3fused~2 m_cuda_exec_dist::exec_dist_transeq_3fused proc~sendrecv_3fields m_cuda_sendrecv::sendrecv_3fields proc~exec_dist_transeq_3fused~2->proc~sendrecv_3fields proc~transeq_3fused_dist~2 m_cuda_kernels_dist::transeq_3fused_dist proc~exec_dist_transeq_3fused~2->proc~transeq_3fused_dist~2 proc~transeq_3fused_subs~2 m_cuda_kernels_dist::transeq_3fused_subs proc~exec_dist_transeq_3fused~2->proc~transeq_3fused_subs~2 cudastreamsynchronize cudastreamsynchronize proc~sendrecv_3fields->cudastreamsynchronize mpi_irecv mpi_irecv proc~sendrecv_3fields->mpi_irecv mpi_isend mpi_isend proc~sendrecv_3fields->mpi_isend mpi_waitall mpi_waitall proc~sendrecv_3fields->mpi_waitall proc~check_cuda m_cuda_errors::check_cuda proc~sendrecv_3fields->proc~check_cuda proc~check_mpi m_logger::check_mpi proc~sendrecv_3fields->proc~check_mpi proc~copy_halo m_cuda_sendrecv::copy_halo proc~sendrecv_3fields->proc~copy_halo cudageterrorstring cudageterrorstring proc~check_cuda->cudageterrorstring interface~str m_logger::str proc~check_cuda->interface~str proc~abort_run m_logger::abort_run proc~check_cuda->proc~abort_run proc~check_mpi->interface~str mpi_error_string mpi_error_string proc~check_mpi->mpi_error_string proc~check_mpi->proc~abort_run proc~copy_halo->proc~abort_run proc~abort_run->interface~str mpi_abort mpi_abort proc~abort_run->mpi_abort mpi_barrier mpi_barrier proc~abort_run->mpi_barrier mpi_comm_rank mpi_comm_rank proc~abort_run->mpi_comm_rank mpi_comm_size mpi_comm_size proc~abort_run->mpi_comm_size mpi_finalized mpi_finalized proc~abort_run->mpi_finalized mpi_initialized mpi_initialized proc~abort_run->mpi_initialized

Called by

proc~~exec_dist_transeq_3fused~2~~CalledByGraph proc~exec_dist_transeq_3fused~2 m_cuda_exec_dist::exec_dist_transeq_3fused proc~transeq_cuda_dist m_cuda_backend::cuda_backend_t%transeq_cuda_dist proc~transeq_cuda_dist->proc~exec_dist_transeq_3fused~2 proc~transeq_species_cuda m_cuda_backend::cuda_backend_t%transeq_species_cuda proc~transeq_species_cuda->proc~exec_dist_transeq_3fused~2 proc~transeq_x_cuda m_cuda_backend::cuda_backend_t%transeq_x_cuda proc~transeq_x_cuda->proc~transeq_cuda_dist proc~transeq_y_cuda m_cuda_backend::cuda_backend_t%transeq_y_cuda proc~transeq_y_cuda->proc~transeq_cuda_dist proc~transeq_z_cuda m_cuda_backend::cuda_backend_t%transeq_z_cuda proc~transeq_z_cuda->proc~transeq_cuda_dist