示例与教程
文档首页 · 快速开始 · English | 日本語 | Deutsch | Русский
1. NVIDIA 运行时示例
入口:ptx-runtime。
基础用例对长度 1、63、64、65、257 各执行两次 FP32 加法,逐元素检查结果并检查输出尾部 16 个哨兵值。它演示设备选择、数据上传、参数绑定、尾部边界、回读及重复执行。
构建和后端选择见快速开始。
2. 定向用例
以下参数放在命令的 -- 后。例如运行张量用例:
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --tensor
| 参数 | 内容 | 示例源码 |
|---|---|---|
--tensor |
张量元数据与布局相关检查 | tensor.rs |
--shared |
共享内存相关检查 | shared.rs |
--half |
FP16/BF16 相关检查 | half_precision.rs |
--bitwise |
位运算定向检查 | bitwise.rs |
--shared-over-limit |
共享内存超限诊断 | shared.rs |
--expect-cold |
断言发生编译且没有磁盘缓存命中 | 主入口 |
--expect-warm |
断言不重新编译且实际命中磁盘缓存 | 主入口 |
--shared-over-limit 是提前返回的独立分支,不应与冷/热缓存检查合并使用。
3. 冷缓存与热缓存
每条编译路径使用独立的新缓存目录,同一路径的冷/热两次运行复用该目录。
按快速开始选择编译路径后,在同一 PowerShell 会话执行:
$env:RUDA_PTX_TEST_CACHE = 'target/ptx-example-cache-' + [guid]::NewGuid().ToString('N')
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --expect-cold
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --expect-warm
两次命令之间不要改变编译器、输入参数或缓存路径。
4. 计算库示例
运行示例前,先准备构建环境。
| 任务 | 命令/指南 | 输出检查 |
|---|---|---|
| FP32 CSR 矩阵向量乘 | cargo run --locked -p ruSPARSE --features cuda --example csrmv |
示例回读并校验 [7.0, 2.0, 18.5] |
| CUDA Ring AllReduce | cargo run --locked -p ruCCL --features cuda --example all_reduce |
GPU 0 上四个逻辑 rank,257 个元素,Sum/Mean 与输入保持 |