User Tools

Site Tools


using-slurm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
using-slurm [2013/05/31 13:13] – external edit 127.0.0.1using-slurm [2019/02/01 12:17] jean-baka
Line 3: Line 3:
  
 Our SLURM is configured with the following job queues (also called "partitions" in SLURM): Our SLURM is configured with the following job queues (also called "partitions" in SLURM):
 +
   * debug   * debug
   * batch   * batch
   * highmem   * highmem
  
-"debug" is the default queue, which is useful for testing job parameters, program paths, etc. The runtime limit of the "debug" partition is 5 minutes, after which jobs are killed.+"debug" is the default queue, which is useful for testing job parameters, program paths, etc. The run-time limit of the "debug" partition is 5 minutes, after which jobs are killed.
  
 To see more information about the queue configuration, use ''sinfo -lNe''. To see more information about the queue configuration, use ''sinfo -lNe''.
Line 17: Line 18:
 salloc: Granted job allocation 1080 salloc: Granted job allocation 1080
 [aorth@taurus: ~]$</code> [aorth@taurus: ~]$</code>
 +
 +**NB:** interactive jobs have a time limit of 8 hours: if you need more, then you should write a batch script.
 +
 +You can also open an interactive session on a specific node of the cluster by specifying it through the ''-w'' commandline argument:
 +<code>[jbaka@hpc ~]$ interactive -w compute03
 +salloc: Granted job allocation 16349
 +[jbaka@compute03 ~]$</code>
  
 ==== Batch jobs ==== ==== Batch jobs ====
 Request 4 CPUs for a NCBI BLAST+ job in the ''batch'' partition.  Create a file //blast.sbatch//: Request 4 CPUs for a NCBI BLAST+ job in the ''batch'' partition.  Create a file //blast.sbatch//:
-<code>#!/bin/bash+<code>#!/usr/bin/env bash
 #SBATCH -p batch #SBATCH -p batch
 +#SBATCH -J blastn
 #SBATCH -n 4 #SBATCH -n 4
  
-export BLASTDB=/export/data/bio/ncbi/blast/db+# load the blast module 
 +module load blast/2.6.0+
  
 +# run the blast with 4 CPU threads (cores)
 blastn -query ~/data/sequences/drosoph_14_sequences.seq -db nt -num_threads 4</code> blastn -query ~/data/sequences/drosoph_14_sequences.seq -db nt -num_threads 4</code>
  
 Submit the script with ''sbatch'': Submit the script with ''sbatch'':
-<code>$ sbatch blastn_test.sh +<code>$ sbatch blast.sbatch 
 Submitted batch job 1082</code> Submitted batch job 1082</code>
 +
 +==== Batch job using local storage ====
 +Users' home folders are mounted over the network (on "wingu"), so when you're on mammoth or taurus any time you write to the disk (ie job output) has to go round trip over the network.
 +
 +Instead, you can use a local "scratch" folder on the compute nodes to alleviate this burden, for example:
 +
 +<code>#!/usr/bin/env bash
 +#SBATCH -p batch
 +#SBATCH -n 4
 +#SBATCH -J blastn
 +
 +# load the blast module
 +module load blast/2.2.30+
 +
 +WORKDIR=/var/scratch/$USER/$SLURM_JOBID
 +mkdir -p $WORKDIR
 +
 +echo "Using $WORKDIR on $SLURMD_NODENAME"
 +echo
 +
 +# change to working directory on compute node
 +cd $WORKDIR
 +
 +# run the blast with 4 CPU threads (cores)
 +blastn -query ~/data/sequences/drosoph_14_sequences.seq -db nt -num_threads 4 -out blast.out</code>
 +
 +All output is directed to ''$WORKDIR/'', which is the temporary folder on the compute node. See these slides from [[https://alanorth.github.io/hpc-users-group3/#/2|HPC Users Group #3]] for more info.
  
 ==== Check queue status ==== ==== Check queue status ====
 <code>squeue</code> <code>squeue</code>
using-slurm.txt · Last modified: 2022/11/03 11:38 by jean-baka