m_cuda_exec_dist Module


Uses

  • module~~m_cuda_exec_dist~~UsesGraph module~m_cuda_exec_dist m_cuda_exec_dist cudafor cudafor module~m_cuda_exec_dist->cudafor module~m_common m_common module~m_cuda_exec_dist->module~m_common module~m_cuda_common m_cuda_common module~m_cuda_exec_dist->module~m_cuda_common module~m_cuda_kernels_dist m_cuda_kernels_dist module~m_cuda_exec_dist->module~m_cuda_kernels_dist module~m_cuda_sendrecv m_cuda_sendrecv module~m_cuda_exec_dist->module~m_cuda_sendrecv module~m_cuda_tdsops m_cuda_tdsops module~m_cuda_exec_dist->module~m_cuda_tdsops mpi mpi module~m_cuda_exec_dist->mpi module~m_cuda_kernels_dist->cudafor module~m_cuda_kernels_dist->module~m_common module~m_cuda_sendrecv->cudafor module~m_cuda_sendrecv->module~m_common module~m_cuda_sendrecv->mpi module~m_cuda_tdsops->module~m_common iso_fortran_env iso_fortran_env module~m_cuda_tdsops->iso_fortran_env module~m_tdsops m_tdsops module~m_cuda_tdsops->module~m_tdsops module~m_tdsops->module~m_common module~m_tdsops->iso_fortran_env

Used by

  • module~~m_cuda_exec_dist~~UsedByGraph module~m_cuda_exec_dist m_cuda_exec_dist module~m_cuda_backend m_cuda_backend module~m_cuda_backend->module~m_cuda_exec_dist program~xcompact xcompact program~xcompact->module~m_cuda_backend

Subroutines

public subroutine exec_dist_tds_compact(du, u, u_recv_s, u_recv_e, du_send_s, du_send_e, du_recv_s, du_recv_e, tdsops, nproc, pprev, pnext, blocks, threads)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), device, dimension(:, :, :) :: du
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(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
type(cuda_tdsops_t), intent(in) :: tdsops
integer, intent(in) :: nproc
integer, intent(in) :: pprev
integer, intent(in) :: pnext
type(dim3), intent(in) :: blocks
type(dim3), intent(in) :: threads

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, der1st, der2nd, 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) :: der1st
type(cuda_tdsops_t), intent(in) :: der2nd
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