概览
Warp 让开发者用接近 Python 的方式编写并行计算内核,再通过即时编译在 CPU 或受支持的 NVIDIA GPU 上执行。它提供向量、矩阵、几何查询和仿真相关组件,并支持把可微计算接入 PyTorch、JAX 等流程。适合需要自定义粒子、几何或优化计算的团队,将一个可测量的计算热点提取成内核,再比较结果正确性和性能。
主要功能
- Python 内核即时编译。
- 支持 CPU 与 CUDA 执行设备。
- 内建向量、矩阵和几何计算类型。
- 支持可微内核与机器学习集成。
- 包含物理、几何、优化与有限元示例。
- 提供示例浏览器及部分 USD 动画输出。
要求、安装和快速入门
1. 准备 Python 3.10 或更新版本。
2. 执行 pip install warp-lang,注意包名是 warp-lang。
3. 需要完整示例依赖时安装 pip install "warp-lang[examples]"。
4. 运行 python -m warp.examples.browse 浏览示例。
5. 参考 README 使用 @wp.kernel 定义内核、wp.array 建立数组、wp.launch 启动并行计算。
6. 先用小规模输入校验数值结果,再扩大数据量并测量性能。
2. 执行 pip install warp-lang,注意包名是 warp-lang。
3. 需要完整示例依赖时安装 pip install "warp-lang[examples]"。
4. 运行 python -m warp.examples.browse 浏览示例。
5. 参考 README 使用 @wp.kernel 定义内核、wp.array 建立数组、wp.launch 启动并行计算。
6. 先用小规模输入校验数值结果,再扩大数据量并测量性能。
用法
例如实现粒子受力更新,可把位置与速度存入数组,让每个线程处理一个粒子,分多步调用内核推进状态。先与简单参考实现比较数值,再测量批量运行耗时。若把仿真用于参数拟合,可进一步研究自动微分与优化示例,明确哪些操作在目标流程中支持梯度。
实施要点
首次执行可能包含编译开销,计时需区分预热与稳定运行。数组在主机和设备间复制也有成本,频繁回传数据可能抵消并行计算收益。任意 Python 代码不能直接作为 Warp 内核运行,应遵循其类型与编译规则。
实施要点
首次执行可能包含编译开销,计时需区分预热与稳定运行。数组在主机和设备间复制也有成本,频繁回传数据可能抵消并行计算收益。任意 Python 代码不能直接作为 Warp 内核运行,应遵循其类型与编译规则。
模型兼容性与使用场景
官方轮子覆盖 Windows x86-64、Linux x86-64/AArch64 和 Apple Silicon macOS。Windows 与 Linux 的 CUDA 加速需要兼容 NVIDIA GPU 与驱动;macOS 轮子支持 CPU,不提供 Metal 加速。
许可证与风险说明
Warp 主体采用 Apache-2.0;某些构建依赖和附带组件有单独条款,分发时应核对仓库 licenses 目录。