July 14th, 2024

Nvidia Warp (a Python framework for writing high-performance code)

Warp is a Python framework for high-performance simulation and graphics, compiling functions for CPU or GPU. It supports spatial computing, differentiable kernels, PyTorch, JAX, and USD file generation. Installation options include PyPI and CUDA.

Read original articleLink Icon
Nvidia Warp (a Python framework for writing high-performance code)

Warp is a Python framework designed for high-performance simulation and graphics coding. It compiles regular Python functions into efficient kernel code for CPU or GPU execution, offering primitives for spatial computing in physics simulation, robotics, and more. Warp kernels are differentiable, compatible with machine learning frameworks like PyTorch and JAX. Users can install Warp from PyPI or build it from source for newer CUDA runtimes. The framework includes examples for computing vector lengths and various simulation methods, with scripts available on GitHub. Warp simulations can be run on CPU or CUDA devices, generating USD files for visualization in tools like Omniverse and Blender. The framework also integrates with Omniverse for extended functionality. Warp follows a versioning scheme similar to Python and is licensed under NVIDIA Software License. Contributions are welcome, and users are encouraged to cite Warp in research projects. The documentation provides detailed information on installation, usage, and advanced topics for users to explore.

Link Icon 9 comments
By @bionhoward - 7 months
I never get past the license, not sure what you can even use this for without breaking 2.7? Any ideas?

2.6 You may not use the Software in any manner that would cause it to become subject to an open source software license; subject to the terms in the “Components Under Other Licenses” section below.

2.7 You may not use the Software for the purpose of developing competing products or technologies or assist a third party in such activities.

By @agravier - 7 months
Looks like an alternative to https://www.taichi-lang.org/. Would like to see a comparison.
By @meisel - 7 months
This looks similar to Triton, I wonder what it does differently. But in any case, for any of these libraries, it would be awesome if it could output object files from this, with PTX or SASS code. Then it can be linked into a binary instead of needing a Python environment to run it.
By @dagmx - 7 months
By @openrisk - 7 months
Python and HPC is something receiving quite some attention. The reasoning is that the combination can unlock user productivity,the way it did for data science / machine learning with the use of standardized and (relatively) user-friendly libraries such as numpy/pandas. But the python+hpc end game is not yet visible. There are lots of incompatible frameworks, extensions, compilers etc but nothing sticking out as particularly compeling. Maybe this is the nature of the beast.
By @adamnemecek - 7 months
Can anyone comment on how this compares with Futhark?
By @dayeye2006 - 7 months
Triton is getting a lot of attention for its adoption in PyTorch2 compiler
By @ahrta - 7 months
So, everyone is betting on a language that is barely maintained, is somewhat abandoned by Google and is essentially in the hands of two other corporations.

Without a standard. Can we please focus on better C++ libraries for science so we can use any language for wrapping the result?