halo_bytes Function

public pure function halo_bytes(padded_dims, sz, n_halo) result(nbytes8)

CUDA-backend halo-exchange buffer bytes. Mirrors the 24 allocate statements in src/backend/cuda/backend.f90:128-152: 12 arrays shaped (sz, n_halo, n_groups) for u/v/w send/recv start/end, plus 12 more shaped (sz, 1, n_groups) for du/dud/d2u send/recv start/end - all real(dp). n_groups is the max over X/Y/Z of ny_pnz_p/sz, nx_pnz_p/ sz, nx_pny_p/sz (src/allocator.f90:81-83, allocator_t% n_groups_dir/get_n_groups), where _p are the sz-padded dims (x/y padded via padded_dim, z untouched, same rule padded_cells uses).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: padded_dims(3)

[nx_padded, ny_padded, nz_padded]

integer, intent(in) :: sz
integer, intent(in) :: n_halo

Return Value integer(kind=i8)


Called by

proc~~halo_bytes~~CalledByGraph proc~halo_bytes m_memory_estimate::halo_bytes proc~padded_halo_bytes m_memory_estimate::padded_halo_bytes proc~padded_halo_bytes->proc~halo_bytes proc~fields_plus_halo_bytes_n m_memcheck_estimate::fields_plus_halo_bytes_n proc~fields_plus_halo_bytes_n->proc~padded_halo_bytes proc~estimate_for_num_gpus m_memcheck_estimate::estimate_for_num_gpus proc~estimate_for_num_gpus->proc~fields_plus_halo_bytes_n proc~run_build_mode m_memcheck_build::run_build_mode proc~run_build_mode->proc~fields_plus_halo_bytes_n proc~run_build_mode->proc~estimate_for_num_gpus proc~print_requested_line m_memcheck_report::print_requested_line proc~print_requested_line->proc~estimate_for_num_gpus proc~report m_memcheck_report::report proc~report->proc~estimate_for_num_gpus proc~report->proc~print_requested_line program~x3d2_memcheck x3d2_memcheck program~x3d2_memcheck->proc~run_build_mode program~x3d2_memcheck->proc~report