Installation

Two supported environments

gpr_optim ships two pixi manifests. The default (top-level pixi.toml) is conda-forge based and works on any Linux/macOS box with pixi installed. The EESSI overlay (eessi/pixi.toml) offloads the HPC toolchain to /cvmfs/software.eessi.io and leaves pixi to pin only the packages EESSI does not ship.

Use the default for portable development and CI. Use the overlay on hosts where CVMFS is available and you want microarchitecture-tuned OpenBLAS / FFTW / HDF5 / OpenMPI / ScaLAPACK. See EESSI overlay vs. the default pixi environment for the full comparison, Arch-laptop cvmfsexec setup (el9 libfuse3 fix + correct pub key + Stratum-1 URL pool), and the dep-provenance matrix.

Prerequisites

gpr_optim uses pixi for reproducible dependency management.

C++ Library

Requires:

  • C++17 compiler

  • Eigen >= 3.4

  • meson >= 1.10

  • cmake >= 4.2

Python Bindings

Requires:

  • Python >= 3.9

  • numpy >= 2.0

  • nanobind >= 2.10

Building

Manual C++ build

meson setup builddir -Dwith_tests=true
meson compile -C builddir
meson test -C builddir

EESSI overlay build

On hosts with /cvmfs/software.eessi.io available (native or through cvmfsexec):

cd eessi
pixi run bootstrap-eessi               # Arch-laptop cvmfsexec setup (once)
~/cvmfsexec/cvmfsexec -N software.eessi.io -- bash -l
cd eessi                               # back inside the cvmfsexec shell
pixi run probe                         # verify EESSI resolved the microarch
pixi run setup && pixi run build && pixi run test

See EESSI overlay vs. the default pixi environment for the full narrative, ldd expectations, and when the overlay’s microarch tuning actually helps.

Editable install (development)

pixi run -e python build   # pip install --no-build-isolation -e .