m_memcheck_report Module

Printed report of x3d2-memcheck: header, tables and verdict lines.


Uses

  • module~~m_memcheck_report~~UsesGraph module~m_memcheck_report m_memcheck_report module~m_common m_common module~m_memcheck_report->module~m_common module~m_cuda_memcheck_device m_cuda_memcheck_device module~m_memcheck_report->module~m_cuda_memcheck_device module~m_logger m_logger module~m_memcheck_report->module~m_logger module~m_memcheck_context m_memcheck_context module~m_memcheck_report->module~m_memcheck_context module~m_memcheck_estimate m_memcheck_estimate module~m_memcheck_report->module~m_memcheck_estimate module~m_memory_estimate m_memory_estimate module~m_memcheck_report->module~m_memory_estimate module~m_common->module~m_logger m_mpi m_mpi module~m_common->m_mpi module~m_cuda_memcheck_device->module~m_common module~m_cuda_memcheck_device->module~m_logger module~m_cuda_memcheck_device->module~m_memory_estimate cudafor cudafor module~m_cuda_memcheck_device->cudafor cufft cufft module~m_cuda_memcheck_device->cufft cufftXt cufftXt module~m_cuda_memcheck_device->cufftXt iso_c_binding iso_c_binding module~m_cuda_memcheck_device->iso_c_binding module~m_base_case m_base_case module~m_cuda_memcheck_device->module~m_base_case module~m_cuda_common m_cuda_common module~m_cuda_memcheck_device->module~m_cuda_common module~m_cuda_poisson_fft m_cuda_poisson_fft module~m_cuda_memcheck_device->module~m_cuda_poisson_fft module~m_mesh m_mesh module~m_cuda_memcheck_device->module~m_mesh iso_fortran_env iso_fortran_env module~m_logger->iso_fortran_env module~m_logger->m_mpi module~m_memcheck_context->module~m_common module~m_memcheck_context->module~m_cuda_memcheck_device module~m_memcheck_context->module~m_logger module~m_config m_config module~m_memcheck_context->module~m_config module~m_memcheck_context->module~m_mesh module~m_memcheck_estimate->module~m_common module~m_memcheck_estimate->module~m_logger module~m_memcheck_estimate->module~m_memcheck_context module~m_memcheck_estimate->module~m_memory_estimate module~m_memcheck_estimate->module~m_cuda_poisson_fft module~m_memory_estimate->module~m_common module~m_allocator m_allocator module~m_memory_estimate->module~m_allocator module~m_memory_estimate->module~m_config module~m_time_integrator m_time_integrator module~m_memory_estimate->module~m_time_integrator module~m_allocator->module~m_common module~m_field m_field module~m_allocator->module~m_field module~m_base_case->module~m_common module~m_base_case->module~m_logger module~m_base_case->m_mpi module~m_base_case->module~m_allocator module~m_base_case->module~m_config module~m_base_case->module~m_mesh module~m_base_backend m_base_backend module~m_base_case->module~m_base_backend module~m_base_case->module~m_field module~m_io_manager m_io_manager module~m_base_case->module~m_io_manager module~m_monitoring m_monitoring module~m_base_case->module~m_monitoring module~m_postprocess m_postprocess module~m_base_case->module~m_postprocess module~m_solver m_solver module~m_base_case->module~m_solver module~m_config->module~m_common module~m_config->module~m_logger module~m_config->iso_fortran_env module~m_cuda_poisson_fft->module~m_common module~m_cuda_poisson_fft->module~m_logger module~m_cuda_poisson_fft->cudafor module~m_cuda_poisson_fft->cufft module~m_cuda_poisson_fft->cufftXt module~m_cuda_poisson_fft->iso_c_binding module~m_cuda_poisson_fft->m_mpi module~m_cuda_poisson_fft->module~m_mesh module~m_cuda_allocator m_cuda_allocator module~m_cuda_poisson_fft->module~m_cuda_allocator module~m_cuda_errors m_cuda_errors module~m_cuda_poisson_fft->module~m_cuda_errors module~m_cuda_sendrecv m_cuda_sendrecv module~m_cuda_poisson_fft->module~m_cuda_sendrecv module~m_cuda_spectral m_cuda_spectral module~m_cuda_poisson_fft->module~m_cuda_spectral module~m_cuda_poisson_fft->module~m_field module~m_poisson_fft m_poisson_fft module~m_cuda_poisson_fft->module~m_poisson_fft module~m_tdsops m_tdsops module~m_cuda_poisson_fft->module~m_tdsops module~m_mesh->module~m_common module~m_mesh->module~m_logger module~m_mesh->m_mpi module~m_mesh->module~m_field module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_time_integrator->module~m_common module~m_time_integrator->module~m_logger module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_time_integrator->module~m_field module~m_base_backend->module~m_common module~m_base_backend->module~m_logger module~m_base_backend->iso_c_binding module~m_base_backend->m_mpi module~m_base_backend->module~m_allocator module~m_base_backend->module~m_mesh module~m_base_backend->module~m_field module~m_base_backend->module~m_poisson_fft module~m_base_backend->module~m_tdsops module~m_cuda_allocator->module~m_common module~m_cuda_allocator->module~m_allocator module~m_cuda_allocator->module~m_mesh module~m_cuda_allocator->module~m_field module~m_cuda_errors->module~m_logger module~m_cuda_errors->cudafor module~m_cuda_sendrecv->module~m_common module~m_cuda_sendrecv->module~m_logger module~m_cuda_sendrecv->cudafor module~m_cuda_sendrecv->m_mpi module~m_cuda_sendrecv->module~m_cuda_errors module~m_cuda_spectral->module~m_common module~m_cuda_spectral->cudafor module~m_field->module~m_common module~m_field->iso_c_binding module~m_io_manager->m_mpi module~m_io_manager->module~m_solver module~m_checkpoint_manager m_checkpoint_manager module~m_io_manager->module~m_checkpoint_manager module~m_checkpoint_state m_checkpoint_state module~m_io_manager->module~m_checkpoint_state module~m_snapshot_manager m_snapshot_manager module~m_io_manager->module~m_snapshot_manager module~m_stats m_stats module~m_io_manager->module~m_stats module~m_mesh_content->module~m_common module~m_mesh_content->module~m_logger module~m_monitoring->module~m_common module~m_monitoring->module~m_logger module~m_monitoring->module~m_field module~m_monitoring->module~m_solver module~m_scalar_series m_scalar_series module~m_monitoring->module~m_scalar_series module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_logger module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_tdsops module~m_postprocess->module~m_common module~m_postprocess->module~m_logger module~m_postprocess->module~m_field module~m_postprocess->module~m_solver module~m_solver->module~m_common module~m_solver->module~m_logger module~m_solver->module~m_allocator module~m_solver->module~m_config module~m_solver->module~m_mesh module~m_solver->module~m_time_integrator module~m_solver->module~m_base_backend module~m_solver->module~m_field module~m_solver->module~m_tdsops module~m_ibm m_ibm module~m_solver->module~m_ibm module~m_les m_les module~m_solver->module~m_les module~m_tdsops_setup m_tdsops_setup module~m_solver->module~m_tdsops_setup module~m_vector_calculus m_vector_calculus module~m_solver->module~m_vector_calculus module~m_tdsops->module~m_common module~m_tdsops->module~m_logger module~m_checkpoint_manager->module~m_common module~m_checkpoint_manager->module~m_logger module~m_checkpoint_manager->m_mpi module~m_checkpoint_manager->module~m_config module~m_checkpoint_manager->module~m_field module~m_checkpoint_manager->module~m_solver module~m_checkpoint_manager->module~m_checkpoint_state module~m_checkpoint_manager->module~m_stats module~m_io_field_utils m_io_field_utils module~m_checkpoint_manager->module~m_io_field_utils module~m_io_session m_io_session module~m_checkpoint_manager->module~m_io_session module~m_checkpoint_state->module~m_io_session module~m_ibm->module~m_common module~m_ibm->module~m_logger module~m_ibm->m_mpi module~m_ibm->module~m_allocator module~m_ibm->module~m_mesh module~m_ibm->module~m_base_backend module~m_ibm->module~m_field module~m_ibm->module~m_io_session module~m_les->module~m_common module~m_les->module~m_logger module~m_les->module~m_config module~m_les->module~m_mesh module~m_les->module~m_base_backend module~m_les->module~m_field module~m_les->module~m_tdsops module~m_scalar_series->module~m_common module~m_scalar_series->module~m_logger module~m_snapshot_manager->module~m_common module~m_snapshot_manager->module~m_logger module~m_snapshot_manager->m_mpi module~m_snapshot_manager->module~m_config module~m_snapshot_manager->module~m_field module~m_snapshot_manager->module~m_solver module~m_snapshot_manager->module~m_io_field_utils module~m_snapshot_manager->module~m_io_session module~m_stats->module~m_common module~m_stats->module~m_logger module~m_stats->module~m_config module~m_stats->module~m_field module~m_stats->module~m_solver module~m_stats->module~m_io_session module~m_tdsops_setup->module~m_common module~m_tdsops_setup->module~m_logger module~m_tdsops_setup->module~m_mesh module~m_tdsops_setup->module~m_base_backend module~m_tdsops_setup->module~m_tdsops module~m_vector_calculus->module~m_common module~m_vector_calculus->module~m_logger module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_field module~m_vector_calculus->module~m_tdsops module~m_io_field_utils->module~m_common module~m_io_field_utils->module~m_logger module~m_io_field_utils->module~m_field module~m_io_field_utils->module~m_solver module~m_io_base m_io_base module~m_io_field_utils->module~m_io_base module~m_nvtx m_nvtx module~m_io_field_utils->module~m_nvtx module~m_io_session->module~m_common module~m_io_session->module~m_logger module~m_io_session->module~m_base_backend module~m_io_session->module~m_field module~m_io_backend m_io_backend module~m_io_session->module~m_io_backend module~m_io_session->module~m_io_base module~m_io_backend->module~m_common module~m_io_backend->module~m_logger module~m_io_backend->module~m_base_backend module~m_io_backend->module~m_field module~m_io_backend->module~m_io_base module~m_io_base->module~m_common module~m_io_base->module~m_base_backend module~m_io_base->module~m_field module~m_nvtx->iso_c_binding

Used by

  • module~~m_memcheck_report~~UsedByGraph module~m_memcheck_report m_memcheck_report module~m_memcheck_build m_memcheck_build module~m_memcheck_build->module~m_memcheck_report program~x3d2_memcheck x3d2_memcheck program~x3d2_memcheck->module~m_memcheck_report program~x3d2_memcheck->module~m_memcheck_build

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: n_gpu_list(4) = [1, 2, 4, 8]

The GPU counts of the table. The CUDA backend only supports nproc_dir = [1,1,num_gpus].


Functions

public function card_shared_skip(emit_line) result(skipped)

True when another process changes its card memory by more than 128 MiB or an NVML sample fails. Log the skip line once when emit_line is true

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: emit_line

Return Value logical


Subroutines

public subroutine print_rule(fill)

A separator line of 60 characters.

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: fill

public subroutine print_table_header()

Arguments

None

public subroutine print_table_row(num_gpus, local_dims, workspace_gib, overhead_gib, per_gpu_gib, pct_denominator_gib, basis, verdict)

One table row. basis is the mark of the overhead (see basis_name).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: num_gpus
integer, intent(in) :: local_dims(3)
real(kind=dp), intent(in) :: workspace_gib
real(kind=dp), intent(in) :: overhead_gib
real(kind=dp), intent(in) :: per_gpu_gib
real(kind=dp), intent(in) :: pct_denominator_gib
character(len=*), intent(in) :: basis
character(len=*), intent(in) :: verdict

public subroutine print_requested_line(ctx)

The verdict line of the requested nproc_dir, or why it is not supported. Sets final_verdict.

Arguments

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

public subroutine report(ctx)

Arguments

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