Parsl Configuration
- class parsl_configs.perlmutter.PerlmutterConfig(*args: Any, **kwargs: Any)
Bases:
ConfigParsl 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, multi-node.
CGCNN Executor (cgcnn_executor): run on GPU, multi-node.
Select Structures Executor (select_structures_executor): run on CPU, single-node.
VASP Executor (vasp_executor): run on GPU, multi-node.
Post-processing Executor (post_processing): run on GPU, multi-node.
- Parameters:
json_config (dict) –
- Required keys:
vasp_nnodes(int): Number of GPU nodes to use for VASP calculations.num_cores(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(configs_dir)
Automatically discover and import all modules that contain a Parsl Configuration.
Scans the specified directory and detects the calls to
register_parsl_config(), so the Parsl configurations can be selected at runtime.- Parameters:
configs_dir (str) – Path to a directory containing user Parsl config *.py files.
- 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.
The configuration name is provided via the
parsl_configfield inConfigManager.- Parameters:
config (dict) – Must contain the key
parsl_configandparsl_configs_dir- 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_configparameter 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.