process_spectral_110_x_pair_fw_mirror Subroutine

public subroutine process_spectral_110_x_pair_fw_mirror(div_u, mirror, plane, nz_h, nx_l, ny, x_sp_st, ax, bx)

Multi-rank counterpart of process_spectral_110_x_pair_fw: the X paired split, but the partner mode lives on another rank, reached through the dim2 mirror exchange (see exchange_dim2_mirror). Unlike the single-rank kernel this only updates this rank's own modes; the partner rank updates its own copy the same way. At the global Nyquist mode (even grid size) the mirror partner is this rank's own pre-update value, so the formula below self-pairs it exactly as the single-rank kernel does.

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), device, dimension(:, :, :) :: div_u
complex(kind=dp), intent(in), device, dimension(:, :, :) :: mirror
complex(kind=dp), intent(in), device, dimension(:, :) :: plane
integer, intent(in), value :: nz_h
integer, intent(in), value :: nx_l
integer, intent(in), value :: ny
integer, intent(in), value :: x_sp_st
real(kind=dp), intent(in), device, dimension(:) :: ax
real(kind=dp), intent(in), device, dimension(:) :: bx

Calls

proc~~process_spectral_110_x_pair_fw_mirror~~CallsGraph proc~process_spectral_110_x_pair_fw_mirror m_cuda_spectral::process_spectral_110_x_pair_fw_mirror proc~pair_fw m_cuda_spectral::pair_fw proc~process_spectral_110_x_pair_fw_mirror->proc~pair_fw

Called by

proc~~process_spectral_110_x_pair_fw_mirror~~CalledByGraph proc~process_spectral_110_x_pair_fw_mirror m_cuda_spectral::process_spectral_110_x_pair_fw_mirror proc~fft_postprocess_110_cuda m_cuda_poisson_fft::cuda_poisson_fft_t%fft_postprocess_110_cuda proc~fft_postprocess_110_cuda->proc~process_spectral_110_x_pair_fw_mirror