CVCUDA/CV-CUDA

CV-CUDA™ is an open-source, GPU accelerated library for cloud-scale image processing and computer vision.

CV‑CUDA – GPU 加速的计算机视觉库

它是什么

  • 一个开源的 NVIDIA 库,实现了大量图像和视频处理操作(调整大小、颜色转换、滤镜等),完全在 GPU 上运行。
  • 设计为 NVIDIA 硬件上 AI 流水线的高吞吐量、低延迟构建块——从云服务器到 Jetson 边缘设备。

主要功能

  • GPU 原生操作 – 所有函数都在 GPU 内存上操作,避免昂贵的主机-设备传输。
  • Python 和 C/C++ API – 通过 Python(通过 cvcuda wheel)或直接从 C/C++ 代码使用该库。
  • 广泛的硬件支持 – 适用于 x86_64 和 aarch64(包括基于 ARM 的 Grace 和 Jetson),支持 CUDA 12.x 或 13.x。
  • 与其他 NVIDIA 工具集成 – 示例展示了与 nvImageCodec 配合进行 GPU 直接 JPEG 解码,并且该库可以与其他 CUDA 加速组件链接。
  • 可扩展的打包 – 预构建的 Python wheel、Debian 包和源码构建;一次只能安装一个 CUDA 版本。

典型用例

  • 以视频规模速率预处理深度学习推理的帧(例如,调整大小、颜色转换、裁剪)。
  • 对延迟敏感的实时视觉搜索流水线。
  • Jetson 设备上的边缘 AI,需要处理摄像头流而无需 CPU 瓶颈。
  • 任何受益于在整个流水线中保持数据在 GPU 上的计算机视觉工作流。

入门

# 安装与您的 CUDA 版本匹配的 wheel
pip install cvcuda-cu12   # 适用于 CUDA 12.x
# 或
pip install cvcuda-cu13   # 适用于 CUDA 13.x

一个最小的 Python 示例(在 README 中展示):

import cvcuda
from nvidia import nvimgcodec

decoder = nvimgcodec.Decoder()
img = decoder.read('input.jpg')          # GPU 直接解码
tensor = cvcuda.as_tensor(img, 'HWC')    # 包装为 CV‑CUDA 张量
resized = cvcuda.resize(tensor, (224,224,3), cvcuda.Interp.LINEAR)

有关完整的安装细节——包括从源码构建、Docker 开发镜像和平台特定说明——请参阅在线文档:https://cvcuda.github.io/CV-CUDA/installation.html。

项目健康与社区

  • 由 NVIDIA 积极维护(最新版本 v0.19.0)。
  • 为 Linux(many‑linux、Ubuntu 22.04+、WSL2)和 aarch64 提供预构建二进制文件;Windows 仅通过 WSL2 支持。
  • 目前贡献仅限于 NVIDIA 内部团队,但用户可以通过 GitHub issues 提交错误或功能请求。
  • 根据 Apache‑2.0 许可,允许商业使用和修改。

为什么重要 CV‑CUDA 让开发者将整个视觉预处理栈保留在 GPU 上,消除了限制大规模 AI 服务吞吐量的经典 CPU‑GPU 瓶颈。通过提供基于 CPU 的库(例如 OpenCV)的即插即用、GPU 加速替代方案,它帮助 AI 团队在视觉搜索、视频增强和实时分析等任务中实现更高的帧率和更低的延迟。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目