Skip to content

Commit 75544df

Browse files
committed
Merge branch 'ershi/release-1.5-stable' into 'release-1.5'
Changes for the stable 1.5.0 release See merge request omniverse/warp!907
2 parents 81b7dc5 + 99d147e commit 75544df

20 files changed

+2725
-104
lines changed

CHANGELOG.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[documentation](https://nvidia.github.io/warp/modules/tiles.html) for details.
99
- Expose a `reversed()` built-in for iterators ([GH-311](https://github.com/NVIDIA/warp/issues/311)).
1010
- Support for saving Volumes into `.nvdb` files with the `save_to_nvdb` method.
11-
- warp.fem: Add `Trimesh3D` and `Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
11+
- warp.fem: Add `wp.fem.Trimesh3D` and `wp.fem.Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
1212
- warp.fem: Add `"add"` option to `wp.fem.integrate()` for accumulating integration result to existing output.
1313
- warp.fem: Add `"assembly"` option to `wp.fem.integrate()` for selecting between more memory-efficient or more
1414
computationally efficient integration algorithms.
@@ -22,33 +22,35 @@
2222
hard-coded value of 0.01 ([GH-329](https://github.com/NVIDIA/warp/issues/329)).
2323
- Add a `particle_radius` parameter to `wp.sim.ModelBuilder.add_cloth_mesh()` and `wp.sim.ModelBuilder.add_cloth_grid()`
2424
to set a uniform radius for the added particles.
25-
- Document `array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
25+
- Document `wp.array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
2626
- Document time-to-compile tradeoffs when using vector component assignment statements in kernels.
27+
- Add introductory Jupyter notebooks to the `notebooks` directory.
2728

2829
### Changed
2930

3031
- Drop support for Python 3.7; Python 3.8 is now the minimum-supported version.
3132
- Promote the `wp.Int`, `wp.Float`, and `wp.Scalar` generic annotation types to the public API.
3233
- warp.fem: Simplify querying neighboring cell quantities when integrating on sides using new
33-
`warp.fem.cells()`, `warp.fem.to_inner_cell()`, `warp.fem.to_outer_cell()` operators.
34+
`wp.fem.cells()`, `wp.fem.to_inner_cell()`, `wp.fem.to_outer_cell()` operators.
3435
- Show an error message when the type returned by a function differs from its annotation, which would have led to the compilation stage failing.
35-
- Clarify that `randn()` samples a normal distribution of mean 0 and variance 1.
36-
- Raise error when passing more than 32 variadic argument to the `wp.printf` built-in.
36+
- Clarify that `wp.randn()` samples a normal distribution of mean 0 and variance 1.
37+
- Raise error when passing more than 32 variadic argument to the `wp.printf()` built-in.
3738

3839
### Fixed
3940

4041
- Fix `place` setting of paddle backend.
4142
- warp.fem: Fix tri-cubic shape functions on quadrilateral meshes.
4243
- warp.fem: Fix caching of integrand kernels when changing code-generation options.
4344
- Fix `wp.expect_neq()` overloads missing for scalar types.
44-
- Fix the OpenGL renderer's window not closing when clicking the X button.
45-
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
46-
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
4745
- Fix an error when a `wp.kernel` or a `wp.func` object is annotated to return a `None` value.
4846
- Fix error when reading multi-volume, BLOSC-compressed `.nvdb` files.
4947
- Fix `wp.printf()` erroring out when no variadic arguments are passed ([GH-333](https://github.com/NVIDIA/warp/issues/333)).
5048
- Fix memory access issues in soft-rigid contact collisions ([GH-362](https://github.com/NVIDIA/warp/issues/362)).
5149
- Fix gradient propagation for in-place addition/subtraction operations on custom vector-type arrays.
50+
- Fix the OpenGL renderer's window not closing when clicking the X button.
51+
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
52+
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
53+
- Fix topology updates not being supported by the the OpenGL renderer.
5254

5355
## [1.4.2] - 2024-11-13
5456

@@ -1218,7 +1220,8 @@
12181220

12191221
- Initial publish for alpha testing
12201222

1221-
[Unreleased]: https://github.com/NVIDIA/warp/compare/v1.4.2...HEAD
1223+
[Unreleased]: https://github.com/NVIDIA/warp/compare/v1.5.0...HEAD
1224+
[1.5.0]: https://github.com/NVIDIA/warp/releases/tag/v1.5.0
12221225
[1.4.2]: https://github.com/NVIDIA/warp/releases/tag/v1.4.2
12231226
[1.4.1]: https://github.com/NVIDIA/warp/releases/tag/v1.4.1
12241227
[1.4.0]: https://github.com/NVIDIA/warp/releases/tag/v1.4.0

README.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ the `pip install` command, e.g.
4545

4646
| Platform | Install Command |
4747
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
48-
| Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.2/warp_lang-1.4.2+cu11-py3-none-manylinux2014_aarch64.whl` |
49-
| Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.2/warp_lang-1.4.2+cu11-py3-none-manylinux2014_x86_64.whl` |
50-
| Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.2/warp_lang-1.4.2+cu11-py3-none-win_amd64.whl` |
48+
| Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.5.0/warp_lang-1.5.0+cu11-py3-none-manylinux2014_aarch64.whl` |
49+
| Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.5.0/warp_lang-1.5.0+cu11-py3-none-manylinux2014_x86_64.whl` |
50+
| Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.5.0/warp_lang-1.5.0+cu11-py3-none-win_amd64.whl` |
5151

5252
The `--force-reinstall` option may need to be used to overwrite a previous installation.
5353

@@ -297,6 +297,31 @@ python -m warp.tests
297297
</tbody>
298298
</table>
299299

300+
## Running Notebooks
301+
302+
A few notebooks are available in the [notebooks](./notebooks/) directory to provide an overview over the key features available in Warp.
303+
304+
To run these notebooks, ``jupyterlab`` is required to be installed using:
305+
306+
307+
```text
308+
pip install jupyterlab
309+
```
310+
311+
From there, opening the notebooks can be done with the following command:
312+
313+
```text
314+
jupyter lab ./notebooks
315+
```
316+
317+
- [Warp Core Tutorial: Basics](https://github.com/NVIDIA/warp/tree/main/warp/notebooks/core_01_basics.ipynb) <a target="_blank" href="https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_01_basics.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
318+
- [Warp Core Tutorial: Generics](https://github.com/NVIDIA/warp/tree/main/warp/notebooks/core_02_generics.ipynb) <a target="_blank" href="https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/notebooks/core_02_generics.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
319+
- [Warp Core Tutorial: Points](https://github.com/NVIDIA/warp/tree/main/warp/notebooks/core_03_points.ipynb) <a target="_blank" href="https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/notebooks/core_03_points.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
320+
- [Warp Core Tutorial: Meshes](https://github.com/NVIDIA/warp/tree/main/warp/notebooks/core_04_meshes.ipynb) <a target="_blank" href="https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/notebooks/core_04_meshes.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
321+
- [Warp Core Tutorial: Volumes](https://github.com/NVIDIA/warp/tree/main/warp/notebooks/core_05_volumes.ipynb) <a target="_blank" href="https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/notebooks/core_05_volumes.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
322+
323+
324+
300325
## Building
301326

302327
For developers who want to build the library themselves, the following tools are required:

VERSION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.0-rc.2
1+
1.5.0

docs/modules/tiles.rst

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ Tiles
33

44
.. warning:: Tile-based operations in Warp are under preview, APIs are subject to change.
55

6-
Block-based programming models such as those in OpenAI Triton have proved to be effective ways of expressing high-performance kernels that can leverage cooperative operations on modern GPUs.
7-
8-
Warp 1.5.0 introduces tile extensions that expose a block-based programming to Warp kernels.
6+
Block-based programming models such as those in OpenAI Triton have proved to be effective ways of expressing high-performance kernels that can leverage cooperative operations on modern GPUs. With Warp 1.5.0 developers now have access to new tile-based programming primitives in Warp kernels. Leveraging cuBLASDx and cuFFTDx, these new tools provide developers with efficient matrix multiplication and Fourier transforms for accelerated simulation and scientific computing.
97

108
Requirements
119
------------
@@ -35,7 +33,7 @@ In the following example, we launch a grid of threads where each block is respon
3533
3634
# load a row from global memory
3735
t = wp.tile_load(array[i], i, TILE_SIZE)
38-
s = wp.sum(t)
36+
s = wp.tile_sum(t)
3937
...
4038
4139
wp.launch_tiled(compute, dim=[a.shape[0]], inputs=[a], block_dim=TILE_THREADS)
@@ -62,7 +60,7 @@ In Warp, tile objects are 2D arrays of data where the tile elements may be scala
6260
6361
# load a 2d tile from global memory
6462
t = wp.tile_load(array, i, j, m=TILE_M, n=TILE_N)
65-
s = wp.sum(t)
63+
s = wp.tile_sum(t)
6664
...
6765
6866
wp.launch_tiled(compute, dim=[a.shape[0]/TILE_M, a.shape[1]/TILE_N], inputs=[a], block_dim=TILE_THREADS)
@@ -193,8 +191,8 @@ Maps/Reductions
193191
* :func:`warp.tile_min`
194192
* :func:`warp.tile_max`
195193

196-
MathDx
197-
^^^^^^
194+
Linear Algebra
195+
^^^^^^^^^^^^^^
198196

199197
* :func:`warp.tile_matmul`
200198
* :func:`warp.tile_transpose`
@@ -241,7 +239,7 @@ Please see the :ref:`differentiability` section for more details.
241239
Building with MathDx
242240
--------------------
243241

244-
The tile operations described in `MathDx`_ require Warp to be built with the MathDx library.
242+
The tile operations described in `Linear Algebra`_ require Warp to be built with the MathDx library.
245243
Starting with Warp 1.5.0, PyPI distributions will come with out-of-the-box support for tile operations
246244
leveraging MathDx APIs.
247245

exts/omni.warp.core/config/extension.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
# Semantic Versioning is used: https://semver.org/
3-
version = "1.5.0-rc.2"
3+
version = "1.5.0"
44
authors = ["NVIDIA"]
55
title = "Warp Core"
66
description="The core Warp Python module"

exts/omni.warp.core/docs/CHANGELOG.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# CHANGELOG
22

3-
## [1.5.0-rc.2] - 2024-12-02
3+
## [1.5.0] - 2024-12-02
44

55
### Added
66

77
- Support for cooperative tile-based primitives using cuBLASDx and cuFFTDx, please see the tile
88
[documentation](https://nvidia.github.io/warp/modules/tiles.html) for details.
99
- Expose a `reversed()` built-in for iterators ([GH-311](https://github.com/NVIDIA/warp/issues/311)).
1010
- Support for saving Volumes into `.nvdb` files with the `save_to_nvdb` method.
11-
- warp.fem: Add `Trimesh3D` and `Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
11+
- warp.fem: Add `wp.fem.Trimesh3D` and `wp.fem.Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
1212
- warp.fem: Add `"add"` option to `wp.fem.integrate()` for accumulating integration result to existing output.
1313
- warp.fem: Add `"assembly"` option to `wp.fem.integrate()` for selecting between more memory-efficient or more
1414
computationally efficient integration algorithms.
@@ -22,33 +22,35 @@
2222
hard-coded value of 0.01 ([GH-329](https://github.com/NVIDIA/warp/issues/329)).
2323
- Add a `particle_radius` parameter to `wp.sim.ModelBuilder.add_cloth_mesh()` and `wp.sim.ModelBuilder.add_cloth_grid()`
2424
to set a uniform radius for the added particles.
25-
- Document `array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
25+
- Document `wp.array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
2626
- Document time-to-compile tradeoffs when using vector component assignment statements in kernels.
27+
- Add introductory Jupyter notebooks to the `notebooks` directory.
2728

2829
### Changed
2930

3031
- Drop support for Python 3.7; Python 3.8 is now the minimum-supported version.
3132
- Promote the `wp.Int`, `wp.Float`, and `wp.Scalar` generic annotation types to the public API.
3233
- warp.fem: Simplify querying neighboring cell quantities when integrating on sides using new
33-
`warp.fem.cells()`, `warp.fem.to_inner_cell()`, `warp.fem.to_outer_cell()` operators.
34+
`wp.fem.cells()`, `wp.fem.to_inner_cell()`, `wp.fem.to_outer_cell()` operators.
3435
- Show an error message when the type returned by a function differs from its annotation, which would have led to the compilation stage failing.
35-
- Clarify that `randn()` samples a normal distribution of mean 0 and variance 1.
36-
- Raise error when passing more than 32 variadic argument to the `wp.printf` built-in.
36+
- Clarify that `wp.randn()` samples a normal distribution of mean 0 and variance 1.
37+
- Raise error when passing more than 32 variadic argument to the `wp.printf()` built-in.
3738

3839
### Fixed
3940

4041
- Fix `place` setting of paddle backend.
4142
- warp.fem: Fix tri-cubic shape functions on quadrilateral meshes.
4243
- warp.fem: Fix caching of integrand kernels when changing code-generation options.
4344
- Fix `wp.expect_neq()` overloads missing for scalar types.
44-
- Fix the OpenGL renderer's window not closing when clicking the X button.
45-
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
46-
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
4745
- Fix an error when a `wp.kernel` or a `wp.func` object is annotated to return a `None` value.
4846
- Fix error when reading multi-volume, BLOSC-compressed `.nvdb` files.
4947
- Fix `wp.printf()` erroring out when no variadic arguments are passed ([GH-333](https://github.com/NVIDIA/warp/issues/333)).
5048
- Fix memory access issues in soft-rigid contact collisions ([GH-362](https://github.com/NVIDIA/warp/issues/362)).
5149
- Fix gradient propagation for in-place addition/subtraction operations on custom vector-type arrays.
50+
- Fix the OpenGL renderer's window not closing when clicking the X button.
51+
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
52+
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
53+
- Fix topology updates not being supported by the the OpenGL renderer.
5254

5355
## [1.4.2] - 2024-11-13
5456

exts/omni.warp/config/extension.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
# Semantic Versioning is used: https://semver.org/
3-
version = "1.5.0-rc.2"
3+
version = "1.5.0"
44
authors = ["NVIDIA"]
55
title = "Warp"
66
description="Warp OmniGraph Nodes and Sample Scenes"
@@ -35,7 +35,7 @@ exclude = ["Ogn*Database.py", "*/ogn*"]
3535
"omni.timeline" = {}
3636
"omni.ui" = {optional = true}
3737
"omni.usd" = {}
38-
"omni.warp.core" = {version = "1.5.0-rc.2", exact = true}
38+
"omni.warp.core" = {version = "1.5.0", exact = true}
3939

4040
[[python.module]]
4141
name = "omni.warp._extension"

exts/omni.warp/docs/CHANGELOG.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# CHANGELOG
22

3-
## [1.5.0-rc.2] - 2024-12-02
3+
## [1.5.0] - 2024-12-02
44

55
### Added
66

77
- Support for cooperative tile-based primitives using cuBLASDx and cuFFTDx, please see the tile
88
[documentation](https://nvidia.github.io/warp/modules/tiles.html) for details.
99
- Expose a `reversed()` built-in for iterators ([GH-311](https://github.com/NVIDIA/warp/issues/311)).
1010
- Support for saving Volumes into `.nvdb` files with the `save_to_nvdb` method.
11-
- warp.fem: Add `Trimesh3D` and `Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
11+
- warp.fem: Add `wp.fem.Trimesh3D` and `wp.fem.Quadmesh3D` geometry types for 3D surfaces with new `example_distortion_energy` example.
1212
- warp.fem: Add `"add"` option to `wp.fem.integrate()` for accumulating integration result to existing output.
1313
- warp.fem: Add `"assembly"` option to `wp.fem.integrate()` for selecting between more memory-efficient or more
1414
computationally efficient integration algorithms.
@@ -22,33 +22,35 @@
2222
hard-coded value of 0.01 ([GH-329](https://github.com/NVIDIA/warp/issues/329)).
2323
- Add a `particle_radius` parameter to `wp.sim.ModelBuilder.add_cloth_mesh()` and `wp.sim.ModelBuilder.add_cloth_grid()`
2424
to set a uniform radius for the added particles.
25-
- Document `array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
25+
- Document `wp.array` attributes ([GH-364](https://github.com/NVIDIA/warp/issues/364)).
2626
- Document time-to-compile tradeoffs when using vector component assignment statements in kernels.
27+
- Add introductory Jupyter notebooks to the `notebooks` directory.
2728

2829
### Changed
2930

3031
- Drop support for Python 3.7; Python 3.8 is now the minimum-supported version.
3132
- Promote the `wp.Int`, `wp.Float`, and `wp.Scalar` generic annotation types to the public API.
3233
- warp.fem: Simplify querying neighboring cell quantities when integrating on sides using new
33-
`warp.fem.cells()`, `warp.fem.to_inner_cell()`, `warp.fem.to_outer_cell()` operators.
34+
`wp.fem.cells()`, `wp.fem.to_inner_cell()`, `wp.fem.to_outer_cell()` operators.
3435
- Show an error message when the type returned by a function differs from its annotation, which would have led to the compilation stage failing.
35-
- Clarify that `randn()` samples a normal distribution of mean 0 and variance 1.
36-
- Raise error when passing more than 32 variadic argument to the `wp.printf` built-in.
36+
- Clarify that `wp.randn()` samples a normal distribution of mean 0 and variance 1.
37+
- Raise error when passing more than 32 variadic argument to the `wp.printf()` built-in.
3738

3839
### Fixed
3940

4041
- Fix `place` setting of paddle backend.
4142
- warp.fem: Fix tri-cubic shape functions on quadrilateral meshes.
4243
- warp.fem: Fix caching of integrand kernels when changing code-generation options.
4344
- Fix `wp.expect_neq()` overloads missing for scalar types.
44-
- Fix the OpenGL renderer's window not closing when clicking the X button.
45-
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
46-
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
4745
- Fix an error when a `wp.kernel` or a `wp.func` object is annotated to return a `None` value.
4846
- Fix error when reading multi-volume, BLOSC-compressed `.nvdb` files.
4947
- Fix `wp.printf()` erroring out when no variadic arguments are passed ([GH-333](https://github.com/NVIDIA/warp/issues/333)).
5048
- Fix memory access issues in soft-rigid contact collisions ([GH-362](https://github.com/NVIDIA/warp/issues/362)).
5149
- Fix gradient propagation for in-place addition/subtraction operations on custom vector-type arrays.
50+
- Fix the OpenGL renderer's window not closing when clicking the X button.
51+
- Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
52+
- Fix custom colors being ignored when rendering meshes in OpenGL ([GH-343](https://github.com/NVIDIA/warp/issues/343)).
53+
- Fix topology updates not being supported by the the OpenGL renderer.
5254

5355
## [1.4.2] - 2024-11-13
5456

0 commit comments

Comments
 (0)