中文

面向Metal和CUDA的轻量级高斯过程推断C++实现

机器学习 2026-05-19 v1

摘要

Python中进行高斯过程推断的库(如GPyTorch和GPflow)建立在深度学习框架之上,继承了其调度开销和依赖项负担。我们提出LightGP——一个无依赖项的C++17库,支持Apple Metal和NVIDIA CUDA后端,同时通过Apple Accelerate和OpenBLAS提供优化的CPU路径。LightGP提供四种推断路径:精确Cholesky分解、矩阵无关共轭梯度、稀疏变分自由能和结构化核插值FFT,覆盖N从100到500,000的各种问题。在Apple M4上,LightGP CPU对于精确GP比GPyTorch CPU快2.6--8.7倍,对稀疏GP约快1.5倍。在NVIDIA RTX 3060上,LightGP CUDA对于N≤2048的精确GP比GPyTorch CUDA快2.3--6.7倍。对于N=4096,GPyTorch的优势逐渐缩小。Metal上实现的32倍矩阵无关核向量乘法在N=20,000时显式路径之上,采用O(N)内存;而通过Accelerate vDSP实现的FFT加速SKI矩阵向量乘法在N=200,000时运行时间不到毫秒。LightGP以单个静态库形式编译,无外部依赖,可通过pip install lightgp安装。

关键词

引用

@article{arxiv.2605.17898,
  title  = {Lightweight Gaussian Process Inference in C++ on Metal and CUDA},
  author = {Yu-Hsueh Fang},
  journal= {arXiv preprint arXiv:2605.17898},
  year   = {2026}
}