跳过主要内容
广告OpenFree logo推广你的产品触达更多潜在用户,助力产品增长与收益提升。投放广告
Favicon of CUDA Rust

CUDA Rust

Free 等级项目

CUDA Rust 是 NVIDIA 面向 Rust 的 CUDA 平台,提供用于 CUDA 驱动的宿主端运行时 crate,以及用惯用 Rust 编写 GPU 内核的设备端 crate 和工具,支持 SIMT 与 Tile 两种内核编程模型。

访问 NVIDIA/cuda-rust

项目简介

CUDA Rust 是 NVIDIA 面向 Rust 的 CUDA 平台。它提供用于对接 CUDA 驱动的宿主端运行时 crate,以及用于以惯用 Rust 编写 GPU 内核的设备端 crate 和工具。项目包含面向传统 SIMT 内核编程模型的 cuda-oxide 和面向 Tile 编程模型的 cutile-rs,并提供共享运行时 crate,覆盖驱动绑定、上下文、流、设备缓冲区、事件以及惰性、可组合的设备操作。

核心功能

  • 宿主端运行时 crate 包括 cuda-bindings、cuda-core(含 cuda-core-derive)和 cuda-async,提供驱动绑定、上下文、流、设备缓冲区、事件以及惰性、可组合的设备操作。cuda-oxide 提供自定义 rustc 代码生成后端、cargo 辅助工具和相关 crate,用于 CUDA SIMT 内核编程模型,并可访问设备端 CUDA 编程细节。cutile-rs 提供过程宏插件和相关 crate,用于 CUDA Tile

适用场景

  • 移植现有 CUDA C++ 内核,或需要对线程、warp、共享内存、TMA 或 cluster 操作进行直接控制时。问题可自然表达为张量计算,尤其是对密集数值数据进行数学运算时,Tile 模型更合适。问题稀疏、涉及指针追逐,或需要把传统数据结构映射到 GPU 时,SIMT 提供更多灵活性。应用可在同一流上通过共享设备缓冲区组合 Tile 和 SIMT 内核。

快速开始

  • 先从 CUDA Rust 文档开始;cuda-oxide 和 cutile-rs 各自有配套书籍,包含安装说明、指南和参考资料。运行时 crate cuda-bindings、cuda-core 和 cuda-async 的文档位于 cutile-rs 的书中。

部署与要求

  • cuda-oxide 使用由 cargo oxide 管理的固定稳定版 Rust 工具链 1.99.1。cutile-rs 需要稳定版 Rust 1.89 或更新版本。

采用前须知

  • 许可证:Apache-2.0。在使用、修改或分发项目前,请确认其具体条款。

评论

登录 后发表评论。

更多类似 CUDA Rust 的项目

Favicon of NVIDIA Kubernetes Engine

NVIDIA Kubernetes Engine

Free 等级项目星标数: 0.6K

面向 NVIDIA GPU 基础设施的托管 Kubernetes

流水线、部署与计算

NVIDIA Kubernetes Engine(NVKE)是面向 AI 工厂的开源软件,用于在自有 NVIDIA GPU 基础设施上运行托管 Kubernetes 服务。它通过 API 创建集群,负责节点配置、集群组建,以及节点池扩缩容、Kubernetes 升级、节点替换和证书续期。

Favicon of FlashMLA

FlashMLA

Free 等级项目星标数: 13.1K

面向 DeepSeek 推理的优化注意力算子

流水线、部署与计算

FlashMLA 是 DeepSeek 的高性能注意力算子库,支撑 DeepSeek-V4.1 在 NVIDIA GPU 与华为昇腾 NPU 上的推理。它提供面向 prefill 与 decoding 的 token 级稀疏注意力算子(支持 FP8 或 FP4 KV 缓存)、融合 Q-norm、Q-RoPE、注意力、O-RoPE 与 FP8 转换的融合算子,以及用于 prefill 和反向传播的稠密注意力算子。