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.