While Andromeda has ~230 compute nodes available (as of late 2023), there is only a single 48-core login node available. This is the environment you will enter when you first connect to Andromeda via ssh, NoMachine, or any other remote protocol. Since the login node is a shared resource, and the first point of contact with Andromeda for many, it is important to not overwhelm it with tasks which require large amounts of compute power or file I/O. Instead, most tasks beyond small scripts and filesystem navigation should be executed either in a slurm batch job or in an interactive session.
You can check which node you are currently using by typing hostname
The login node has: hostname l001
An interactive session on a compute node can be requested from the command line using interactive. If resources are available, you will be shortly transferred to a compute node. You will see that your hostname has changed to one of the compute nodes:
[johnchris@l001 ~]$ hostname
l001
[johnchris@l001 ~]$ interactive
Run "srun -t 4:00:00 -N 1 -n 1 -c 4 --mem=8gb --partition=shared --pty /bin/bash" 'y' or '(n)' : y
Type "exit" when done
srun: job 2003401 queued and waiting for resources
srun: job 2003401 has been allocated resources
[johnchris@l001 ~]$ hostname
c016
[johnchris@l001 ~]$
You can request more or less resources using the command line options for interactive
For a summary of the options available, use interactive -h
To summarize here:
- -t: The requested time. Default is 4 hours.
- -c: Number of CPU cores per task. Default 4.
- -n: Number of tasks per node. Default 1.
- -N: The number of compute nodes. Default is 1; for most purposes, this suffices.
- -m: The memory per node (in GB). Default is 4GB.
- -p: The requested partition. Default is “shared”.
- -G: Number of GPUs per node. Default is 0.
- -X: Use X11 forwarding (if you need to use a GUI during your interactive session).
For example, to start a session for running a smaller job interactively on 16 CPUs with 32GB of memory, you could use:
interactive -c 16 -m 32
Or, if you are generating plots using your data on Andromeda:
interactive -X
If you need access to a GPU, you will need to pass an option to -G as well as request a session on a GPU node (gpua100 or gpuv100):
interactive -G 1 -p gpua100