Source code for IMLCV.configs.local_htex
from parsl.config import Config
from parsl.executors import HighThroughputExecutor
from parsl.launchers import SingleNodeLauncher
from parsl.providers import LocalProvider
[docs]def get_config(path_internal, py_env):
provider = LocalProvider(
min_blocks=1,
max_blocks=1,
nodes_per_block=1,
parallelism=0.5,
launcher=SingleNodeLauncher(),
)
provider_reference = LocalProvider(
min_blocks=1,
max_blocks=1,
nodes_per_block=1,
parallelism=0.5,
launcher=SingleNodeLauncher(),
worker_init=f"export OMP_NUM_THREADS=1;{py_env}",
)
executors = [
HighThroughputExecutor(
address="localhost",
label="training",
working_dir=str(path_internal / "training_executor"),
provider=provider,
max_workers=1,
),
HighThroughputExecutor(
address="localhost",
label="default",
working_dir=str(path_internal / "default_executor"),
provider=provider,
cores_per_worker=1,
),
HighThroughputExecutor(
address="localhost",
label="model",
working_dir=str(path_internal / "model_executor"),
provider=provider,
),
HighThroughputExecutor(
address="localhost",
label="reference",
working_dir=str(path_internal / "reference_executor"),
provider=provider_reference,
max_workers=1,
cores_per_worker=4,
cpu_affinity="block",
),
]
return Config(executors, run_dir=str(path_internal), usage_tracking=True)