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.

Spack is Research Computing's Best Friend

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:

  1. List all packages available with Spack with spack list or search for a particular package e.g. packages containing "sql" with spack list sql
  2. Get more information about the desired package such as versions, dependencies, and configuration options with spack info packagename
  3. Install the desired package with spack install packagename, you can specify a particular version with spack install packagename@version
  4. List installed software packages with spack find
  5. 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?