SLURM Demo
This page will walk you through submitting a job using SLURM. It will also cover basic Linux usage.
1 - Copy SLURM Demo Files
This section will cover copying example SLURM files to your own personal location.
1 - Log in to the head node server using your StatDS computing account through your terminal. (If you forget your password, reset it here.)
- This cluster is used for demonstration purposes only. Actual compute jobs are not meant to be submitted to this cluster.
ssh statdsuser@ood.stat.cmu.edu2 - Copy the SLURM Demo folder to your home directory. Do not run these files without moving them to your own working directory.
cp -r /share/slurmdemo ~/slurmdemo3 - Navigate to your new SLURM Demo directory.
cd ~/slurmdemo4 - View the contents of the SLURM Demo directory.
ls -l2 - Submit SLURM Job
This section will cover submitting a job using SLURM.
1 - Modify the “submit_bash.sh” script. Make sure that you are in the correct directory that has the SLURM files from the section above.
- You may use any text editor (vim, vi, nano, etc). In this example nano will be used.2 - Change these three lines and make them more specific to you.
nano submit_bash.sh
SBATCH --job-name=yourjobuniquename - This is the name of your job. SBATCH --output=yourjoboutputfile_%j.out - This is the name of your job’s output file. Any intentional output generated from your job will be placed into this file. The “%j” will add the job’s unique JobID to the name. SBATCH --error=yourjoberrorfile_%j.err - This is the name of your job’s error file. Any unintentional errors generated in the script will be placed into this file. The “%j” will add the job’s unique JobID to the name.
3 - Run the submit script.
sbatch submit_bash.sh4 - Once you submit your job, you can view the status of it by running the command below. This will show your jobs olny.
squeue -u $USER5 - To view every running job, run the command below.
squeue6 - Once your job has finished, view the output file once the script is finished. Use your unique output file name as modified in step 2.
cat yourjoboutputfile_%j.out