...
The small set of login nodes are a shared resource – type the users command to see everyone currently logged in. Login nodes are not meant for running interactive programs – for that you submit a description of what you want done to a batch system, which distributes the work to one or more compute nodes.
...
- Do not perform significant network access from your batch jobs.
- Instead, stage your data from a login node onto $SCRATCH before submitting your job.
...
Here is a comparison of the configurations and ls6 and stampede3. stampede3 is the newer (and larger) cluster, just launched in 2024; ls6 was launched in 2022.
| ls6 | stampede3 | |
|---|---|---|
| login nodes | 3 128 cores each | 4 96 cores each |
| standard compute nodes | 560 AMD Epyc 7763 "Milan" nodes
| 560 Intel Xeon "Sapphire Rapids" nodes
1060 Intel Platinum 8160 "Skylake" nodes
224 Intel Xenon Platinum 8380 "Ice Lake" nodes
|
| GPU nodes | 88 AMD Epyc 7763 "Milan" nodes
84 GPU nodes have
4 GPU nodes have
| 20 GPU Max 1550 "Ponte Vecchio" nodes
|
| batch system | SLURM | SLURM |
| maximum job run time | 48 hours, normal queue 2 hours, development queue | 48 hours on GPU nodes 24 hours on other nodes, normal queue 2 hours, development queue |
User guides for ls6 and stampede3 can be found at:
- https://docs.tacc.utexas.edu/hpc/lonestar6/
- see https://docs.tacc.utexas.edu/hpc/lonestar6/#running-queues for all available queues
- https://docs.tacc.utexas.edu/hpc/stampede3
...
For example, the following module load command makes the singularity apptainer container management system available to you:
| Code Block | ||||
|---|---|---|---|---|
| ||||
# first type "singularityapptainer" to show that it is not present in your environment: singularityapptainer # it's not on your $PATH either: which singularityapptainer # now add biocontainers to your environment and try again: module load biocontainers # and see how singularityapptainer is now on your $PATH: which singularityapptainer # you can see the new directory at the front of $PATH echo $PATH # to remove it, use "unload" module unload biocontainers singularityapptainer # gone from $PATH again... which singularityapptainer |
Note that apptainer is another name for singularity.
...
It is quite a large systems administration task to install software at TACC and configure it for the module system. As a result, TACC was always behind in making important bioinformatics software available. To address this problem, TACC moved to providing bioinformatics software via containers, which are similar to virtual machines like VMware and Virtual Box, but are lighter weight: they require less disk space because they rely more on the host's base Linux environment. Specifically, TACC (and many other HPC/High Performance Computing clusters) use Singularity Apptainer containers, which are similar to Docker containers but are more suited to the HPC environment – in fact one can build a Docker container then easily convert it to Singularity Apptainer for use at TACC.
TACC obtains its containers from BioContainers (https://biocontainers.pro/ and https://github.com/BioContainers/containers), a large public repository of bioinformatics tool Singularity Apptainer containers. This has allowed TACC to easily provision thousands of such tools!
...
| Tip |
|---|
The standard TACC module system has been phased out for bioinformatics programs, so always look for your application in BioContainers. While it's great that there are now hundreds of programs available through BioContainers, the one drawback is that they can only be run on cluster compute nodes, not on login nodes. To test BioContainer program interactively , – or even to ask the program for its usage – you will need to use TACC's idev command to obtain an interactive cluster node. More on this shortly... |
...
| Code Block | ||
|---|---|---|
| ||
# Load the Biocontainers master module module load biocontainers # Verify kallisto is not yet available kallisto # Load the default kallisto biocontainer module load kallisto # Verify kallisto is notavailable available-- (althoughbut not on login nodes) kallisto |
Note that loading a BioContainer does not add anything to your $PATH. Instead, it defines an alias, which is just a shortcut for executing the command using its container. You can see the alias definition using the type command. And you can ensure the program is available using the command -v utility.
| Code Block | ||
|---|---|---|
| ||
# Note that kallisto has not been added to your $PATH, but instead has an alias
which kallisto
# Ensure kallisto is available with command -v
command -v kallisto
# To see how TACC calls the kallisto container:
type kallisto |
installing custom software
...