HiGP is a high-performance Python package for using Gaussian processes (GPs) with large datasets.
Project description
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:
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:
- Hua Huang (huangh1994@outlook.com)
- Tianshi Xu (tianshi.xu@emory.edu)
- Yuanzhe Xi (yuanzhe.xi@emory.edu)
- Edmond Chow (echow@cc.gatech.edu)
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},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file higp-2025.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: higp-2025.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a95306e21b3cd0ff780c14e4059f3ed3a9292cb1e2834f3643e716e8307f9dd
|
|
| MD5 |
85033a7deb3b0f882e0bf367c7a2782a
|
|
| BLAKE2b-256 |
dca6add1c09314f6b780dccfc29c459460745330b9dbc516cabae243830a146c
|
File details
Details for the file higp-2025.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: higp-2025.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cce0d9ba6f7090f4b8da3ca09e30d11f8c9d087cf918cef5b7bdf7a95a55687
|
|
| MD5 |
15c0655ca73873fb98ba33c5002fe7aa
|
|
| BLAKE2b-256 |
91f94de3c86ca21890dbaaadda638db081e66e65f37542c52ea759d274b358d2
|
File details
Details for the file higp-2025.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: higp-2025.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c0ab3902c0c713145f1d59294635e82a26eab2fb98ead6f4fe087ea53a98c15
|
|
| MD5 |
f1979bdec72f712aeff3d4ad539d29d3
|
|
| BLAKE2b-256 |
e763ada3abd0655aa4af573615ac66749baf4ee7dbcdd7be2156b2436eff5510
|
File details
Details for the file higp-2025.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: higp-2025.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
172e62b6c7fd3984a7afa75808a986ca8bacf133261f7f4200929091c5008a9b
|
|
| MD5 |
53d32ba91d26b9caf32dd679d77deba2
|
|
| BLAKE2b-256 |
a18cefcb1c597e80f207a739ea5e0e5a3d47061ef5d01f51b9b335fd0d9851bb
|
File details
Details for the file higp-2025.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: higp-2025.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac9a6381b4491bb11e942013b172476b2d0ed1b0d67c3dc79b7679950940e40
|
|
| MD5 |
7e5baeab21af9f85a8155a8c448e7254
|
|
| BLAKE2b-256 |
d2e7adddfbfd32a7270bf6ed71554a78a8b2abb8f9b3dec3cda04115d99abc20
|