Skip to main content

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


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)

Uploaded Source

Built Distribution

miniwdl_slurm-0.2.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

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

Hashes for miniwdl-slurm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ac1635e0f57c8e600f84074d940050cf261ade0ff619f2ed09d273a438f2fc02
MD5 91e493c9bdd0fb70d0aa6bc82d5828b7
BLAKE2b-256 5e6ac245d037a286458873761d1f8b45024aab28a46de0b3b7efca5302e4ea68

See more details on using hashes here.

File details

Details for the file miniwdl_slurm-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for miniwdl_slurm-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2bff7fe4cb13d7d9374507699773f4d7a1d527b19794f635bca3bd1d205d872
MD5 d2f6b3625e9c53791c7563cd9748e139
BLAKE2b-256 509d5afd88340606bdf6440deb1bcd8525bf78914c4887a2ea29c2d5b45ceb54

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page