开源 GPU 加速与并行计算库全量梳理 按底层通用并行框架、厂商专属 GPU 计算库、按编程语言绑定、专项场景加速(AI / 图像 / 科学计算 / 渲染 / 数据库)、异构 CPU+GPU 混合并行、分布式多 GPU 集群并行分层整理,全部为开源项目,标注适用显卡(NVIDIA/AMD/Intel)、语言、核心用途、典型场景、关键特点
-
一些开源的 GPU 加速和并行计算库,涵盖了不同的编程语言和用途:
通用 GPU 编程库
-
CUDA (Compute Unified Device Architecture)
- 尽管 CUDA 本身不是开源的,但它有很多开源项目和库基于CUDA开发,用于并行计算。
- 示例项目: cuDNN(NVIDIA深度学习加速库)
-
OpenCL (Open Computing Language)
- OpenCL 是一个开放标准,支持多种平台(包括GPU、CPU等)上的并行计算。
- 官网链接: Khronos OpenCL
-
HIP (Heterogeneous-compute Interface for Portability)
- HIP 是 AMD 开发的一个 API,允许代码在 AMD 和 NVIDIA 的GPU上运行。
- GitHub 项目: HIP
深度学习库
-
TensorFlow
- TensorFlow 是一个流行的机器学习框架,支持 GPU 加速。
- GitHub 项目: TensorFlow
-
PyTorch
- PyTorch 是另一个流行的深度学习框架,也支持 GPU 加速。
- GitHub 项目: PyTorch
-
MXNet
- MXNet 是一个高效、灵活的深度学习框架,支持 GPU 加速。
- GitHub 项目: MXNet
数值和科学计算库
-
CuPy
- CuPy 是一个 NumPy 的实现,为 NVIDIA GPU 提供数组计算支持。
- GitHub 项目: CuPy
-
ArrayFire
- ArrayFire 是一个高性能的科学计算库,支持 CUDA、OpenCL 和 CPU 后端。
- GitHub 项目: ArrayFire
-
Thrust
- Thrust 是一个并行算法库,类似于 C++ 标准模板库(STL),但支持 GPU 加速。
- GitHub 项目: Thrust
图形和信号处理
-
Vulkan
- Vulkan 是一个低开销、高性能的图形和计算 API,支持 GPU 加速。
- 官网链接: Vulkan
-
OpenCV
- OpenCV 是一个开源的计算机视觉和机器学习软件库,支持 GPU 加速(使用 CUDA)。
- GitHub 项目: OpenCV
并行计算框架
-
MPI (Message Passing Interface)
- 虽然 MPI 本身更多用于分布式计算,但结合 GPU 可以实现大规模并行计算。
- 示例项目: Open MPI
-
Dask
- Dask 是一个灵活的并行计算库,可以扩展 Python 生态系统,并支持对大数据进行 GPU 加速计算。
- GitHub 项目: Dask
这些库和框架提供了强大的 GPU 加速和并行计算能力,适用于从科学研究到商业应用的各种场景。选择合适的工具取决于你的具体需求、硬件环境以及编程语言偏好。
-
一些更多的开源 GPU 加速和并行计算库,涵盖了不同的领域和应用:
图神经网络 (GNN) 和大规模图处理
-
DGL (Deep Graph Library)
- DGL 是一个专门用于图神经网络的深度学习框架,支持 GPU 加速,并与 PyTorch、TensorFlow 等框架兼容。
- GitHub 项目: DGL
-
PyG (PyTorch Geometric)
- PyG 是一个基于 PyTorch 的图神经网络库,提供了一组简洁易用的 API 来处理图数据,并支持 GPU 加速。
- GitHub 项目: PyG
-
Gunrock
- Gunrock 是一个高效的 GPU 图处理库,适用于大规模图计算任务。
- GitHub 项目: Gunrock
数据库和大数据处理
-
RAPIDS
- RAPIDS 是一个开源的 GPU 加速数据科学和分析生态系统,包括数据帧操作(cuDF)、机器学习(cuML)以及图分析(cuGraph)。
- GitHub 项目: RAPIDS
-
BlazingSQL
- BlazingSQL 是一个 GPU 加速的 SQL 引擎,可以与 RAPIDS 生态系统无缝集成,实现快速的大数据查询和分析。
- GitHub 项目: BlazingSQL
高性能计算 (HPC)
-
Kokkos
- Kokkos 是一个跨平台的并行编程模型,支持 CUDA、OpenMP 等多种后端,适合高性能计算应用程序。
- GitHub 项目: Kokkos
-
GPUDirect RDMA
- GPUDirect RDMA 是 NVIDIA 提供的技术,允许 GPU 直接访问远程内存,通过 RDMA 网络进行高效的数据传输。
- 示例项目: GPUDirect
神经网络加速器
-
TensorRT
- TensorRT 是 NVIDIA 提供的一个高性能深度学习推理优化器和运行时库,虽然其核心不是完全开源的,但其部分组件和使用示例是开源的。
- GitHub 项目: TensorRT
-
ONNX Runtime
- ONNX Runtime 是一个高性能的跨平台推理引擎,支持多个硬件加速器,包括 GPU。
- GitHub 项目: ONNX Runtime
科学计算和模拟
-
GROMACS
- GROMACS 是一个用于分子动力学模拟的高性能软件,广泛应用于研究化学、生物学和药物设计,支持 GPU 加速。
- GitHub 项目: GROMACS
-
LAMMPS
- LAMMPS 是一个经典的分子动力学模拟包,广泛用于材料科学研究,支持 GPU 加速。
- GitHub 项目: LAMMPS
可视化和图形渲染
-
VisPy
- VisPy 是一个高性能的交互式数据可视化库,基于 OpenGL 实现,支持 GPU 加速。
- GitHub 项目: VisPy
-
Blender
- Blender 是一个开源的3D建模、动画和渲染软件,支持通过 Cycles 渲染引擎的 GPU 加速渲染。
- 官网链接: Blender
以上这些库和工具可以帮助你在不同的计算领域中利用 GPU 的强大计算能力,加速你的工作流程和研究。选择合适的工具需要考虑到具体的应用场景、硬件配置以及编程语言和框架的兼容性。
更多一些领域和相关的开源 GPU 加速和并行计算库:
深度学习框架
-
TensorFlow
- TensorFlow 是一个开源的深度学习框架,广泛用于研究和生产环境。它支持 GPU 加速并提供了丰富的工具和库来构建和训练各种类型的神经网络。
- GitHub 项目: TensorFlow
-
PyTorch
- PyTorch 是另一个流行的深度学习框架,以其动态计算图和易用性而著称,广泛用于学术研究和工业应用,支持 GPU 加速。
- GitHub 项目: PyTorch
-
JAX
- JAX 是一个高性能数值计算库,允许用户使用 Python 编写代码并自动获得 GPU 加速和自动微分功能。
- GitHub 项目: JAX
机器学习和数据处理
-
CuML
- CuML 是 RAPIDS 的机器学习库,提供了一组与 scikit-learn 兼容的 API,用于 GPU 加速的机器学习算法。
- GitHub 项目: CuML
-
XGBoost
- XGBoost 是一个高效的梯度提升决策树算法,实现了 GPU 加速,可以大幅提高训练速度。
- GitHub 项目: XGBoost
-
LightGBM
- LightGBM 是微软开发的一个高性能梯度提升框架,也支持 GPU 加速。
- GitHub 项目: LightGBM
图像处理和计算机视觉
-
OpenCV
- OpenCV 是一个开源的计算机视觉和机器学习软件库,提供了丰富的图像处理和分析工具,并支持 GPU 加速。
- GitHub 项目: OpenCV
-
NVIDIA DALI
- NVIDIA DALI 是一个用于深度学习训练的高性能数据加载和增强库,支持 GPU 加速。
- GitHub 项目: NVIDIA DALI
自然语言处理 (NLP)
-
Hugging Face Transformers
- Hugging Face 的 Transformers 库提供了大量预训练的 NLP 模型(如 BERT、GPT 等),并支持 GPU 加速。
- GitHub 项目: Transformers
-
Fairseq
- Fairseq 是 Facebook AI Research 开发的一个用于序列到序列模型的开源库,支持 NLP 和语音识别任务,并提供 GPU 加速。
- GitHub 项目: Fairseq
数值线性代数
-
cuBLAS
- cuBLAS 是 NVIDIA 提供的一个优化的线性代数库,专为 GPU 加速的矩阵操作而设计。
- 文档链接: cuBLAS
-
cuSolver
- cuSolver 是一个用于求解线性系统、特征值问题和奇异值分解的高性能 GPU 加速库。
- 文档链接: cuSolver
并行编程模型
-
Thrust
- Thrust 是一个 C++ 标准模板库(STL)风格的并行算法库,支持 GPU 和多核 CPU 后端。
- GitHub 项目: Thrust
-
HPX
- HPX 是一个高性能并行执行库,提供异步并行算法和数据结构,适用于大规模并行计算。
- GitHub 项目: HPX
以上这些库涵盖了从基础深度学习框架到各类专门的加速器和工具,可以帮助你在不同应用场景中充分利用 GPU 的计算能力。选择合适的工具时,需要根据你的具体需求、目标应用领域以及现有的软硬件环境进行评估。
开源 GPU 加速与并行计算库全量梳理
一、底层通用 GPU 并行计算框架(跨厂商、通用 GPGPU,无厂商绑定)
1. OpenCL(Open Computing Language)
- 开源标准规范,运行时实现开源(
clBLAS、POCL纯 CPU/OpenCL 开源实现) - 支持:NVIDIA、AMD、Intel、ARM Mali、FPGA、嵌入式 GPU 全平台兼容
- 语言:C/C++ 内核,C/C++/Python/Java 绑定
- 核心用途:通用 GPGPU 并行、图像算法、异构计算、老旧显卡加速
- 优势:一次编写到处运行,跨显卡架构
- 开源实现:
- POCL:纯开源 CPU/OpenCL 运行时,无闭源驱动依赖
- clFFT、clBLAS、clSparse:OpenCL 基础数学算子库
2. SYCL(基于 C++17 的异构并行,Khronos 开源)
- 定位:C++ 现代化替代 OpenCL,可无缝切换 CUDA/HIP/CPU 后端
- 开源项目:DPC++/OneAPI(Intel 官方开源 SYCL)、ComputeCpp
- 支持:NVIDIA CUDA、AMD ROCm、Intel Arc/Xe、CPU
- 用途:高性能科学计算、机器学习推理、异构跨平台工程
- 亮点:代码可直接编译为 CUDA 二进制,无需改写核心逻辑
3. Vulkan Compute(Vulkan 通用计算管线)
- 开源图形 + 计算 API,Vulkan SDK 完全开源
- 适用:GPU 通用计算 + 实时渲染合一,移动端 GPU(Adreno/Mali)并行加速
- 典型:Vulkan-based 光线追踪、移动端 AI 推理、边缘并行计算
二、厂商原生开源 GPU 计算框架
(1)NVIDIA 生态(CUDA 为主,上层封装大量开源库)
CUDA Toolkit(核心底层,驱动层闭源,上层 SDK 全部开源)
- 内核语言:CUDA C/C++、PTX 汇编
- 基础开源算子库(CUDA 生态核心)
- cuBLAS:GPU 矩阵乘法
- cuFFT:GPU 快速傅里叶变换
- cuSPARSE:稀疏矩阵运算
- cuSOLVER:GPU 线性方程组求解
- NPP:NVIDIA 图像 / 视频处理加速库
全部头文件、示例、上层封装开源。
开源 CUDA 上层封装
- Thrust:C++ STL 风格 GPU 并行算法库(排序、规约、变换,CUDA 原生开源)
- CUB:CUDA 底层原语优化库(归约、扫描、前缀和,NVIDIA 开源)
(2)AMD ROCm(全栈开源 GPU 计算平台,完全开源)
- HIP(Heterogeneous-Compute Interface for Portability)
- 核心:CUDA 代码一键迁移至 AMD GPU,
hipcc编译器直接编译 CUDA 源码 - 开源,跨 AMD/NVIDIA 双 GPU 编译
- 核心:CUDA 代码一键迁移至 AMD GPU,
- 配套算子库(对标 CUDA 库):
- rocBLAS、rocFFT、rocSPARSE、rocSOLVER、rocALUTION
- MIOpen:AMD 开源深度学习算子库(对标 cuDNN)
适配:AMD Radeon、MI 系列计算卡
(3)Intel oneAPI Base Toolkit(开源异构计算)
- DPC++(SYCL):C++ 异构并行编译器
- oneAPI 数学库:oneMKL(矩阵 / FFT)、oneDNN(深度神经网络算子,原 MKL-DNN)
支持 Intel Arc 独显、Iris 核显、至强 CPU,可同时调度 CPU+GPU 并行
三、C/C++ 高性能 GPU 并行开源库
- Kokkos
- 开源 C++ 异构并行框架,后端支持 CUDA/HIP/SYCL/OpenMP/CPU
- 用途:超算流体力学、有限元、粒子仿真、气候模型(美国能源部主力库)
- 特点:一套代码适配 CPU/GPU 多硬件,可动态切换执行后端
- RAJA
- LLNL 开源并行抽象库,并行算法解耦硬件,CUDA/ROCm/OpenMP 兼容
- ArrayFire
- 开源 GPU 数组计算库,C/C++/Python/Java,封装矩阵、信号、图像并行运算
- 后端:CUDA/OpenCL/CPU,快速搭建 GPU 加速原型
- Boost.Compute
- Boost 开源组件,基于 OpenCL 的 C++GPU 容器与算法,STL 风格并行编程
四、Python 生态 GPU 加速开源库(最常用,科研 / AI 主力)
1. 数值计算加速
- CuPy
- 开源,NumPy/SciPy 完全兼容的 GPU 数组库,基于 CUDA
- 一行替换
import numpy as np→import cupy as np实现 GPU 加速 - 支持稀疏矩阵、FFT、线性代数,ROCm 下可通过 CuPy-HIP 适配 AMD
- PyTorch Tensor(CUDA/HIP/SYCL 后端)
自动 GPU 张量并行,动态图并行计算
- TensorFlow XLA
算子编译 GPU 加速
2. 并行多 GPU 通信(Python 分布式)
- NCCL(NVIDIA Collective Communications Library,开源):多卡集合通信(AllReduce、AllGather),深度学习多卡训练标配
- rccl:AMD ROCm 版 NCCL,开源多 GPU 通信库
- Horovod:Uber 开源分布式训练框架,封装 NCCL/RCCL,简化多机多 GPU 并行
3. 通用 Python GPU JIT 即时编译
- Numba (CUDA JIT)
- 开源,Python 函数加装饰器
@cuda.jit直接编译 GPU 内核,无需 C/C++ - 支持自定义 GPU 核函数、并行 for 循环,轻量化 GPU 开发首选
- 开源,Python 函数加装饰器
- Taichi Lang
- 开源计算机图形学 / 物理仿真 JIT 编译器,支持 CUDA/OpenGL/Vulkan GPU 后端
- 适合流体、粒子、有限元、实时渲染快速 GPU 原型
五、深度学习专项 GPU 加速开源库
- cuDNN(NVIDIA,接口开源):卷积、BN、激活、RNN 核心深度学习算子
- MIOpen(AMD 开源):ROCm 深度学习算子库,对标 cuDNN
- oneDNN(Intel 开源):CPU/GPU 统一深度算子优化
- FlashAttention:开源 GPU 显存优化注意力算子(大模型刚需)
- vLLM / SGLang:开源大模型 GPU 推理加速库(PagedAttention 显存复用)
- TensorRT-LLM(NVIDIA 开源):大模型 GPU 推理量化加速
六、图像、视频、渲染 GPU 加速开源库
- OpenCV CUDA Module
OpenCV 开源 GPU 版本,图像滤波、特征检测、光流、编解码 GPU 加速,CUDA/OpenCL 双后端
- FFmpeg GPU 硬件加速插件
- NVENC/NVDEC(NVIDIA 硬编解码开源封装)
- AMF(AMD 硬编码开源 SDK)
- QSV(Intel QuickSync 开源调用)
- OIDN (Open Image Denoise)
Intel 开源 GPU 光线追踪降噪库,CUDA/HIP/SYCL 兼容
- Embree
Intel 开源 GPU 光线追踪相交计算内核,用于路径追踪渲染器
七、科学计算 & HPC 超算开源 GPU 库
- PETSc:开源偏微分方程求解器,支持 CUDA/ROCm 并行稀疏求解
- Hypre:大规模线性求解 GPU 加速
- FFTW-GPU:FFTW 开源 CPU FFT 的 GPU 移植版本(cuFFT 封装)
- LAMMPS-GPU:分子动力学仿真 GPU 加速版本(经典分子模拟开源软件)
八、数据库、时序计算 GPU 加速开源库
- BlazingSQL:GPU 加速 SQL 查询引擎,基于 CuPy、RAPIDS
- RAPIDS Suite(NVIDIA 开源全栈 GPU 数据分析)
cuDF(GPU Pandas)、cuML(GPU 机器学习)、cuGraph(GPU 图计算),结构化数据 GPU 并行处理
- PG-Strom:PostgreSQL 开源 GPU 加速插件,SQL 算子下推 GPU
九、分布式多 GPU / 多节点并行开源框架
- MPI + CUDA-Aware MPI
OpenMPI、MPICH 开源支持 GPU 直接 RDMA 通信,超算多节点 GPU 并行标准
- PyCUDA + MPI:Python 多节点 GPU 并行
- DeepSpeed(微软开源):大模型多 GPU 张量并行、流水线并行、ZeRO 显存优化
- Megatron-LM:英伟达开源大模型 3D 并行范式(张量 / 流水线 / 数据并行)
十、C# / Java / Rust 小众语言 GPU 开源库
Rust
- wgpu:跨平台 Vulkan/OpenGL/DX12 GPU 计算 + 渲染(纯 Rust 开源)
- rust-cuda:Rust 绑定 CUDA 内核调用
- hip-rs:Rust 适配 AMD HIP
C#/.NET
- ILGPU:开源.NET GPU JIT 编译器,C# 直接写 GPU 并行代码,CUDA/OpenCL 后端
- MathNet.Numerics.GPU:OpenCL 矩阵加速
Java
- JavaCL:Java OpenCL 绑定
- Aparapi:Java 字节码直接编译为 GPU OpenCL 内核
十一、嵌入式 / 移动端 GPU 开源并行库
- Mali OpenCL SDK:ARM Mali GPU 嵌入式并行计算开源库
- Android GPU Compute (Vulkan Compute):移动端 GPU 推理加速
- Jetson CUDA SDK:NVIDIA Jetson 嵌入式 GPU 开源算子库
十二、核心选型对照表
| 开发场景 | 首选开源库 | 硬件适配 | 核心优势 |
|---|---|---|---|
| C++ 高性能超算异构开发 | Kokkos / RAJA | CUDA/ROCm/Intel/CPU | 一次代码多硬件部署 |
| Python 快速 GPU 原型、Numpy 加速 | CuPy / Numba CUDA | NVIDIA 为主,CuPy 支持 AMD | 零学习成本替换 numpy |
| CUDA 代码移植 AMD 显卡 | HIP(ROCm) | AMD/NVIDIA | 直接复用 CUDA 源码 |
| Python 不改动代码实现 GPU 并行 | Taichi | CUDA/Vulkan/CPU | 领域特定语法,仿真高效 |
| 深度学习多卡训练通信 | NCCL/RCCL + Horovod | NVIDIA/AMD | 带宽最优集合通信 |
| 跨厂商通用 GPGPU 开发 | SYCL(DPC++) / OpenCL | 全品牌 GPU | 硬件无绑定 |
| 移动端 / 嵌入式 GPU 计算 | Vulkan Compute / Mali OpenCL | ARM / 边缘 GPU | 低功耗并行 |
| .NET 平台 GPU 加速 | ILGPU | CUDA/OpenCL | C# 原生 GPU 内核 |
| GPU 大数据分析 | RAPIDS cuDF | NVIDIA | Pandas 级接口 GPU 加速 |
补充关键说明
- CUDA 核心运行时为闭源二进制,但所有上层数学库、算法库、封装接口、示例代码全部开源,可自由二次开发;
- ROCm 是目前唯一完整开源的全栈工业级 GPU 计算平台,无厂商锁定,适合国产化算力部署;
- SYCL/DPC++ 是长期异构并行技术路线,解决 CUDA 厂商锁定问题,适配国产 GPU(如壁仞、沐曦均支持 SYCL);
- JIT 类库(Numba、Taichi、ILGPU)适合快速迭代算法,底层 CUDA/HIP 适合极致性能调优。
常用 GPU 加速 & 并行计算开源库(附带 GitHub 开源地址 + 官网)
一、Python 快速 GPU 开发库(科研原型、算法加速首选)
1. CuPy(GPU 版 NumPy/SciPy)
- GitHub:https://github.com/cupy/cupyCuPy
- 官网:https://cupy.dev/CuPy
- 适配:NVIDIA CUDA、AMD ROCm
- 作用:直接替换 NumPy 实现 GPU 数值并行
2. Numba(Python JIT GPU 编译器)
- GitHub:https://github.com/numba/numba
- 官网:https://numba.pydata.org/
- 适配:NVIDIA CUDA
- 作用:Python 函数加装饰器编译 GPU 自定义核函数
3. Taichi(物理仿真 / 图形专用 GPU JIT)
- GitHub:https://github.com/taichi-dev/taichi
- 官网:https://www.taichi-lang.org/
- 适配:CUDA/Vulkan/OpenGL/CPU 全平台
- 作用:流体、粒子、有限元实时 GPU 仿真
4. RAPIDS cuDF(GPU Pandas 大数据分析)
- GitHub:https://github.com/rapidsai/cudfGitHub
- 官网:https://rapids.ai/
- 适配:NVIDIA CUDA
- 配套:cuML(GPU 机器学习)、cuGraph(GPU 图计算)
5. PyTorch(深度学习张量 GPU 并行)
- GitHub:https://github.com/pytorch/pytorch
- 官网:https://pytorch.org/
- 适配:CUDA、ROCm、Intel oneDNN
6. TensorFlow
二、C++ 高性能底层 GPU 并行库(生产部署、HPC 超算)
1. Thrust(NVIDIA STL 风格 GPU 并行算法)
- GitHub:https://github.com/NVIDIA/thrust
- 适配:CUDA
- 作用:GPU 排序、规约、变换、前缀和等通用并行原语
2. Kokkos(异构跨平台并行框架)
- GitHub:https://github.com/kokkos/kokkos
- 适配:CUDA / HIP / SYCL / OpenMP / CPU
- 作用:超算流体、有限元、粒子仿真一套代码多硬件部署
3. ArrayFire(通用 GPU 数值计算库)
- GitHub:https://github.com/arrayfire/arrayfire
- 官网:https://arrayfire.com/
- 适配:CUDA/OpenCL/CPU,C++/Python 双接口
4. Boost.Compute(OpenCL C++ 并行容器)
- GitHub:https://github.com/boostorg/compute
- 基于 OpenCL,STL 式 GPU 容器编程
三、跨厂商异构 GPU 开源栈(AMD/Intel/ 国产 GPU 兼容,摆脱 CUDA 绑定)
1. AMD ROCm + HIP(全开源 CUDA 兼容栈)
- ROCm 主仓库:https://github.com/ROCm/ROCm
- HIP:https://github.com/ROCm/HIP
- 配套算子:rocBLAS、rocFFT、MIOpen 全部在 ROCm 组织下开源
- 作用:CUDA 源码直接编译运行在 AMD 显卡
2. Intel DPC++ / SYCL oneAPI
- GitHub:https://github.com/intel/llvm(DPC++ 核心编译器)
- 官网:https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.html
- 适配:Intel Arc、NVIDIA、AMD、CPU、国产通用 GPU
3. POCL(纯开源 OpenCL 运行时,无闭源驱动)
- GitHub:https://github.com/pocl/pocl
- 作用:CPU / 嵌入式 GPU 纯开源 OpenCL 实现
四、深度学习底层 GPU 算子 & 推理加速开源库
1. MIOpen(AMD 开源深度学习算子,对标 cuDNN)
2. FlashAttention(大模型显存优化 Attention 算子)
3. vLLM(LLM 高吞吐 GPU 推理)
- GitHub:https://github.com/vllm-project/vllmvLLM
- 官网:https://docs.vllm.ai/vLLM
4. NCCL(NVIDIA 多 GPU 集合通信)
5. RCCL(AMD 版 NCCL)
- GitHub:https://github.com/ROCm/rccl
五、分布式多 GPU / 多节点并行框架(集群训练、超算)
1. Horovod(简化多机多卡分布式训练)
2. DeepSpeed(微软大模型显存优化分布式)
3. OpenMPI(CUDA-Aware MPI,超算节点通信)
六、图像、视频、渲染 GPU 加速开源库
1. OpenCV CUDA 模块
- GitHub:https://github.com/opencv/opencv
- GPU 图像滤波、特征、光流硬件加速
2. OIDN(Intel 光线追踪 GPU 降噪)
3. Embree(GPU 光线追踪相交计算)
4. FFmpeg(GPU 硬编解码)
- GitHub:https://github.com/FFmpeg/FFmpeg
- 支持 NVENC/NVDEC、AMF、QSV 硬件编解码
七、现代编程语言 GPU 库(Rust / C# .NET)
1. ILGPU(C#/.NET GPU JIT 编译器)
- GitHub:https://github.com/M4ks/ILGPU
- Windows 工业软件 C# 原生 GPU 并行
2. wgpu(Rust 跨平台 Vulkan 计算 / 渲染)
- GitHub:https://github.com/gfx-rs/wgpu
- 纯 Rust,跨平台无厂商锁定,边缘 GPU 程序首选
八、嵌入式边缘 GPU 计算
Jetson-Stats(NVIDIA Jetson 嵌入式监控 + 开发配套)
Rockchip Mali GPU 驱动(瑞芯微 RK3588 嵌入式 GPU)
补充说明
- cuDNN:NVIDIA 核心深度学习算子库,运行时二进制闭源,上层开发头文件与示例开源,无独立 GitHub 主仓库,从 NVIDIA 开发者官网获取;
- 所有 ROCm 生态组件(rocBLAS、rocFFT、rocSPARSE)统一托管在 GitHub 组织:
ROCm; - 以上仓库均可直接
git clone拉取源码编译部署,适配 Linux/Windows 开发环境。
一、C++ 高性能底层 GPU 加速 & 并行计算库(开源 + 源码地址、适配、核心用途)
1. NVIDIA CUDA 生态原生 C++ 库
Thrust
- 开源地址:https://github.com/NVIDIA/thrust
- 适配:NVIDIA CUDA
- 定位:STL 风格 GPU 高层并行算法库,内置
sort、reduce、scan、transform、复制、置换等并行原语,避免手写 CUDA 线程网格逻辑,C++ 直接调用。 - 适用:通用数值并行、数组处理、前置求和、大规模排序。
CUB
- 开源地址:https://github.com/NVIDIA/cub
- 适配:NVIDIA CUDA
- 定位:CUDA 底层高性能原语库(Block/Thread/Warp 级规约、扫描、Shuffle、原子操作),Thrust 底层依赖,极致性能调优必备。
cuBLAS / cuFFT / cuSPARSE / cuSOLVER
- 开源示例 & 头文件:NVIDIA CUDA Toolkit 自带开源 Sample
- 定位:GPU 基础线性代数、傅里叶变换、稀疏矩阵、方程求解底层算子,科学计算、CFD、仿真底层基石。
2. 跨厂商异构 C++ 并行框架(CUDA/ROCm/Intel/CPU 通用)
Kokkos
- 开源地址:https://github.com/kokkos/kokkos
- 后端:CUDA、HIP (AMD)、SYCL、OpenMP、Serial CPU
- 特点:一套 C++ 代码编译部署到 NVIDIA/AMD/Intel GPU、多核 CPU,HPC 超算主力,流体力学、有限元、粒子仿真、气候模拟。
RAJA
- 开源地址:https://github.com/LLNL/RAJA
- 适配:CUDA、HIP、OpenMP
- 定位:并行执行策略解耦,算法逻辑与硬件执行层分离,便于多硬件迁移、性能调优。
HIP (AMD ROCm)
- 开源地址:https://github.com/ROCm/HIP
- 定位:C++ 兼容层,直接编译 CUDA C++ 代码在 AMD GPU 运行,配套
rocBLAS/rocFFT算子库,实现 CUDA 代码低成本迁移 A 卡。
SYCL(Intel DPC++)
- 开源编译器:https://github.com/intel/llvm
- 定位:C++17 异构并行标准,单代码支持 CUDA/HIP/CPU/Intel Arc / 国产 GPU,无厂商锁定。
3. OpenCL 通用 C++ 计算库
Boost.Compute
- 开源地址:https://github.com/boostorg/compute
- 基于 OpenCL,Boost C++ 生态,STL 容器风格 GPU 编程,支持所有品牌 GPU、嵌入式 Mali。
ArrayFire
- 开源地址:https://github.com/arrayfire/arrayfire
- 后端:CUDA / OpenCL / CPU,C++ 核心 API,同时提供 Python 绑定,开箱即用矩阵、信号、图像并行算子,适合快速工程落地。
4. 光线追踪 / 图形计算底层 C++ 库
Embree
- 开源地址:https://github.com/embree/embree
- Intel 开源 GPU/CPU 光线求交核心库,路径追踪、光线投射底层加速。
OIDN (OpenImageDenoise)
- 开源地址:https://github.com/OpenImageDenoise/oidn
- GPU 光线追踪降噪 C++ 库,CUDA/HIP/SYCL 全适配。
二、深度学习专用 GPU 加速并行库(算子、推理、训练底层)
1. 卷积 / 深度学习基础算子库
MIOpen(AMD 开源,对标 cuDNN)
- 开源地址:https://github.com/ROCm/MIOpen
- 功能:卷积、BN、激活、池化、RNN、Transformer 底层算子,ROCm 深度学习底层依赖。
oneDNN (MKL-DNN,Intel 开源)
- 开源地址:https://github.com/oneapi-src/oneDNN
- 适配:CPU、Intel Arc GPU、NVIDIA,CNN/Transformer 通用算子优化。
FlashAttention
- 开源地址:https://github.com/HazyResearch/flash-attention
- C++/CUDA 实现显存优化注意力算子,大模型训练 & 推理核心优化组件。
Cutlass
- 开源地址:https://github.com/NVIDIA/cutlass
- NVIDIA 开源矩阵乘法模板库,自定义 FP16/FP8/INT8 混合精度 GEMM,大模型、卷积算子自定义开发。
2. 推理加速库(C++ 部署为主)
TensorRT
- 开源组件:TensorRT 开源示例、Plugin 仓库:https://github.com/NVIDIA/TensorRT
- 定位:NVIDIA 模型量化、算子融合、推理编译加速,工业部署标配。
TensorRT-LLM
- 开源地址:https://github.com/NVIDIA/TensorRT-LLM
- 大模型 GPU 推理专用,KV Cache 复用、量化、并行推理。
vLLM
- 开源地址:https://github.com/vllm-project/vllm
- 基于 PagedAttention 的高吞吐 LLM 推理,底层 CUDA C++ 核心算子。
ONNX Runtime
- 开源地址:https://github.com/microsoft/onnxruntime
- 多后端 GPU 推理(CUDA/TensorRT/ROCm/OpenVINO),C++ 生产部署。
OpenVINO
- 开源地址:https://github.com/openvinotoolkit/openvino
- Intel GPU/CPU/NPU 推理加速,C++ 接口。
3. 训练框架底层 GPU 模块
PyTorch C++ Frontend (LibTorch)
- 开源:https://github.com/pytorch/pytorch
- C++ 直接调用 PyTorch GPU 张量、卷积、优化器,C++ 训练 / 推理一体化。
TVM / Apache TVM
- 开源地址:https://github.com/apache/tvm
- 深度学习算子编译优化器,自动生成 CUDA/HIP/OpenCL 高性能内核,模型跨硬件编译部署。
三、分布式多 GPU 并行计算库(多卡集合通信、多节点并行、分布式训练)
1. GPU 集合通信底层(多卡 AllReduce/AllGather 核心)
NCCL (NVIDIA Collective Communications Library)
- 开源地址:https://github.com/NVIDIA/nccl
- NVIDIA 多 GPU 高速集合通信,基于 NVLink/PCIe,深度学习多卡训练标配。
RCCL (ROCm Collective Communications Library)
- 开源地址:https://github.com/ROCm/rccl
- AMD 对标 NCCL,AMD 多卡通信。
2. 分布式训练封装框架
Horovod
- 开源地址:https://github.com/horovod/horovod
- 封装 NCCL/RCCL,适配 PyTorch/TensorFlow/MXNet,一行代码开启多机多卡分布式训练。
Microsoft DeepSpeed
- 开源地址:https://github.com/microsoft/DeepSpeed
- ZeRO 显存优化、张量并行、流水线并行、CPU/GPU 混合分片,超大模型分布式训练。
Megatron-LM
- 开源地址:https://github.com/NVIDIA/Megatron-LM
- 大模型三维并行范式(数据并行 + 张量并行 + 流水线并行)底层实现。
3. HPC 超算多节点 GPU 并行(MPI+GPU)
OpenMPI (CUDA-Aware MPI)
- 开源地址:https://github.com/open-mpi/ompi
- 支持 GPU RDMA 直接通信,超算多节点 CFD、分子模拟、气候仿真分布式并行。
MPICH
- 开源地址:https://github.com/pmodels/mpich
- 工业级 MPI 实现,CUDA 感知分布式并行。
4. K8s 云原生 GPU 调度 + 监控配套
NVIDIA K8s Device Plugin
- 开源地址:https://github.com/NVIDIA/k8s-device-plugin
- Kubernetes 节点 GPU 虚拟化调度、卡绑定、资源隔离,集群 GPU 资源管理。
四、补充专项 GPU 加速库(图像、视频、大数据)
- OpenCV CUDA
仓库:https://github.com/opencv/opencvC++ GPU 图像滤波、特征检测、光流、立体匹配加速
- RAPIDS(GPU 大数据 C++ 底层)
仓库:https://github.com/rapidsaicuDF/cuML C++ 底层,GPU 结构化数据并行计算
- FFmpeg GPU 硬编解码
仓库:https://github.com/FFmpeg/FFmpegNVENC/NVDEC/AMF/QSV 硬件编解码 C++ 调用
选型精简总结
- C++ 底层跨硬件开发:Kokkos(首选)> HIP(AMD 迁移 CUDA)> Thrust(N 卡快速并行)
- 深度学习算子开发:Cutlass、FlashAttention、MIOpen
- 模型部署推理:TensorRT、ONNX Runtime、TVM
- 多 GPU 训练通信:NCCL + Horovod、DeepSpeed
- 超算分布式并行:CUDA-Aware OpenMPI + Kokkos

浙公网安备 33010602011771号