mqc_resources Module

Container type for calculation resources - extensible for future needs


Uses

  • module~~mqc_resources~~UsesGraph module~mqc_resources mqc_resources module~mqc_mpi_comms mqc_mpi_comms module~mqc_resources->module~mqc_mpi_comms pic_mpi_lib pic_mpi_lib module~mqc_mpi_comms->pic_mpi_lib

Used by

  • module~~mqc_resources~~UsedByGraph module~mqc_resources mqc_resources module~mqc_calculation_interface mqc_calculation_interface module~mqc_calculation_interface->module~mqc_resources module~mqc_driver mqc_driver module~mqc_driver->module~mqc_resources module~mqc_many_body_expansion mqc_many_body_expansion module~mqc_driver->module~mqc_many_body_expansion module~mqc_mbe_fragment_distribution_scheme mqc_mbe_fragment_distribution_scheme module~mqc_driver->module~mqc_mbe_fragment_distribution_scheme module~mqc_many_body_expansion->module~mqc_resources module~mqc_mbe_fragment_distribution_scheme->module~mqc_resources proc~gmbe_group_global_coordinator gmbe_group_global_coordinator proc~gmbe_group_global_coordinator->module~mqc_resources proc~gmbe_pie_coordinator gmbe_pie_coordinator proc~gmbe_pie_coordinator->module~mqc_resources proc~handle_group_node_requests~2 handle_group_node_requests proc~handle_group_node_requests~2->module~mqc_resources proc~handle_local_worker_requests_group~2 handle_local_worker_requests_group proc~handle_local_worker_requests_group~2->module~mqc_resources proc~handle_local_worker_results~2 handle_local_worker_results proc~handle_local_worker_results~2->module~mqc_resources proc~handle_node_results~2 handle_node_results proc~handle_node_results~2->module~mqc_resources program~main main program~main->module~mqc_resources program~main->module~mqc_driver module~mpi_fragment_work_smod mpi_fragment_work_smod module~mpi_fragment_work_smod->module~mqc_mbe_fragment_distribution_scheme module~mqc_gmbe_fragment_distribution_scheme mqc_gmbe_fragment_distribution_scheme module~mqc_gmbe_fragment_distribution_scheme->module~mqc_mbe_fragment_distribution_scheme module~mqc_hessian_distribution_scheme mqc_hessian_distribution_scheme module~mqc_hessian_distribution_scheme->module~mqc_mbe_fragment_distribution_scheme module~mqc_serial_fragment_processor mqc_serial_fragment_processor module~mqc_serial_fragment_processor->module~mqc_mbe_fragment_distribution_scheme module~mqc_unfragmented_workflow mqc_unfragmented_workflow module~mqc_unfragmented_workflow->module~mqc_mbe_fragment_distribution_scheme proc~compute_energy_and_forces compute_energy_and_forces proc~compute_energy_and_forces->module~mqc_driver proc~get_group_leader_rank get_group_leader_rank proc~get_group_leader_rank->module~mqc_many_body_expansion proc~global_coordinator global_coordinator proc~global_coordinator->module~mqc_many_body_expansion proc~global_coordinator_impl global_coordinator_impl proc~global_coordinator_impl->module~mqc_many_body_expansion proc~gmbe_run_distributed gmbe_context_t%gmbe_run_distributed proc~gmbe_run_distributed->module~mqc_mbe_fragment_distribution_scheme proc~gmbe_run_distributed->module~mqc_gmbe_fragment_distribution_scheme proc~group_global_coordinator_impl group_global_coordinator_impl proc~group_global_coordinator_impl->module~mqc_many_body_expansion proc~handle_group_node_requests handle_group_node_requests proc~handle_group_node_requests->module~mqc_many_body_expansion proc~handle_local_worker_requests handle_local_worker_requests proc~handle_local_worker_requests->module~mqc_many_body_expansion proc~handle_local_worker_requests_group handle_local_worker_requests_group proc~handle_local_worker_requests_group->module~mqc_many_body_expansion proc~handle_local_worker_results handle_local_worker_results proc~handle_local_worker_results->module~mqc_many_body_expansion proc~handle_node_requests handle_node_requests proc~handle_node_requests->module~mqc_many_body_expansion proc~handle_node_results handle_node_results proc~handle_node_results->module~mqc_many_body_expansion proc~mbe_run_distributed mbe_context_t%mbe_run_distributed proc~mbe_run_distributed->module~mqc_mbe_fragment_distribution_scheme proc~mbe_run_serial mbe_context_t%mbe_run_serial proc~mbe_run_serial->module~mqc_mbe_fragment_distribution_scheme proc~node_coordinator node_coordinator proc~node_coordinator->module~mqc_many_body_expansion proc~node_coordinator_impl node_coordinator_impl proc~node_coordinator_impl->module~mqc_many_body_expansion proc~node_worker node_worker proc~node_worker->module~mqc_many_body_expansion proc~node_worker_impl node_worker_impl proc~node_worker_impl->module~mqc_many_body_expansion proc~gmbe_run_serial gmbe_context_t%gmbe_run_serial proc~gmbe_run_serial->module~mqc_gmbe_fragment_distribution_scheme

Derived Types

type, public ::  resources_t

Container for calculation resources

Read more…

Components

Type Visibility Attributes Name Initial
type(mpi_comms_t), public :: mpi_comms

MPI communicators

integer, public :: num_gpus = 0

Available GPUs

integer, public :: num_threads = 1

OpenMP threads

logical, public :: use_gpu = .false.

GPU acceleration flag

Type-Bound Procedures

procedure, public :: finalize => resources_finalize
procedure, public :: init => resources_init

Subroutines

private subroutine resources_finalize(this)

Clean up resources

Arguments

Type IntentOptional Attributes Name
class(resources_t), intent(inout) :: this

private subroutine resources_init(this)

Initialize resources with default values

Arguments

Type IntentOptional Attributes Name
class(resources_t), intent(inout) :: this