slice_max_sum_kernel Subroutine

public subroutine slice_max_sum_kernel(max_f, sum_f, f, i_slice, n_i_pad, n_j)

Reduces a single slice f(i_slice, :, :) (in the kernel's packed-pencil indexing). Signed max/sum, no abs. One thread per (y, z) point.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), device :: max_f
real(kind=dp), intent(inout), device :: sum_f
real(kind=dp), intent(in), device, dimension(:, :, :) :: f
integer, intent(in), value :: i_slice
integer, intent(in), value :: n_i_pad
integer, intent(in), value :: n_j

Calls

proc~~slice_max_sum_kernel~~CallsGraph proc~slice_max_sum_kernel m_cuda_backend::slice_max_sum_kernel atomicadd atomicadd proc~slice_max_sum_kernel->atomicadd atomicmax atomicmax proc~slice_max_sum_kernel->atomicmax

Called by

proc~~slice_max_sum_kernel~~CalledByGraph proc~slice_max_sum_kernel m_cuda_backend::slice_max_sum_kernel proc~slice_max_sum_cuda m_cuda_backend::cuda_backend_t%slice_max_sum_cuda proc~slice_max_sum_cuda->proc~slice_max_sum_kernel