NVIDIA CUDA Python编程框架--Warp开发文档

NVIDIA CUDA Python编程框架–Warp开发文档

Warp 是一个用于编写高性能模拟和图形代码的 Python 框架。 Warp 采用常规 Python 函数,JIT 将它们编译为可以在 CPU 或 GPU 上运行的高效内核代码。

Warp 专为空间计算而设计,并附带一组丰富的原语,可以轻松编写物理模拟、感知、机器人和几何处理程序。 此外,Warp 内核是可微分的,可以用作 PyTorch 和 JAX 等框架的机器学习管道的一部分。

以下是使用 Warp 实现的模拟的一些示例:

快速开始

Warp 支持 Python 3.7 及以上版本。 它可以在 Windows、Linux 和 macOS 上的 x86-64 和 ARMv8 CPU 上运行。 GPU 支持需要支持 CUDA 的 NVIDIA GPU 和驱动程序(最低 GeForce GTX 9xx)。

安装 Warp 最简单的方法是通过 PyPI:

$ pip install warp-lang

发布页面上还提供了预构建的二进制包。 要在本地 Python 环境中安装,请提取存档并从根目录运行以下命令:

$ pip install .

基本示例

下面给出了计算随机 3D 向量长度的第一个程序示例:

import warp as wp
import numpy as np

wp.init()

num_points = 1024

@wp.kernel
def length(points: wp.array(dtype=wp.vec3),
           lengths: wp.array(dtype=float)):

    # thread index
    tid = wp.tid()

    # compute distance of each point from origin
    lengths[tid] = wp.length(points[tid])


# allocate an array of 3d points
points = wp.array(np.random.rand(num_points, 3), dtype=wp.vec3)
lengths = wp.zeros(num_points, dtype=float)

# launch kernel
wp.launch(kernel=length,
          dim=len(points),
          inputs=[points, lengths])

print(lengths)

其他示例

Github 存储库中的示例目录包含许多脚本,这些脚本展示了如何使用 Warp API 实现不同的模拟方法。 大多数示例将在与示例相同的目录中生成包含时间采样动画的 USD 文件。 在运行示例之前,用户应确保使用以下命令安装了 usd-core 软件包:

pip install usd-core

可以从命令行运行示例,如下所示:

python -m warp.examples.<example_subdir>.<example>

大多数示例可以在 CPU 或支持 CUDA 的设备上运行,但少数示例需要支持 CUDA 的设备。 这些标记在示例脚本的顶部。

USD 文件可以在 NVIDIA Omniverse、Pixar 的 UsdView 和 Blender 中查看或渲染。 请注意,不建议在 macOS 中使用预览,因为它对时间采样动画的支持有限。

内置单元测试可以从命令行运行,如下所示:

python -m warp.tests

注意: 下方示例点击图片可以直接跳转到示例代码

在以后章节中会逐步更新编程细节

examples/core#

examples/fem#

examples/optim#

examples/sim#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扫地的小何尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值