Parsl Configuration
- class parsl_configs.perlmutter.PerlmutterConfig(json_config)
Bases:
Config
Parsl configuration for running exa-AMD on Perlmutter.
This configuration defines four Parsl executors, each targeting a different part of the exa-AMD workflow and resource type:
Generate Structures Executor (generate_structures_executor): run on CPU, single-node.
CGCNN Executor (cgcnn_executor): run on GPU, single-node.
Select Structures Executor (select_structures_executor): run on CPU, single-node.
VASP Executor (vasp_executor): run on GPU, multi-node.
- Parameters:
json_config (dict) –
- Required keys:
vasp_nnodes
(int): Number of GPU nodes to use for VASP calculations.num_workers
(int): Number of workers to allocate per CPU node.
- parsl_configs.parsl_executors_labels.CGCNN_EXECUTOR_LABEL = 'cgcnn_executor_label'
Executor label used for CGCNN prediction tasks.
- parsl_configs.parsl_executors_labels.GENERATE_EXECUTOR_LABEL = 'generate_executor_label'
Executor label used for structure generation tasks.
- parsl_configs.parsl_executors_labels.POSTPROCESSING_LABEL = 'post_processing_label'
Executor label for all calculcations and scripts involved in the post-processing
- parsl_configs.parsl_executors_labels.SELECT_EXECUTOR_LABEL = 'select_executor_label'
Executor label used for structure selection tasks.
- parsl_configs.parsl_executors_labels.VASP_EXECUTOR_LABEL = 'vasp_executor_label'
Executor label used for all VASP-related Parsl tasks.
- parsl_configs.parsl_config_registry.auto_register_configs(package_name)
Automatically discover and import all modules that contains a Parsl Configuration.
Scans the specified package and detects the calls to
register_parsl_config()
, so the Parsl configurations can be selected at runtime.- Parameters:
package_name (str)
- Raises:
SystemExit – If the specified package cannot be found or loaded.
- parsl_configs.parsl_config_registry.get_parsl_config(config)
Retrieve and instantiate the registered Parsl config by name.
If the registry is empty, it auto-imports all modules from the default parsl_configs package using
auto_register_configs()
.The configuration is provided via the
parsl_config
field inConfigManager
.- Parameters:
config (dict) – Must contain the key
parsl_config
- Returns:
An instance of the selected Parsl configuration.
- Return type:
parsl.config.Config
- Raises:
SystemExit – If the specified config name is not registered.
- parsl_configs.parsl_config_registry.register_parsl_config(config_name, config_class)
Register a Parsl config class under a string name.
Can be called inside any module to make the defined configuration discoverable at runtime.
Once a configuration is registered, it can be selected dynamically at runtime using the
ConfigManager
, by setting theparsl_config
parameter to the corresponding name.- Parameters:
config_name (str) – The unique name that identifies the configuration.
config_class (type) – A callable or class that returns a Parsl Config object.