Spack Guide
For users that leverage Spack to distribute software, recipes to build the geopm-service and geopm-runtime have been included in their v0.22.0 release. These recipes currently allow for building both the v3.0.1 release of GEOPM and our main development branch.
For deploying GEOPM’s layers to a compute image in an HPC system context (i.e.
PXE booted via warewulf or similar), a typical configuration would be to have a
system install of the service RPMs baked into the compute image, and use spack
to install geopm-runtime. This is required as the GEOPM Service will be
launched via systemd, and thus must run against the system installed Python
runtime.
For GEOPM v3.0.1, system install geopm-service, geopm-service-devel,
libgeopmd2, and python3-geopmdpy
For GEOPM v3.1, system install geopm-service, geopm-service-doc,
geopm-service-devel, libgeopmd2, libgeopmd-doc,
python3-geopmdpy, and python3-geopmdpy-doc
In order to build with spack this way, geopm-service must be configured as an
external package in ~/.spack/packages.yaml:
packages:
geopm-service:
externals:
- spec: "geopm-service@3.0.1"
prefix: /usr
- spec: "geopm-service@3.1.0"
prefix: /usr
- spec: "geopm-service@develop"
prefix: /usr
version:
- 3.0.1
- 3.1.0
- develop
buildable: False
Afterwards, geopm-runtime can be installed normally with spack install
geopm-runtime.