Skip to content

Commit 701113d

Browse files
committed
Merge branch 'ncapens/version-1.3.0' into 'main'
Update the release version to 1.3.0 See merge request omniverse/warp!639
2 parents 47e44bf + 0d1ecbd commit 701113d

File tree

7 files changed

+120
-6
lines changed

7 files changed

+120
-6
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CHANGELOG
22

3-
## [Upcoming Release] - 2024-??-??
3+
## [1.3.0] - 2024-07-25
44

55
- Warp Core improvements
66
- Update to CUDA 12.x by default (requires NVIDIA driver 525 or newer), please see [README.md](https://github.com/nvidia/warp?tab=readme-ov-file#installing) for commands to install CUDA 11.x binaries for older drivers

VERSION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.2.2
1+
1.3.0

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.2.2"
3+
version = "1.3.0"
44
authors = ["NVIDIA"]
55
title = "Warp Core"
66
description="The core Warp Python module"

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

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,62 @@
11
# CHANGELOG
22

3+
## [1.3.0] - 2024-07-25
4+
5+
- Warp Core improvements
6+
- Update to CUDA 12.x by default (requires NVIDIA driver 525 or newer), please see [README.md](https://github.com/nvidia/warp?tab=readme-ov-file#installing) for commands to install CUDA 11.x binaries for older drivers
7+
- Add information to the module load print outs to indicate whether a module was
8+
compiled `(compiled)`, loaded from the cache `(cached)`, or was unable to be
9+
loaded `(error)`.
10+
- `wp.config.verbose = True` now also prints out a message upon the entry to a `wp.ScopedTimer`.
11+
- Add `wp.clear_kernel_cache()` to the public API. This is equivalent to `wp.build.clear_kernel_cache()`.
12+
- Add code-completion support for `wp.config` variables.
13+
- Remove usage of a static task (thread) index for CPU kernels to address multithreading concerns ([GH-224](https://github.com/NVIDIA/warp/issues/224))
14+
- Improve error messages for unsupported Python operations such as sequence construction in kernels
15+
- Update `wp.matmul()` CPU fallback to use dtype explicitly in `np.matmul()` call
16+
- Add support for PEP 563's `from __future__ import annotations` ([GH-256](https://github.com/NVIDIA/warp/issues/256)).
17+
- Allow passing external arrays/tensors to `wp.launch()` directly via `__cuda_array_interface__` and `__array_interface__`, up to 2.5x faster conversion from PyTorch
18+
- Add faster Torch interop path using `return_ctype` argument to `wp.from_torch()`
19+
- Handle incompatible CUDA driver versions gracefully
20+
- Add `wp.abs()` and `wp.sign()` for vector types
21+
- Expose scalar arithmetic operators to Python's runtime (e.g.: `wp.float16(1.23) * wp.float16(2.34)`)
22+
- Add support for creating volumes with anisotropic transforms
23+
- Allow users to pass function arguments by keyword in a kernel using standard Python calling semantics
24+
- Add additional documentation and examples demonstrating `wp.copy()`, `wp.clone()`, and `array.assign()` differentiability
25+
- Add `__new__()` methods for all class `__del__()` methods to handle when a class instance is created but not instantiated before garbage collection
26+
- Implement the assignment operator for `wp.quat`
27+
- Make the geometry-related built-ins available only from within kernels
28+
- Rename the API-facing query types to remove their `_t` suffix: `wp.BVHQuery`, `wp.HashGridQuery`, `wp.MeshQueryAABB`, `wp.MeshQueryPoint`, and `wp.MeshQueryRay`
29+
- Add `wp.array(ptr=...)` to allow initializing arrays from pointer addresses inside of kernels ([GH-206](https://github.com/NVIDIA/warp/issues/206))
30+
31+
- `warp.autograd` improvements:
32+
- New `warp.autograd` module with utility functions `gradcheck()`, `jacobian()`, and `jacobian_fd()` for debugging kernel Jacobians ([docs](https://nvidia.github.io/warp/modules/differentiability.html#measuring-gradient-accuracy))
33+
- Add array overwrite detection, if `wp.config.verify_autograd_array_access` is true in-place operations on arrays on the Tape that could break gradient computation will be detected ([docs](https://nvidia.github.io/warp/modules/differentiability.html#array-overwrite-tracking))
34+
- Fix bug where modification of `@wp.func_replay` functions and native snippets would not trigger module recompilation
35+
- Add documentation for dynamic loop autograd limitations
36+
37+
- `warp.sim` improvements:
38+
- Improve memory usage and performance for rigid body contact handling when `self.rigid_mesh_contact_max` is zero (default behavior).
39+
- The `mask` argument to `wp.sim.eval_fk()` now accepts both integer and boolean arrays to mask articulations.
40+
- Fix handling of `ModelBuilder.joint_act` in `ModelBuilder.collapse_fixed_joints()` (affected floating-base systems)
41+
- Fix and improve implementation of `ModelBuilder.plot_articulation()` to visualize the articulation tree of a rigid-body mechanism
42+
- Fix ShapeInstancer `__new__()` method (missing instance return and `*args` parameter)
43+
- Fix handling of `upaxis` variable in `ModelBuilder` and the rendering thereof in `OpenGLRenderer`
44+
45+
- `warp.sparse` improvements:
46+
- Sparse matrix allocations (from `bsr_from_triplets()`, `bsr_axpy()`, etc.) can now be captured in CUDA graphs; exact number of non-zeros can be optionally requested asynchronously.
47+
- `bsr_assign()` now supports changing block shape (including CSR/BSR conversions)
48+
- Add Python operator overloads for common sparse matrix operations, e.g `A += 0.5 * B`, `y = x @ C`
49+
50+
- `warp.fem` new features and fixes:
51+
- Support for variable number of nodes per element
52+
- Global `wp.fem.lookup()` operator now supports `wp.fem.Tetmesh` and `wp.fem.Trimesh2D` geometries
53+
- Simplified defining custom subdomains (`wp.fem.Subdomain`), free-slip boundary conditions
54+
- New field types: `wp.fem.UniformField`, `wp.fem.ImplicitField` and `wp.fem.NonconformingField`
55+
- New `streamlines`, `magnetostatics` and `nonconforming_contact` examples, updated `mixed_elasticity` to use a nonlinear model
56+
- Function spaces can now export VTK-compatible cells for visualization
57+
- Fixed edge cases with NanoVDB function spaces
58+
- Fixed differentiability of `wp.fem.PicQuadrature` w.r.t. positions and measures
59+
360
## [1.2.2] - 2024-07-04
461

562
- Support for NumPy >= 2.0

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.2.2"
3+
version = "1.3.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.2.2", exact = true}
38+
"omni.warp.core" = {version = "1.3.0", exact = true}
3939

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

exts/omni.warp/docs/CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,62 @@
11
# CHANGELOG
22

3+
## [1.3.0] - 2024-07-25
4+
5+
- Warp Core improvements
6+
- Update to CUDA 12.x by default (requires NVIDIA driver 525 or newer), please see [README.md](https://github.com/nvidia/warp?tab=readme-ov-file#installing) for commands to install CUDA 11.x binaries for older drivers
7+
- Add information to the module load print outs to indicate whether a module was
8+
compiled `(compiled)`, loaded from the cache `(cached)`, or was unable to be
9+
loaded `(error)`.
10+
- `wp.config.verbose = True` now also prints out a message upon the entry to a `wp.ScopedTimer`.
11+
- Add `wp.clear_kernel_cache()` to the public API. This is equivalent to `wp.build.clear_kernel_cache()`.
12+
- Add code-completion support for `wp.config` variables.
13+
- Remove usage of a static task (thread) index for CPU kernels to address multithreading concerns ([GH-224](https://github.com/NVIDIA/warp/issues/224))
14+
- Improve error messages for unsupported Python operations such as sequence construction in kernels
15+
- Update `wp.matmul()` CPU fallback to use dtype explicitly in `np.matmul()` call
16+
- Add support for PEP 563's `from __future__ import annotations` ([GH-256](https://github.com/NVIDIA/warp/issues/256)).
17+
- Allow passing external arrays/tensors to `wp.launch()` directly via `__cuda_array_interface__` and `__array_interface__`, up to 2.5x faster conversion from PyTorch
18+
- Add faster Torch interop path using `return_ctype` argument to `wp.from_torch()`
19+
- Handle incompatible CUDA driver versions gracefully
20+
- Add `wp.abs()` and `wp.sign()` for vector types
21+
- Expose scalar arithmetic operators to Python's runtime (e.g.: `wp.float16(1.23) * wp.float16(2.34)`)
22+
- Add support for creating volumes with anisotropic transforms
23+
- Allow users to pass function arguments by keyword in a kernel using standard Python calling semantics
24+
- Add additional documentation and examples demonstrating `wp.copy()`, `wp.clone()`, and `array.assign()` differentiability
25+
- Add `__new__()` methods for all class `__del__()` methods to handle when a class instance is created but not instantiated before garbage collection
26+
- Implement the assignment operator for `wp.quat`
27+
- Make the geometry-related built-ins available only from within kernels
28+
- Rename the API-facing query types to remove their `_t` suffix: `wp.BVHQuery`, `wp.HashGridQuery`, `wp.MeshQueryAABB`, `wp.MeshQueryPoint`, and `wp.MeshQueryRay`
29+
- Add `wp.array(ptr=...)` to allow initializing arrays from pointer addresses inside of kernels ([GH-206](https://github.com/NVIDIA/warp/issues/206))
30+
31+
- `warp.autograd` improvements:
32+
- New `warp.autograd` module with utility functions `gradcheck()`, `jacobian()`, and `jacobian_fd()` for debugging kernel Jacobians ([docs](https://nvidia.github.io/warp/modules/differentiability.html#measuring-gradient-accuracy))
33+
- Add array overwrite detection, if `wp.config.verify_autograd_array_access` is true in-place operations on arrays on the Tape that could break gradient computation will be detected ([docs](https://nvidia.github.io/warp/modules/differentiability.html#array-overwrite-tracking))
34+
- Fix bug where modification of `@wp.func_replay` functions and native snippets would not trigger module recompilation
35+
- Add documentation for dynamic loop autograd limitations
36+
37+
- `warp.sim` improvements:
38+
- Improve memory usage and performance for rigid body contact handling when `self.rigid_mesh_contact_max` is zero (default behavior).
39+
- The `mask` argument to `wp.sim.eval_fk()` now accepts both integer and boolean arrays to mask articulations.
40+
- Fix handling of `ModelBuilder.joint_act` in `ModelBuilder.collapse_fixed_joints()` (affected floating-base systems)
41+
- Fix and improve implementation of `ModelBuilder.plot_articulation()` to visualize the articulation tree of a rigid-body mechanism
42+
- Fix ShapeInstancer `__new__()` method (missing instance return and `*args` parameter)
43+
- Fix handling of `upaxis` variable in `ModelBuilder` and the rendering thereof in `OpenGLRenderer`
44+
45+
- `warp.sparse` improvements:
46+
- Sparse matrix allocations (from `bsr_from_triplets()`, `bsr_axpy()`, etc.) can now be captured in CUDA graphs; exact number of non-zeros can be optionally requested asynchronously.
47+
- `bsr_assign()` now supports changing block shape (including CSR/BSR conversions)
48+
- Add Python operator overloads for common sparse matrix operations, e.g `A += 0.5 * B`, `y = x @ C`
49+
50+
- `warp.fem` new features and fixes:
51+
- Support for variable number of nodes per element
52+
- Global `wp.fem.lookup()` operator now supports `wp.fem.Tetmesh` and `wp.fem.Trimesh2D` geometries
53+
- Simplified defining custom subdomains (`wp.fem.Subdomain`), free-slip boundary conditions
54+
- New field types: `wp.fem.UniformField`, `wp.fem.ImplicitField` and `wp.fem.NonconformingField`
55+
- New `streamlines`, `magnetostatics` and `nonconforming_contact` examples, updated `mixed_elasticity` to use a nonlinear model
56+
- Function spaces can now export VTK-compatible cells for visualization
57+
- Fixed edge cases with NanoVDB function spaces
58+
- Fixed differentiability of `wp.fem.PicQuadrature` w.r.t. positions and measures
59+
360
## [1.2.2] - 2024-07-04
461

562
- Support for NumPy >= 2.0

warp/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from typing import Optional
99

10-
version: str = "1.2.2"
10+
version: str = "1.3.0"
1111
"""Warp version string"""
1212

1313
verify_fp: bool = False

0 commit comments

Comments
 (0)