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¶
With pixi (recommended)¶
git clone https://github.com/TheochemUI/gpr_optim.git
cd gpr_optim
# Build and test C++
pixi shell
meson setup builddir -Dwith_tests=true
meson compile -C builddir
meson test -C builddir
# Build and test Python bindings
pixi run -e python build
pixi run -e python test
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 .