Quick Reference Guide
Quick Guide to NSCC ASPIRE2A
A practical reference for accessing and using the National Supercomputing Centre Singapore (NSCC) ASPIRE2A HPC cluster. Covers DUO 2FA, VPN, SSH, the module system, PBS job submission, and job monitoring.
Note: This guide was originally published in 2023 and has been updated in May 2026 with additional sections and improved formatting, with assistance from Claude (Anthropic).
Always check the NSCC Help Portal for the latest system-specific documentation and current system availability.
Step 1 — Set Up DUO Two-Factor Authentication
DUO 2FA is required before you can log in. Email the NSCC Helpdesk at [email protected] to request an enrolment invite.
Once you receive the invite, follow the enrolment guide from NSCC:
ASPIRE2A DUO Enrolment Guide (PDF)
Install the DUO Mobile app on your phone before beginning the enrolment.
Step 2 — Install and Connect the VPN
NSCC uses a CheckPoint VPN client. Download the standalone client from:
CheckPoint Remote Access VPN Downloads
Installation guides from NSCC:
On macOS, the CheckPoint installer may also install a CheckPoint Firewall app. To remove it: rm -rf "/Applications/Check Point Firewall.app"
Step 3 — Connect via SSH
With the VPN connected, SSH into ASPIRE2A:
ssh -Y <userid>@aspire2a.nscc.sg
The -Y flag enables trusted X11 forwarding for GUI applications. Note that user IDs are case-sensitive (e.g. P82828 differs from p82828).
The Module System
ASPIRE2A uses Environment Modules to manage software. Compilers, MPI libraries, Python, CUDA, and other tools are loaded on demand rather than being available globally.
module avail # list all available modules
module avail python # search for Python-related modules
module load python/3.9 # load a specific module
module list # list currently loaded modules
module unload python/3.9 # unload a module
module purge # unload all modules
module show python/3.9 # show what a module sets up
Add module load commands to your PBS job script to ensure the right environment is set when the job runs.
Submitting Jobs with PBS
Jobs are submitted via the PBS (Portable Batch System) scheduler using a job script. Create a file submit.pbs:
#!/bin/bash
#PBS -l select=1:ncpus=24:mpiprocs=24:mem=96g
#PBS -l walltime=02:00:00
#PBS -o log/
#PBS -j oe
#PBS -P 12345678
#PBS -q normal
#PBS -m bae
#PBS -M [email protected]
#PBS -N myjob
cd $PBS_O_WORKDIR || exit $?
[ -d log ] || mkdir log
module load python/3.9
# Run your job
python myscript.py
Submit, monitor, and cancel:
qsub submit.pbs # submit the job
qstat # list all your jobs
qstat -u $USER # list your jobs only
qstat -f <jobid> # detailed info on a specific job
qdel <jobid> # cancel a job
PBS Directives Reference
| Directive | Meaning |
-l select=N:ncpus=M:mem=Xg | N nodes, M CPUs each, X GB RAM per node |
-l select=...:ngpus=4 | Request 4 GPUs per node |
-l walltime=HH:MM:SS | Maximum job run time. Job is killed if exceeded. |
-P <project_id> | 8-digit NSCC project code. Use personal-XXX for personal accounts. |
-q normal | Queue name (normal, gpu, short, etc.) |
-m bae | Send email at job begin (b), abort (a), and end (e) |
-M [email protected] | Email address for notifications |
-N jobname | Name the job (appears in qstat output) |
-o log/ | Directory for stdout output file |
-j oe | Merge stdout and stderr into one output file |
Job States
| State | Meaning |
Q | Queued — waiting for resources |
R | Running |
E | Exiting — job finishing up |
H | Held — job suspended by user or admin |
For full documentation, visit the NSCC Help Portal. For account issues or to request access, contact [email protected].
10 thoughts on “Quick Guide to NSCC ASPIRE2A”