Skip to content

Commit 8fe0728

Browse files
committed
Set default resources on submit and use calculated resource numbers in
templates.
1 parent 41d4ee7 commit 8fe0728

File tree

5 files changed

+22
-19
lines changed

5 files changed

+22
-19
lines changed

src/psij/executors/batch/cobalt/cobalt.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
#COBALT --cwd={{.}}
77
{{/job.spec.directory}}
88
{{#job.spec.resources}}
9-
{{#node_count}}
9+
{{#computed_node_count}}
1010
#COBALT --nodecount={{.}}
11-
{{/node_count}}
12-
{{#process_count}}
11+
{{/computed_node_count}}
12+
{{#computed_process_count}}
1313
#COBALT --proccount={{.}}
14-
{{/process_count}}
14+
{{/computed_process_count}}
1515
{{/job.spec.resources}}
1616
{{#formatted_job_duration}}
1717
#COBALT --time={{duration}}

src/psij/executors/batch/lsf/lsf.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020

2121
{{#job.spec.resources}}
2222

23-
{{#node_count}}
23+
{{#computed_node_count}}
2424
#BSUB -nnodes {{.}}
25-
{{/node_count}}
25+
{{/computed_node_count}}
2626

27-
{{#process_count}}
27+
{{#computed_process_count}}
2828
#BSUB -n {{.}}
29-
{{/process_count}}
29+
{{/computed_process_count}}
3030

3131
{{#gpu_cores_per_process}}
3232
#BSUB -gpu num={{.}}/task

src/psij/executors/batch/slurm/slurm.mustache

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@
1414
#SBATCH --exclusive
1515
{{/exclusive_node_use}}
1616

17-
{{#node_count}}
17+
{{#computed_node_count}}
1818
#SBATCH --nodes={{.}}
19-
{{/node_count}}
19+
{{/computed_node_count}}
2020

21-
{{#process_count}}
21+
{{#computed_process_count}}
2222
#SBATCH --ntasks={{.}}
23-
{{/process_count}}
23+
{{/computed_process_count}}
2424

25-
{{#processes_per_node}}
25+
{{#computed_ppn}}
2626
#SBATCH --ntasks-per-node={{.}}
27-
{{/processes_per_node}}
27+
{{/computed_ppn}}
2828

2929
{{#gpu_cores_per_process}}
3030
#SBATCH --gpus-per-task={{.}}
@@ -38,9 +38,6 @@
3838
#SBATCH --cpus-per-task={{.}}
3939
{{/cpu_cores_per_process}}
4040
{{/job.spec.resources}}
41-
{{^job.spec.resources}}
42-
#SBATCH --nodes=1
43-
{{/job.spec.resources}}
4441

4542
{{#formatted_job_duration}}
4643
#SBATCH --time={{.}}

src/psij/job_executor.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@
1414
from psij.job_executor_config import JobExecutorConfig
1515
from psij.job_launcher import Launcher
1616
from psij.job_spec import JobSpec
17+
from psij.resource_spec import ResourceSpecV1
1718

1819

1920
logger = logging.getLogger(__name__)
2021

2122

23+
_DEFAULT_RESOURCES = ResourceSpecV1()
24+
25+
2226
class JobExecutor(ABC):
2327
"""An abstract base class for all JobExecutor implementations."""
2428

@@ -92,6 +96,8 @@ def _check_job(self, job: Job) -> JobSpec:
9296
spec = job.spec
9397
if not spec:
9498
raise InvalidJobException('Missing specification')
99+
if not spec.resources:
100+
spec.resources = _DEFAULT_RESOURCES
95101

96102
if __debug__:
97103
if spec.environment is not None:

tests/plugins1/_batch_test/test/test.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ cd "{{.}}"
99
export PSIJ_TEST_BATCH_EXEC_COUNT=1
1010

1111
{{#job.spec.resources}}
12-
{{#process_count}}
12+
{{#computed_process_count}}
1313
export PSIJ_TEST_BATCH_EXEC_COUNT={{.}}
14-
{{/process_count}}
14+
{{/computed_process_count}}
1515
{{/job.spec.resources}}
1616

1717
{{#job.spec.attributes}}

0 commit comments

Comments
 (0)