Skip to main content

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:

  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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

higp-2025.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

higp-2025.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

higp-2025.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

higp-2025.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

higp-2025.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file higp-2025.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higp-2025.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a95306e21b3cd0ff780c14e4059f3ed3a9292cb1e2834f3643e716e8307f9dd
MD5 85033a7deb3b0f882e0bf367c7a2782a
BLAKE2b-256 dca6add1c09314f6b780dccfc29c459460745330b9dbc516cabae243830a146c

See more details on using hashes here.

File details

Details for the file higp-2025.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higp-2025.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6cce0d9ba6f7090f4b8da3ca09e30d11f8c9d087cf918cef5b7bdf7a95a55687
MD5 15c0655ca73873fb98ba33c5002fe7aa
BLAKE2b-256 91f94de3c86ca21890dbaaadda638db081e66e65f37542c52ea759d274b358d2

See more details on using hashes here.

File details

Details for the file higp-2025.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higp-2025.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c0ab3902c0c713145f1d59294635e82a26eab2fb98ead6f4fe087ea53a98c15
MD5 f1979bdec72f712aeff3d4ad539d29d3
BLAKE2b-256 e763ada3abd0655aa4af573615ac66749baf4ee7dbcdd7be2156b2436eff5510

See more details on using hashes here.

File details

Details for the file higp-2025.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higp-2025.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 172e62b6c7fd3984a7afa75808a986ca8bacf133261f7f4200929091c5008a9b
MD5 53d32ba91d26b9caf32dd679d77deba2
BLAKE2b-256 a18cefcb1c597e80f207a739ea5e0e5a3d47061ef5d01f51b9b335fd0d9851bb

See more details on using hashes here.

File details

Details for the file higp-2025.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higp-2025.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ac9a6381b4491bb11e942013b172476b2d0ed1b0d67c3dc79b7679950940e40
MD5 7e5baeab21af9f85a8155a8c448e7254
BLAKE2b-256 d2e7adddfbfd32a7270bf6ed71554a78a8b2abb8f9b3dec3cda04115d99abc20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page