A concise guide to using the Argon HPC cluster for high-performance computing tasks.
Below is an example of a typical job script for submitting jobs to the Argon HPC cluster. Each line is explained in detail.
#!/bin/sh
#$ -cwd
#$ -pe 128cpn 512
#$ -q UI-MPI
#$ -l h_vmem=80G
#$ -l mem_free=256G
#$ -M email@uiowa.edu
#$ -m beas
#$ -o file.log
#$ -e file.log
#$ -V
#!/bin/sh
: Specifies the shell interpreter for the script.#$ -cwd
: Ensures the job runs in the current working directory.#$ -pe 128cpn 512
: Requests a parallel environment with 512 cores, each node having 128 cores per node.#$ -q UI-MPI
: Specifies the queue to submit the job to (in this case, the UI-MPI
queue – note: 48 hr timeout). UI
queueing avoids timeout problem.#$ -l h_vmem=80G
: Specifies the hard memory limit per core or slot.#$ -l mem_free=256G
: Ensures the job runs only on nodes with at least 256GB of free memory available.#$ -M email@uiowa.edu
: Sets the email address for job notifications.#$ -m beas
: Specifies when to send email notifications:
b
: When the job begins.e
: When the job ends.a
: If the job aborts.s
: If the job is suspended.#$ -o file.log
: Specifies the file to write standard output.#$ -e file.log
: Specifies the file to write standard error.#$ -V
: Exports all environment variables to the job environment.qsub [jobfile_path]
Use qsub
followed by the path to the job file to submit a job to the cluster.
qstat
Use qstat
to check the status of submitted jobs. Add your username to filter by your jobs:
qstat -u
qdel [job_id]
Use qdel
followed by the job ID to delete a job from the queue.
qrls [job_id]
Use qrls
to release a job that is on hold.
module load [module_name]
Use module load
to load specific software or libraries. For example:
module load python
module list
Displays all currently loaded modules.
module unload [module_name]
Unloads a specified module.