snakemake-executor-plugin-slurm 1.5.0__py3-none-any.whl → 1.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of snakemake-executor-plugin-slurm might be problematic. Click here for more details.
- snakemake_executor_plugin_slurm/__init__.py +9 -3
- snakemake_executor_plugin_slurm/submit_string.py +10 -3
- {snakemake_executor_plugin_slurm-1.5.0.dist-info → snakemake_executor_plugin_slurm-1.6.0.dist-info}/METADATA +2 -2
- snakemake_executor_plugin_slurm-1.6.0.dist-info/RECORD +8 -0
- snakemake_executor_plugin_slurm-1.5.0.dist-info/RECORD +0 -8
- {snakemake_executor_plugin_slurm-1.5.0.dist-info → snakemake_executor_plugin_slurm-1.6.0.dist-info}/LICENSE +0 -0
- {snakemake_executor_plugin_slurm-1.5.0.dist-info → snakemake_executor_plugin_slurm-1.6.0.dist-info}/WHEEL +0 -0
|
@@ -366,9 +366,15 @@ class Executor(RemoteExecutor):
|
|
|
366
366
|
process.returncode, call, output=err
|
|
367
367
|
)
|
|
368
368
|
except subprocess.CalledProcessError as e:
|
|
369
|
-
|
|
370
|
-
|
|
369
|
+
self.report_job_error(
|
|
370
|
+
SubmittedJobInfo(job),
|
|
371
|
+
msg=(
|
|
372
|
+
"SLURM sbatch failed. "
|
|
373
|
+
f"The error message was '{e.output.strip()}'.\n"
|
|
374
|
+
f" sbatch call:\n {call}\n"
|
|
375
|
+
),
|
|
371
376
|
)
|
|
377
|
+
return
|
|
372
378
|
# any other error message indicating failure?
|
|
373
379
|
if "submission failed" in err:
|
|
374
380
|
raise WorkflowError(
|
|
@@ -445,7 +451,7 @@ class Executor(RemoteExecutor):
|
|
|
445
451
|
|
|
446
452
|
# We use this sacct syntax for argument 'starttime' to keep it compatible
|
|
447
453
|
# with slurm < 20.11
|
|
448
|
-
sacct_starttime = f"{datetime.now() - timedelta(days
|
|
454
|
+
sacct_starttime = f"{datetime.now() - timedelta(days=2):%Y-%m-%dT%H:00}"
|
|
449
455
|
# previously we had
|
|
450
456
|
# f"--starttime now-2days --endtime now --name {self.run_uuid}"
|
|
451
457
|
# in line 218 - once v20.11 is definitively not in use any more,
|
|
@@ -50,12 +50,19 @@ def get_submit_command(job, params):
|
|
|
50
50
|
if job.resources.get("nodes", False):
|
|
51
51
|
call += f" --nodes={job.resources.get('nodes', 1)}"
|
|
52
52
|
|
|
53
|
-
# fixes #40 - set ntasks regardless of mpi, because
|
|
54
|
-
# SLURM v22.05 will require it for all jobs
|
|
55
53
|
gpu_job = job.resources.get("gpu") or "gpu" in job.resources.get("gres", "")
|
|
56
54
|
if gpu_job:
|
|
57
|
-
|
|
55
|
+
# fixes #316 - allow unsetting of tasks per gpu
|
|
56
|
+
# apparently, python's internal process manangement interfers with SLURM
|
|
57
|
+
# e.g. for pytorch
|
|
58
|
+
ntasks_per_gpu = job.resources.get(
|
|
59
|
+
"tasks_per_gpu", job.resources.get("tasks", 1)
|
|
60
|
+
)
|
|
61
|
+
if ntasks_per_gpu >= 1:
|
|
62
|
+
call += f" --ntasks-per-gpu={ntasks_per_gpu}"
|
|
58
63
|
else:
|
|
64
|
+
# fixes #40 - set ntasks regardless of mpi, because
|
|
65
|
+
# SLURM v22.05 will require it for all jobs
|
|
59
66
|
call += f" --ntasks={job.resources.get('tasks', 1)}"
|
|
60
67
|
|
|
61
68
|
# we need to set cpus-per-task OR cpus-per-gpu, the function
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: snakemake-executor-plugin-slurm
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Summary: A Snakemake executor plugin for submitting jobs to a SLURM cluster.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: snakemake,plugin,executor,cluster,slurm
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
-
Requires-Dist: numpy (>=1.26.4,<
|
|
15
|
+
Requires-Dist: numpy (>=1.26.4,<3)
|
|
16
16
|
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
|
17
17
|
Requires-Dist: snakemake-executor-plugin-slurm-jobstep (>=0.3.0,<0.4.0)
|
|
18
18
|
Requires-Dist: snakemake-interface-common (>=1.13.0,<2.0.0)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
snakemake_executor_plugin_slurm/__init__.py,sha256=VXA5Bn58OCd143Kb3STvv6YxTePUsE5wbfrKYXFIpvE,33978
|
|
2
|
+
snakemake_executor_plugin_slurm/efficiency_report.py,sha256=Lcafd8Zv14NMOmghPzuUd7rxLUS8PQmOISuNosauA4w,6256
|
|
3
|
+
snakemake_executor_plugin_slurm/submit_string.py,sha256=C4-ZIsrHJg9WiJuDW3HqLno0uigBz8IYvgbI6nldJ38,2789
|
|
4
|
+
snakemake_executor_plugin_slurm/utils.py,sha256=7XVXtzu7bg_89wWZisW-Zk7TNQyEgK4v_y4Y3F9uOwc,4491
|
|
5
|
+
snakemake_executor_plugin_slurm-1.6.0.dist-info/LICENSE,sha256=YVc4xTLWMqGfFL36120k7rzXtsT6e4RkJsh68VVn12s,1076
|
|
6
|
+
snakemake_executor_plugin_slurm-1.6.0.dist-info/METADATA,sha256=qWKq4kHlkj-KFSdNk1YINAnL08M299SQTWBhqj566qo,1434
|
|
7
|
+
snakemake_executor_plugin_slurm-1.6.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
8
|
+
snakemake_executor_plugin_slurm-1.6.0.dist-info/RECORD,,
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
snakemake_executor_plugin_slurm/__init__.py,sha256=fHEXzJ-CcCDmhhC7hgwkadVvMrN6c3psGW6RbFRIqVE,33781
|
|
2
|
-
snakemake_executor_plugin_slurm/efficiency_report.py,sha256=Lcafd8Zv14NMOmghPzuUd7rxLUS8PQmOISuNosauA4w,6256
|
|
3
|
-
snakemake_executor_plugin_slurm/submit_string.py,sha256=sXzMm5SVNQ4upIOcsIZjUqj7khnG-lieo5yJSSus5sc,2483
|
|
4
|
-
snakemake_executor_plugin_slurm/utils.py,sha256=7XVXtzu7bg_89wWZisW-Zk7TNQyEgK4v_y4Y3F9uOwc,4491
|
|
5
|
-
snakemake_executor_plugin_slurm-1.5.0.dist-info/LICENSE,sha256=YVc4xTLWMqGfFL36120k7rzXtsT6e4RkJsh68VVn12s,1076
|
|
6
|
-
snakemake_executor_plugin_slurm-1.5.0.dist-info/METADATA,sha256=8j7t6iXdjHGmqrHNn_LYL3rROl3dSIkodnoU_9aR2_4,1438
|
|
7
|
-
snakemake_executor_plugin_slurm-1.5.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
8
|
-
snakemake_executor_plugin_slurm-1.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|