Skip to content

Repository files navigation

HiGP

HiGP is a high-performance Python package for using Gaussian processes (GPs) with large datasets. Its functionality includes estimating GP hyperparameters, GP regression, and GP classification. Under the hood, it uses highly-optimized, multithreaded C++ code, implementing iterative solvers and a novel preconditioner designed for large datasets. It works with PyTorch optimizers, and you can easily use HiGP in your PyTorch-based data science workflow.

HiGP includes:

  • Vectorized kernel matrix computations.
  • On-the-fly running mode for handling large size datasets without using a lot of memory.
  • Krylov subspace iterative solvers, such as conjugate gradients.
  • The Adaptive Factorized Nystrom preconditioner to accelerate the iterative solvers.
  • Linear scaling hierarchical matrix algorithms from H2Pack for handling large scale 2D/3D spatial data.
  • Efficient gradient calculations for the negative log marginal likelihood, using preconditioned iterative solvers and preconditioned stochastic trace estimation.
  • Acceleration with GPUs is coming soon!

To start using HiGP, refer to the online documentation:

  1. Basic usage of HiGP
  2. Advanced usage of HiGP
  3. API reference
  4. Developer information

The online documentation also includes some performance test results that compare HiGP with GPyTorch on an Ubuntu 20.04 LTS machine with a 24-core 3.0 GHz Intel Xeon Gold 6248R CPU. We used PyTorch 2.8.0, GPyTorch 1.14, and HiGP version 2025.8.21 (git commit 8942631cd9fb4f213afd25032247e689da2ee2c0) for the tests. We tested two data sets from the UCI Machine Learning Datasets: the "Bike Sharing" and the "3D Road Network" data sets. We also tested three synthetic target functions from the Virtual Library of Simulation Experiments with randomly sampled data points: Rosenbrock, Rastrigin, and Branin.

HiGP is developed by:

We welcome your questions. Please contact Hua Huang and Tianshi Xu specifically for questions related to package usage, features, and development.

If you use HiGP, please cite the following paper:

@misc{HiGP2025,
    author = {Hua Huang and Tianshi Xu and Yuanzhe Xi and Edmond Chow},
    title = {{HiGP}: A high-performance {Python} package for {Gaussian} Process},
    year = {2025},
    eprint = {arXiv:2503.02259},
}

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages