[Paper] GPU 常驻 Gaussian Process Regression 利用 HPX 异步任务
发布: (2026年2月23日 GMT+8 18:27)
6 分钟阅读
原文: arXiv
Source: arXiv - 2602.19683v1
概述
本文提出了对 GPRat 的 GPU 常驻扩展,GPRat 是一个已经利用 HPX 的基于任务的并行性进行高斯过程回归(GPR)的开源库。通过将整个预测流水线迁移到 GPU,并使用异步 CUDA 流来调度工作,作者实现了相较于原始仅 CPU 版本的显著加速——使得在普通硬件上对更大训练集进行精确 GPR 成为可能。
关键贡献
- 完整的 GPU 常驻 用于 GPR 预测:数据永不离开设备,消除昂贵的主机‑设备传输。
- 分块算法设计 将 Cholesky 分解和三角求解映射到高度优化的 CUDA 内核(cuBLAS、cuSOLVER)。
- 将 HPX 与 CUDA 流集成 以重叠计算和数据移动,有效地将 CPU 变为 GPU 工作的轻量级任务调度器。
- 性能模型与经验调优,针对不同数据集规模确定最佳并发 CUDA 流数量。
- 开源实现,配有 Python 前端,使开发者能够快速原型化。
方法论
- 基线库 (GPRat) – GPRat 已经在 CPU 上使用 HPX 提供了任务并行的 GPR 实现。
- GPU 移植策略 – 作者将精确 GPR 的三个核心线性代数步骤(核矩阵构建、Cholesky 分解以及前向/后向替换)重写为 分块 操作,以适配 GPU 的内存层次结构。
- 异步执行 – 每个分块被分配到单独的 CUDA 流。HPX 将这些流调度为轻量级任务,使多个分块能够并行处理,同时 CPU 继续管理其他工作。
- 库栈 – 实现依赖 cuBLAS 进行密集矩阵‑矩阵乘法,cuSOLVER 进行 Cholesky 分解,以及自定义内核处理分块。
- 评估 – 实验比较 (a) 仅 CPU 的 GPRat,(b) 使用不同数量流的全 GPU 版本,以及 (c) 纯 cuSOLVER 基线。数据集规模从 64 到 1024 个训练点,测量分解和完整预测的实际运行时间。
结果与发现
| 数据集规模(训练点数) | CPU‑only(秒) | GPU(最佳流数)(秒) | 分解加速比 | 预测加速比 |
|---|---|---|---|---|
| 64 | 0.12 | 0.11 | 1.1× | 1.0× |
| 128 | 0.45 | 0.28 | 1.6× | 1.5× |
| 256 | 1.78 | 0.41 | 4.3× | 4.2× |
| 512 | 7.2 | 1.6 | 4.5× | 4.6× |
| 1024 | 28.5 | 6.2 | 4.6× | 4.6× |
- Cholesky 分解 的加速最高可达 4.3×;完整的 GP 预测(包括核函数计算)可达 4.6×。
- 通过使用多流,GPU 实现 在大矩阵上匹配或超越 cuSOLVER 的性能,在 1024 点的情况下提升最高可达 11 %。
- 最佳 CUDA 流数随数据集规模增大而增加(例如 128 点使用 2 条流,1024 点使用 8–12 条流),这进一步验证了工作重叠的重要性。
实际意义
- 可扩展的精确 GPR – 开发者现在可以在以前需要稀疏近似或诱导点技巧的数据集上运行精确的高斯过程推断。
- Python 优先 API – 未改变的 Python 前端意味着数据科学家可以直接使用 GPU 加速版本,而无需重写代码。
- 混合 CPU‑GPU 调度 – HPX 的任务模型与 CUDA 流相结合,为其他需要细粒度重叠的机器学习工作负载(例如贝叶斯优化循环、核岭回归)提供了模板。
- 成本效益部署 – 由于加速在单个 GPU 上实现,基于云的推断服务可以降低延迟和计算成本,尤其是实时预测流水线。
- GPU 为中心线性代数基准 – 瓦片化方法和流调优为在 GPU 上优化密集分解(超出常规 cuSOLVER 默认设置)的任何人提供了参考。
限制与未来工作
- 内存受限 – 该方法仍然需要将完整的核矩阵放在 GPU 上;极大的训练集(>~10k 点)会超出典型的 GPU 内存。
- 核矩阵构建开销 – 论文侧重于线性代数阶段;在 GPU 上构建核矩阵的工作尚未充分探讨,可能成为高维数据的瓶颈。
- 可移植性 – 实现基于 CUDA;若要扩展到 AMD GPU 或其他加速器,需要额外工作。
- 未来方向 – 作者建议整合外部存储(out‑of‑core)策略,探索混合精度 Cholesky 以进一步加速,并将 HPX‑CUDA 流编排推广到其他贝叶斯推断算法。
作者
- Henrik Möllmann
- Dirk Pflüger
- Alexander Strack
论文信息
- arXiv ID: 2602.19683v1
- 分类: cs.DC
- 发表时间: 2026年2月23日
- PDF: 下载 PDF