Introduction to Spack#

Applies to Linux

2024-01-11

14 min read time

Spack is a package management tool designed to support multiple software versions and configurations on a wide variety of platforms and environments. It was designed for large supercomputing centers, where many users share common software installations on clusters with exotic architectures using libraries that do not have a standard ABI. Spack is non-destructive: installing a new version does not break existing installations, so many configurations can coexist on the same system.

Most importantly, Spack is simple. It offers a simple spec syntax, so users can concisely specify versions and configuration options. Spack is also simple for package authors: package files are written in pure Python, and specs allow package authors to maintain a single file for many different builds of the same package.

ROCM packages in Spack#

Component

Package name

rocm-cmake

rocm-cmake

thunk

hsakmt-roct

rocm-smi-lib

rocm-smi-lib

hsa

hsa-rocr-dev

lightning

llvm-amdgpu

devicelibs

rocm-device-libs

comgr

comgr

rocclr (vdi)

hip-rocclr

hipify_clang

hipify-clang

hip (hip_in_vdi)

hip

ocl (opencl_on_vdi )

rocm-opencl

rocminfo

rocminfo

clang-ocl

rocm-clang-ocl

rccl

rccl

atmi

atmi

rocm_debug_agent