miniwdl slurm backend using singularity
Project description
Extends miniwdl to run workflows on SLURM clusters in singularity containers.
This SLURM backend plugin for miniwdl runs WDL task containers by creating a job script that is submitted to a SLURM cluster. In case the job description has a container, singularity will be used as container runtime.
Installation
For the latest stable version:
pip install miniwdl-slurm
For the development version:
pip install git+https://github.com/miniwdl-ext/miniwdl-slurm.git
Configuration
The following miniwdl configuration example can be used to use miniwdl on a SLURM cluster:
[scheduler]
container_backend=slurm_singularity
# task_concurrency defaults to the number of processors on the system.
# since we submit the jobs to SLURM this is not necessary.
# higher numbers means miniwdl has to monitor more processes simultaneously
# which might impact performance.
task_concurrency=200
# This setting allows running tasks to continue, even if one other tasks fails.
# Useful in combination with call caching. Prevents wasting resources by
# cancelling jobs half-way that would probably succeed.
fail_fast = false
[call_cache]
# The following settings create a call cache under the current directory.
# This prevents wasting unnecessary resources on the cluster by rerunning
# jobs that have already succeeded.
put = true
get = true
dir = "$PWD/miniwdl_call_cache"
[task_runtime]
# Setting a 'maxRetries' default allows jobs that fail due to intermittent
# errors on the cluster to be retried.
defaults = {
"maxRetries": 2,
"docker": "ubuntu:20.04"
}
[singularity]
# This plugin wraps the singularity backend. Make sure the settings are
# appropriate for your cluster.
exe = ["singularity"]
# the miniwdl default options contain options to run as a fake root, which
# is not available on most clusters.
run_options = [
"--containall"
]
# Location of the singularity images (optional). The miniwdl-slurm plugin
# will set it to a directory inside $PWD. This location must be reachable
# for the submit nodes.
image_cache = "$PWD/miniwdl_singularity_cache"
[slurm]
# extra arguments passed to the srun command (optional).
extra_args="--partition heavy_users,gpu --comment 'run with miniwdl'"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
miniwdl-slurm-0.2.0.tar.gz
(5.0 kB
view details)
Built Distribution
File details
Details for the file miniwdl-slurm-0.2.0.tar.gz
.
File metadata
- Download URL: miniwdl-slurm-0.2.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac1635e0f57c8e600f84074d940050cf261ade0ff619f2ed09d273a438f2fc02 |
|
MD5 | 91e493c9bdd0fb70d0aa6bc82d5828b7 |
|
BLAKE2b-256 | 5e6ac245d037a286458873761d1f8b45024aab28a46de0b3b7efca5302e4ea68 |
File details
Details for the file miniwdl_slurm-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: miniwdl_slurm-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2bff7fe4cb13d7d9374507699773f4d7a1d527b19794f635bca3bd1d205d872 |
|
MD5 | d2f6b3625e9c53791c7563cd9748e139 |
|
BLAKE2b-256 | 509d5afd88340606bdf6440deb1bcd8525bf78914c4887a2ea29c2d5b45ceb54 |