vector_norm_squared_cuda Function

public function vector_norm_squared_cuda(self, a, b, c) result(norm_squared)

Global sum of a2 + b2 + c**2, with one MPI reduction.

Type Bound

cuda_backend_t

Arguments

Type IntentOptional Attributes Name
class(cuda_backend_t) :: self
class(field_t), intent(in) :: a
class(field_t), intent(in) :: b
class(field_t), intent(in) :: c

Return Value real(kind=dp)


Calls

proc~~vector_norm_squared_cuda~~CallsGraph proc~vector_norm_squared_cuda m_cuda_backend::cuda_backend_t%vector_norm_squared_cuda dim3 dim3 proc~vector_norm_squared_cuda->dim3 mpi_allreduce mpi_allreduce proc~vector_norm_squared_cuda->mpi_allreduce proc~abort_run m_logger::abort_run proc~vector_norm_squared_cuda->proc~abort_run proc~get_dims m_mesh::mesh_t%get_dims proc~vector_norm_squared_cuda->proc~get_dims proc~get_padded_dims m_allocator::allocator_t%get_padded_dims proc~vector_norm_squared_cuda->proc~get_padded_dims proc~resolve_field_t~2 m_cuda_backend::resolve_field_t proc~vector_norm_squared_cuda->proc~resolve_field_t~2 proc~vector_norm_squared~2 m_cuda_kernels_fieldops::vector_norm_squared proc~vector_norm_squared_cuda->proc~vector_norm_squared~2 interface~str m_logger::str 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 proc~get_dims_dataloc m_mesh::get_dims_dataloc proc~get_dims->proc~get_dims_dataloc atomicadd atomicadd proc~vector_norm_squared~2->atomicadd