prepare_probe Subroutine

public subroutine prepare_probe(ctx)

Decides the FFT probe once per run and runs it. The small-grid probe gives the context and the heap. The full-grid probe follows when the mode allows and the card has room for the memory the plans need. The decision is in ctx%probe_plan and ctx%probe_reason (see ensure_probe in the device).

Arguments

Type IntentOptional Attributes Name
type(memcheck_ctx_t), intent(inout) :: ctx

Calls

proc~~prepare_probe~~CallsGraph proc~prepare_probe m_memcheck_estimate::prepare_probe none~ensure_probe m_cuda_memcheck_device::cuda_memcheck_device_t%ensure_probe proc~prepare_probe->none~ensure_probe none~mem_info m_cuda_memcheck_device::cuda_memcheck_device_t%mem_info proc~prepare_probe->none~mem_info none~query_plan_need m_cuda_memcheck_device::cuda_memcheck_device_t%query_plan_need proc~prepare_probe->none~query_plan_need none~use_predicted_heap m_cuda_memcheck_device::cuda_memcheck_device_t%use_predicted_heap proc~prepare_probe->none~use_predicted_heap proc~cuda_fft_spectral_dims m_cuda_poisson_fft::cuda_fft_spectral_dims proc~prepare_probe->proc~cuda_fft_spectral_dims proc~spectral_slab_bytes m_memory_estimate::spectral_slab_bytes proc~prepare_probe->proc~spectral_slab_bytes proc~to_gib m_memcheck_estimate::to_gib proc~prepare_probe->proc~to_gib none~ensure_probe->none~mem_info proc~abort_run m_logger::abort_run none~ensure_probe->proc~abort_run proc~fft_workspace_bytes_query m_cuda_memcheck_device::fft_workspace_bytes_query none~ensure_probe->proc~fft_workspace_bytes_query cudamemgetinfo cudamemgetinfo none~mem_info->cudamemgetinfo none~mem_info->proc~abort_run none~query_plan_need->proc~abort_run none~query_plan_need->proc~fft_workspace_bytes_query proc~predicted_fft_heap_bytes m_memory_estimate::predicted_fft_heap_bytes none~query_plan_need->proc~predicted_fft_heap_bytes proc~round_up_bytes m_memory_estimate::round_up_bytes none~query_plan_need->proc~round_up_bytes 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~fft_workspace_bytes_query->cudamemgetinfo proc~fft_workspace_bytes_query->proc~abort_run cufftdestroy cufftdestroy proc~fft_workspace_bytes_query->cufftdestroy cufftxtfree cufftxtfree proc~fft_workspace_bytes_query->cufftxtfree cufftxtmalloc cufftxtmalloc proc~fft_workspace_bytes_query->cufftxtmalloc proc~create_fft_plan_pair m_cuda_poisson_fft::create_fft_plan_pair proc~fft_workspace_bytes_query->proc~create_fft_plan_pair proc~cuda_fft_plan_setup m_cuda_poisson_fft::cuda_fft_plan_setup proc~fft_workspace_bytes_query->proc~cuda_fft_plan_setup proc~predicted_fft_heap_bytes->proc~round_up_bytes proc~create_fft_plan_pair->cufftdestroy proc~check_cufft m_cuda_errors::check_cufft proc~create_fft_plan_pair->proc~check_cufft proc~create_fft_plan m_cuda_poisson_fft::create_fft_plan proc~create_fft_plan_pair->proc~create_fft_plan proc~check_cufft->proc~abort_run proc~check_cufft->interface~str proc~create_fft_plan->cufftdestroy proc~create_fft_plan->interface~str proc~create_fft_plan->proc~check_cufft cufftcreate cufftcreate proc~create_fft_plan->cufftcreate cufftmakeplan3d cufftmakeplan3d proc~create_fft_plan->cufftmakeplan3d cufftmpattachcomm cufftmpattachcomm proc~create_fft_plan->cufftmpattachcomm cufftsetautoallocation cufftsetautoallocation proc~create_fft_plan->cufftsetautoallocation proc~log_warn m_logger::log_warn proc~create_fft_plan->proc~log_warn proc~log_warn->interface~str proc~log_warn->mpi_comm_rank proc~log_warn->mpi_comm_size proc~log_warn->mpi_finalized proc~log_warn->mpi_initialized

Called by

proc~~prepare_probe~~CalledByGraph proc~prepare_probe m_memcheck_estimate::prepare_probe proc~report m_memcheck_report::report proc~report->proc~prepare_probe program~x3d2_memcheck x3d2_memcheck program~x3d2_memcheck->proc~report