taps.executor.parsl¶
ParslLocalConfig ¶
Bases: ExecutorConfig
Local ParslPoolExecutor plugin configuration.
Simple Parsl configuration that uses the
HighThroughputExecutor
on the local node.
Attributes:
get_executor() ¶
Create an executor instance from the config.
Source code in taps/executor/parsl.py
ParslHTExConfig ¶
Bases: ExecutorConfig
HTEx ParslPoolExecutor plugin configuration.
These parameters are a subset of
parsl.config.Config.
For simple, single-node HTEx deployments, prefer
ParslLocalConfig.
Attributes:
-
htex(HTExConfig) –HTEx configuration.
-
app_cache(Optional[bool]) –Enable app caching.
-
retries(int) –Number of retries in case of task failure.
-
strategy(Optional[str]) –Block scaling strategy.
-
max_idletime(Optional[float]) –Max idle time before strategy can shutdown unused blocks.
-
run_dir(str) –Parsl run directory.
get_executor() ¶
Create an executor instance from the config.
Source code in taps/executor/parsl.py
HTExConfig ¶
Bases: BaseModel
Configuration for Parl's parsl.executors.HighThroughputExecutor.
Note
Optional attributes will default to Parsl's default values.
Note
Extra options passed to this model will be provided as keyword
arguments to
parsl.executors.HighThroughputExecutor.
Attributes:
-
provider(Optional[ProviderConfig]) –Configuration for the compute resource provider.
-
address(Optional[Union[str, AddressConfig]]) –Address to connect to the main Parsl process.
-
worker_ports(Optional[Tuple[int, int]]) –Ports used by workers to connect to Parsl.
-
worker_port_range(Optional[Tuple[int, int]]) –Range of ports to choose worker ports from.
-
interchange_port_range(Optional[Tuple[int, int]]) –Ports used by Parsl to connect to the interchange.
get_executor() ¶
get_executor() -> HighThroughputExecutor
Create an executor instance from the config.
Source code in taps/executor/parsl.py
AddressConfig ¶
ProviderConfig ¶
Bases: BaseModel
Parsl execution provider configuration.
Example
Create a provider configuration and call
get_provider().
from taps.executor.config import ProviderConfig
config = ProviderConfig(
kind='PBSProProvider',
account='my-account',
cpus_per_node=32,
init_blocks=1,
max_blocks=1,
min_blocks=0,
nodes_per_block=1,
queue='debug',
select_options='ngpus=4',
walltime='00:30:00',
worker_init='module load conda',
)
config.get_provider()
get_provider() ¶
get_provider() -> ExecutionProvider
Create a provider from the configuration.
Source code in taps/executor/parsl.py
LauncherConfig ¶
Bases: BaseModel
Parsl launcher configuration.
Example
Create a launcher configuration and call
get_launcher().