molecular_simulations.utils.parsl_settings module

class molecular_simulations.utils.parsl_settings.BaseSettings(**data)[source]

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

dump_yaml(filename)[source]
Return type:

None

classmethod from_yaml(filename)[source]
Return type:

TypeVar(_T)

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.BaseComputeSettings(**data)[source]

Bases: ABC, BaseSettings

Compute settings (HPC platform, number of GPUs, etc).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

abstractmethod config_factory(run_dir)[source]

Create new Parsl configuration.

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.LocalSettings(**data)[source]

Bases: BaseComputeSettings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

available_accelerators: int | Sequence[str]
worker_init: str
nodes: int
retries: int
label: str
worker_port_range: tuple[int, int]
config_factory(run_dir)[source]

Create new Parsl configuration.

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.LocalCPUSettings(**data)[source]

Bases: BaseComputeSettings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

worker_init: str
nodes: int
max_workers_per_node: int
cores_per_worker: float
retries: int
label: str
worker_port_range: tuple[int, int]
available_accelerators: int | Sequence[str]
config_factory(run_dir)[source]

Create new Parsl configuration.

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.HeterogeneousSettings(**data)[source]

Bases: BaseComputeSettings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

worker_init: str
nodes: int
max_workers_per_node: int
cores_per_worker: float
retries: int
worker_port_range: tuple[int, int]
available_accelerators: int
config_factory(run_dir)[source]

Create new Parsl configuration.

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.PolarisSettings(**data)[source]

Bases: BaseComputeSettings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

label: str
num_nodes: int
worker_init: str
scheduler_options: str
account: str
queue: str
walltime: str
cpus_per_node: int
strategy: str
available_accelerators: int | Sequence[str]
config_factory(run_dir)[source]

Create a configuration suitable for running all tasks on single nodes of Polaris We will launch 4 workers per node, each pinned to a different GPU :param num_nodes: Number of nodes to use for the MPI parallel tasks :param user_options: Options for which account to use, location of environment files, etc :type run_dir: str | Path :param run_dir: Directory in which to store Parsl run files. Default: runinfo

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class molecular_simulations.utils.parsl_settings.AuroraSettings(**data)[source]

Bases: BaseComputeSettings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

label: str
worker_init: str
num_nodes: int
scheduler_options: str
account: str
queue: str
walltime: str
retries: int
cpus_per_node: int
strategy: str
available_accelerators: list[str]
config_factory(run_dir)[source]

Create a Parsl configuration for running on Aurora.

Return type:

Config

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].