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~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 m_cuda_backend::resolve_field_t proc~vector_norm_squared_cuda->proc~resolve_field_t proc~vector_norm_squared m_cuda_kernels_fieldops::vector_norm_squared proc~vector_norm_squared_cuda->proc~vector_norm_squared proc~get_dims_dataloc m_mesh::get_dims_dataloc proc~get_dims->proc~get_dims_dataloc atomicadd atomicadd proc~vector_norm_squared->atomicadd