Spack is Research Computing's Best Friend
Research and cloud computing are a perfect fit, but the reality of managing software on dynamic clusters in the cloud can be a challenge. Fortunately, nifty tools like Spack can help get you up and running with optimised versions of your required software in just minutes.
Research and cloud computing are a perfect fit — the global scale and architectural flexibility provided by cloud exactly matches the requirements of world class research. Access to computer technology should never be the reason not to answer a question.
But the reality of managing multiple dynamic HPC centers in the cloud poses real challenges. How do you manage infrastructure, costs, and software offerings when every research group creates a cluster for a different purpose, dynamically in the cloud? Well, fortunately that's where RONIN and a clever tool called Spack comes into play.
What is Spack?
Spack is an open-source package manager from Lawrence Livermore National Laboratory (LLNL) built specifically for supercomputers. Spack puts thousands of scientific software packages in the hands of researchers. Not only does it automate the installation and configuration of packages, and their whole dependency trees, in a cluster-friendly manner, but it also allows for multiple versions and configurations of the same software to co-exist peacefully. Neat right!?
Getting Started with Spack
The best news is that Spack is made available on every auto scale cluster that is launched with RONIN! Getting started with Spack is as simple as:
- List all packages available with Spack with
spack list
or search for a particular package e.g. packages containing "sql" withspack list sql
- Get more information about the desired package such as versions, dependencies, and configuration options with
spack info packagename
- Install the desired package with
spack install packagename
, you can specify a particular version withspack install packagename@version
- List installed software packages with
spack find
- Load an installed package with
spack load packagename
For more information and other Spack commands, refer to the Spack documentation here.
The Benefits of Spack
Spack takes care of most of the tricky parts of managing software in a HPC environment and gets researchers up and running with their required software in minutes rather than the days or weeks that it can often take when working with complex software stacks. With custom build options, Spack also makes it possible to optimize performance of packages across varying architectures. This enables researchers to speed up their analysis and reduce costs in the cloud, without being HPC experts.
We figured the best way to illustrate the benefits of Spack for research is with an in-depth example. In this whitepaper, we describe a tractable solution that uses AWS, RONIN and Spack to run an optimized HPC code for OpenFOAM® on advanced AMD architectures:
Want to Learn More?
- Check out how AMD leverages Spack to optimize popular research codes.
- Read about the Spack binary cache which is automatically configured with RONIN auto scale clusters in our latest release to speed up the installation of packages with Spack.
- Get more information about RONIN.