transeq_cuda_dist Subroutine

public subroutine transeq_cuda_dist(self, du, dv, dw, u, v, w, nu, dirps, blocks, threads)

Type Bound

cuda_backend_t

Arguments

Type IntentOptional Attributes Name
class(cuda_backend_t) :: self
class(field_t), intent(inout) :: du
class(field_t), intent(inout) :: dv
class(field_t), intent(inout) :: dw
class(field_t), intent(in) :: u
class(field_t), intent(in) :: v
class(field_t), intent(in) :: w
real(kind=dp), intent(in) :: nu
type(dirps_t), intent(in) :: dirps
type(dim3), intent(in) :: blocks
type(dim3), intent(in) :: threads

Calls

proc~~transeq_cuda_dist~~CallsGraph proc~transeq_cuda_dist m_cuda_backend::cuda_backend_t%transeq_cuda_dist none~get_n m_mesh::mesh_t%get_n proc~transeq_cuda_dist->none~get_n proc~copy_into_buffers~3 m_cuda_backend::copy_into_buffers proc~transeq_cuda_dist->proc~copy_into_buffers~3 proc~exec_dist_transeq_3fused~2 m_cuda_exec_dist::exec_dist_transeq_3fused proc~transeq_cuda_dist->proc~exec_dist_transeq_3fused~2 proc~get_block m_allocator::allocator_t%get_block proc~transeq_cuda_dist->proc~get_block proc~get_n_groups m_allocator::allocator_t%get_n_groups proc~transeq_cuda_dist->proc~get_n_groups proc~release_block m_allocator::allocator_t%release_block proc~transeq_cuda_dist->proc~release_block proc~resolve_field_t~2 m_cuda_backend::resolve_field_t proc~transeq_cuda_dist->proc~resolve_field_t~2 proc~sendrecv_3fields m_cuda_sendrecv::sendrecv_3fields proc~transeq_cuda_dist->proc~sendrecv_3fields proc~set_data_loc m_field::field_t%set_data_loc proc~transeq_cuda_dist->proc~set_data_loc proc~get_n_dir m_mesh::mesh_t%get_n_dir none~get_n->proc~get_n_dir proc~get_n_phi m_mesh::mesh_t%get_n_phi none~get_n->proc~get_n_phi dim3 dim3 proc~copy_into_buffers~3->dim3 proc~buffer_copy~2 m_cuda_kernels_fieldops::buffer_copy proc~copy_into_buffers~3->proc~buffer_copy~2 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 proc~create_block m_allocator::allocator_t%create_block proc~get_block->proc~create_block proc~set_shape m_field::field_t%set_shape proc~get_block->proc~set_shape 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~get_n_phi->none~get_n 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~~transeq_cuda_dist~~CalledByGraph proc~transeq_cuda_dist m_cuda_backend::cuda_backend_t%transeq_cuda_dist 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