Skip to content

Commit ff9aedc

Browse files
author
John Major
committed
0.0.4
1 parent 70726f6 commit ff9aedc

File tree

4 files changed

+26
-55
lines changed

4 files changed

+26
-55
lines changed

README.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
1-
# Snakemake executor plugin: pcluster-slurm
1+
# Snakemake executor plugin: pcluster-slurm v_0.0.4_
22

3-
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/snakemake/snakemake-executor-plugin-pcluster-slurm)
3+
# Snakemake Executor Plugins (generally)
4+
[Snakemake plugin catalog docs](https://snakemake.github.io/snakemake-plugin-catalog/plugins/executor).
45

5-
For documentation, see the [Snakemake plugin catalog PLACEHOLDER for pcluster-slurm](https://snakemake.github.io/snakemake-plugin-catalog/plugins/executor/pcluster-slurm.html).
6+
## `pcluster-slurm` plugin
7+
### AWS Parallel Cluster, `pcluster` `slurm`
8+
[AWS Parallel Cluster](https://aws.amazon.com/hpc/parallelcluster/) is a framework to deploy and manage dynamically scalable HPC clusters on AWS, running SLURM as the batch system, and `pcluster` manages all of the creating, configuring, and deleting of the cluster compute nodes. Nodes may be spot or dedicated. **note**, the `AWS Parallel Cluster` port of slurm has a few small, but critical differences from the standard slurm distribution. This plugin enables using slurm from pcluster head and compute nodes via snakemake `>=v8.*`.
9+
10+
11+
# Pre-requisites
12+
## Snakemake >=8.*
13+
### Conda
14+
```bash
15+
conda create -n snakemake -c conda-forge -c bioconda snakemake==8.20.6
16+
conda activate snakemake
17+
```
18+
19+
# Installation (pip)
20+
_from an environment with snakemake and pip installed_
21+
```bash
22+
pip install snakemake-executor-plugin-pcluster-slurm
23+
```
24+
25+
# More Documentation Pending For:
26+
## How slurm uses `--comment` to tag resources created by the autoscaling cluster to tracke and mnage budgets.

docs/further.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## The general Idea
44

5-
Upon creating a valid AWS Parallel Cluster (and one which uses slurm as the scheduler), to use this plugin: _a._ log in to your cluster's head node, _b._ activate your snakemake environment as usual (which should also have snakemake-executor-plugin-pcluster-slurm pip installed), and run a snakemake workflow with --executor pcluster-slurm. Snakemake will then submit your jobs as cluster jobs & `pcluster slurm` will manage creating compute nodes, bidding on them, managing budget constraints, spinning them down, etc. **It is magic really.**
5+
Upon creating a valid AWS Parallel Cluster (and one which uses slurm as the scheduler), to use this plugin: _a._ log in to your cluster's head node, _b._ activate your snakemake environment as usual (which should also have `snakemake-executor-plugin-pcluster-slurm` pip installed), and run a snakemake workflow with `--executor pcluster-slurm`. Snakemake will then submit your jobs as cluster jobs & `pcluster slurm` will manage creating compute nodes, bidding on them, managing budget constraints, spinning them down, etc. **It is magic really.**
66

77
## A Few Important `pcluster` `slurm` Peculiarities
88

examples/pcluster_slurm_snakemake7_config.yaml

Lines changed: 0 additions & 50 deletions
This file was deleted.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "snakemake-executor-plugin-pcluster-slurm"
3-
version = "0.0.3"
3+
version = "0.0.4"
44
description = "A Snakemake executor plugin for submitting jobs to an AWS Parallel Cluster (pcluster) SLURM cluster."
55
authors = [
66
"John Major <[email protected]>",

0 commit comments

Comments
 (0)