Skip to content

Commit e6820d9

Browse files
lgarg26facebook-github-bot
authored andcommitted
allow configurable scheduler load group
Summary: Allow configurable scheduler load group for clean scheduler splits Differential Revision: D67290464
1 parent c1a195a commit e6820d9

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

torchx/runner/config.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,10 @@ def _configparser() -> configparser.ConfigParser:
197197

198198

199199
def _get_scheduler(name: str) -> Scheduler:
200-
schedulers = get_scheduler_factories()
200+
schedulers = {
201+
**get_scheduler_factories(),
202+
**get_scheduler_factories(group="torchx.schedulers.orchestrator"),
203+
}
201204
if name not in schedulers:
202205
raise ValueError(
203206
f"`{name}` is not a registered scheduler. Valid scheduler names: {schedulers.keys()}"

torchx/schedulers/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ def run(*args: object, **kwargs: object) -> Scheduler:
4242
return run
4343

4444

45-
def get_scheduler_factories() -> Dict[str, SchedulerFactory]:
45+
def get_scheduler_factories(
46+
group: str = "torchx.schedulers",
47+
) -> Dict[str, SchedulerFactory]:
4648
"""
47-
get_scheduler_factories returns all the available schedulers names and the
49+
get_scheduler_factories returns all the available schedulers names under `group` and the
4850
method to instantiate them.
4951
5052
The first scheduler in the dictionary is used as the default scheduler.
@@ -55,7 +57,7 @@ def get_scheduler_factories() -> Dict[str, SchedulerFactory]:
5557
default_schedulers[scheduler] = _defer_load_scheduler(path)
5658

5759
return load_group(
58-
"torchx.schedulers",
60+
group,
5961
default=default_schedulers,
6062
)
6163

0 commit comments

Comments
 (0)