HPC software¶
Software on HPC can be a complex topic. There are many different ways to access and use different applications or programs that you require to run your computations/simulations. At Surrey, it will vary from cluster to cluster, but essentially consists of one of the following 4 methods.
Generally speaking Containerisation: Docker & Apptainer are the most modern and forward thinking method. Containers are gaining traction and adoption across the HPC community globally. Containers give you total control over the software environment your jobs run in, makes your workload very portable (as it can go anywhere your container can) and is excellent for reproducibility as your container can be stored and shared.
Containers are supported on:
AISurrey
Eureka2
Environment modules (Lmod) are the more traditional method to access and use software on HPC clusters. They help to solve the problem of how to deliver multiple conflicting software installations to users that need them all on a single system, as well as provide the user with greater control of the software environment for their HPC job.
Environment Modules are supported on:
Eureka2
Kara02
March9-11
Interactive Apps via Open OnDemand provide a GUI and real-time interactivity for your jobs. A selection are available via Open OnDemand and availability will vary from cluster to cluster.
Interactive Apps are supported on:
AISurrey
Eureka2
For those who utilise and develop Python or R software, we recommend using virtual environments where possible. Virtual environments allow you to have multiple different python or R environments, where you can install and manage whatever packages/libraries you require and they are installed in your own directory. They additionally allow you to load them as and when you need them.
Please refer to Python and R (virtual envs)
Virtual environments are supported on:
AISurrey (currently only via personal conda installations in home directories)
Eureka2
Kara02
March9-11
Requesting new software¶
You may find that the software you need is not currently available on the HPC, and in this case you will need to raise a support ticket to Requesting New Software.
Alternatively, you can try Containerisation: Docker & Apptainer for use when running your job. This allows you to create the exact software environment your job needs and gives you full control of it. This also makes your job highly portable as you can run it on any system that supports the use of containers.