Skip to content
This repository was archived by the owner on Sep 22, 2023. It is now read-only.

Commit edaf132

Browse files
committed
feat: Add --clsuter-mode option to run & start commands
1 parent c543b6a commit edaf132

File tree

1 file changed

+17
-4
lines changed
  • src/ai/backend/client/cli

1 file changed

+17
-4
lines changed

src/ai/backend/client/cli/run.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,8 @@ def _prepare_mount_arg(
357357
@click.option('--max-parallel', metavar='NUM', type=int, default=2,
358358
help='The maximum number of parallel sessions.')
359359
# resource spec
360-
@click.option('-m', '--mount', metavar='NAME[=PATH]', type=str, multiple=True,
360+
@click.option('-v', '--volume', '-m', '--mount', 'mount',
361+
metavar='NAME[=PATH]', type=str, multiple=True,
361362
help='User-owned virtual folder names to mount. '
362363
'If path is not provided, virtual folder will be mounted under /home/work. '
363364
'All virtual folders can only be mounted under /home/work. ')
@@ -369,6 +370,9 @@ def _prepare_mount_arg(
369370
'(e.g: -r cpu=2 -r mem=256 -r cuda.device=1)')
370371
@click.option('--cluster-size', metavar='NUMBER', type=int, default=1,
371372
help='The size of cluster in number of containers.')
373+
@click.option('--cluster-mode', metavar='MODE',
374+
type=click.Choice(['single-node', 'multi-node']), default='single-node',
375+
help='The mode of clustering.')
372376
@click.option('--resource-opts', metavar='KEY=VAL', type=str, multiple=True,
373377
help='Resource options for creating compute session. '
374378
'(e.g: shmem=64m)')
@@ -388,7 +392,8 @@ def run(image, files, name, # base args
388392
env, # execution environment
389393
bootstrap_script, rm, stats, tag, quiet, # extra options
390394
env_range, build_range, exec_range, max_parallel, # experiment support
391-
mount, scaling_group, resources, cluster_size, # resource spec
395+
mount, scaling_group, resources, # resource spec
396+
cluster_size, cluster_mode,
392397
resource_opts,
393398
domain, group, preopen): # resource grouping
394399
"""
@@ -482,6 +487,7 @@ def _run_legacy(session, idx, name, envs,
482487
max_wait=max_wait,
483488
no_reuse=no_reuse,
484489
cluster_size=cluster_size,
490+
cluster_mode=cluster_mode,
485491
mounts=mount,
486492
mount_map=mount_map,
487493
envs=envs,
@@ -575,6 +581,7 @@ async def _run(session, idx, name, envs,
575581
max_wait=max_wait,
576582
no_reuse=no_reuse,
577583
cluster_size=cluster_size,
584+
cluster_mode=cluster_mode,
578585
mounts=mount,
579586
mount_map=mount_map,
580587
envs=envs,
@@ -787,7 +794,8 @@ async def _run_cases():
787794
@click.option('--tag', type=str, default=None,
788795
help='User-defined tag string to annotate sessions.')
789796
# resource spec
790-
@click.option('-m', '--mount', metavar='NAME[=PATH]', type=str, multiple=True,
797+
@click.option('-v', '--volume', '-m', '--mount', 'mount',
798+
metavar='NAME[=PATH]', type=str, multiple=True,
791799
help='User-owned virtual folder names to mount. '
792800
'If path is not provided, virtual folder will be mounted under /home/work. '
793801
'All virtual folders can only be mounted under /home/work. ')
@@ -801,6 +809,9 @@ async def _run_cases():
801809
'The unit of mem(ory) is MiB.')
802810
@click.option('--cluster-size', metavar='NUMBER', type=int, default=1,
803811
help='The size of cluster in number of containers.')
812+
@click.option('--cluster-mode', metavar='MODE',
813+
type=click.Choice(['single-node', 'multi-node']), default='single-node',
814+
help='The mode of clustering.')
804815
@click.option('--resource-opts', metavar='KEY=VAL', type=str, multiple=True,
805816
help='Resource options for creating compute session '
806817
'(e.g: shmem=64m)')
@@ -817,7 +828,8 @@ def start(image, name, owner, # base args
817828
type, starts_at, startup_command, enqueue_only, max_wait, no_reuse, # job scheduling options
818829
env, # execution environment
819830
bootstrap_script, tag, # extra options
820-
mount, scaling_group, resources, cluster_size, # resource spec
831+
mount, scaling_group, resources, # resource spec
832+
cluster_size, cluster_mode,
821833
resource_opts,
822834
domain, group, preopen): # resource grouping
823835
"""
@@ -853,6 +865,7 @@ def start(image, name, owner, # base args
853865
max_wait=max_wait,
854866
no_reuse=no_reuse,
855867
cluster_size=cluster_size,
868+
cluster_mode=cluster_mode,
856869
mounts=mount,
857870
mount_map=mount_map,
858871
envs=envs,

0 commit comments

Comments
 (0)