新闻中心

NVIDIA 发布 CUDA Python 1.0:Python 成为 CUDA 平台一等开发语言 NEWS DETAIL

当前位置:首页 > 新闻中心
资讯分类 · 新闻中心 作者 · 超级管理员 审核人 · 内容审核团队 发布时间 · 2026-08-26 更新时间 · 2026-08-26 来源 · 本站

长期以来,需要调用 GPU 的 Python 开发者往往只有两条路可走:要么深入学习 CUDA C++ 自行编写扩展并维护绑定,要么依赖 PyTorch、CuPy、RAPIDS 等上层库。后一种选择造就了繁荣的 Python GPU 生态,但一旦需要用到库未暴露的能力,就会回到第一条路的门槛前。同时,不同库各自封装 CUDA,数据在同一块 GPU 显存上的协作往往依赖复杂的互操作协议。

随着 CUDA 13.3 的发布,NVIDIA 正式推出 CUDA Python 1.0——一组让开发者从 Python 获得完整 CUDA 平台能力的库与工具。本次一同落地的组件包括:cuda.core 1.0.0(对 CUDA 运行时的 Python 化访问)、cuda.compute 1.0.0(可在 Python 中调用的 CCCL 并行算法)、cuda.bindings 13.3.0(与 CUDA C API 一一对应的底层绑定,随 CUDA 工具包版本化)、cuda-pathfinder(定位环境中已安装的 CUDA 组件)以及 nvmath-python 1.0(NVIDIA 数学库的 Python 版本)。需要说明的是,"CUDA Python 1.0" 是一个里程碑命名而非具体的 pip 版本号,各组件独立版本,数字不同是刻意为之。

CUDA Python 1.0 的核心变化是引入语义化版本承诺:破坏性 API 变更只发生在大版本,小版本只增加功能,补丁版本只修复问题;任何计划移除的公开 API 都会先在小版本中废弃并给出明确的迁移路径。对于此前一直犹豫是否要在某个库之上构建应用的开发者而言,这一稳定性承诺正是最大的卖点。

更重要的是,CUDA Python 现在提供了统一的基础层。过去访问 CUDA 有多种绑定层可选,各自覆盖不同的 API 切片,对流、设备、内存各有各的定义;如今有了 NVIDIA 官方维护的统一途径,Numba 内核与 cuda.compute 调用可以在同一条流上操作同一个 GPU 缓冲区,对象可以跨库传递,因为它们底层是同一个对象。像 green contexts 这类对 GPU 流式多处理器进行分区的高级能力,也只需在 cuda.core 中实现一次,所有基于 cuda.core 的库都能使用。

自 CUDA 13.3 起,CUDA Python 与 C++ 成为平台上的平等公民,NVIDIA 承诺未来持续推进两者的特性对等。对库开发者而言,可以把精力放在自身特色上,而无需重复编写底层绑定;对应用开发者而言,依赖库会逐渐收敛到同一套基础设施上。