Skip to content

Commit e68a431

Browse files
committed
Initial v1.9.0 release candidate
Signed-off-by: Eric Shi <[email protected]>
1 parent 4648d97 commit e68a431

File tree

11 files changed

+186
-15
lines changed

11 files changed

+186
-15
lines changed

.gitlab/ci/cuda-13-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ create pypi wheels:
141141
script:
142142
- sed -i "s/^\(.*\)$/\1+cu13/" VERSION.md # Modify VERSION.md with +cu13
143143
- uv build --wheel -C--build-option=-Pwindows-x86_64
144-
- uv build --wheel -C--build-option=-Plinux-x86_64 -C--build-option=-Mmanylinux2014
145-
- uv build --wheel -C--build-option=-Plinux-aarch64 -C--build-option=-Mmanylinux2014
144+
- uv build --wheel -C--build-option=-Plinux-x86_64 -C--build-option=-Mmanylinux_2_34
145+
- uv build --wheel -C--build-option=-Plinux-aarch64 -C--build-option=-Mmanylinux_2_34
146146
- find . -type f -exec chmod 664 {} +
147147
- find . -type d -exec chmod 775 {} +
148148
artifacts:

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
## [Unreleased] - 2025-??
3+
## [1.9.0] - 2025-09-04
44

55
### Added
66

@@ -1790,7 +1790,8 @@
17901790

17911791
- Initial publish for alpha testing
17921792

1793-
[Unreleased]: https://github.com/NVIDIA/warp/compare/v1.8.1...HEAD
1793+
[Unreleased]: https://github.com/NVIDIA/warp/compare/v1.8.0...HEAD
1794+
[1.9.0]: https://github.com/NVIDIA/warp/releases/tag/v1.9.0
17941795
[1.8.1]: https://github.com/NVIDIA/warp/releases/tag/v1.8.1
17951796
[1.8.0]: https://github.com/NVIDIA/warp/releases/tag/v1.8.0
17961797
[1.7.2]: https://github.com/NVIDIA/warp/releases/tag/v1.7.2

README.md

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

4848
| Platform | Install Command |
4949
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
50-
| Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.8.1/warp_lang-1.8.1+cu11-py3-none-manylinux2014_aarch64.whl` |
51-
| Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.8.1/warp_lang-1.8.1+cu11-py3-none-manylinux2014_x86_64.whl` |
52-
| Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.8.1/warp_lang-1.8.1+cu11-py3-none-win_amd64.whl` |
50+
| Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux_2_34_aarch64.whl` |
51+
| Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux_2_34_x86_64.whl` |
52+
| Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-win_amd64.whl` |
5353

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

VERSION.md

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

docs/installation.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ the ``pip install`` command, e.g.
6060
* - Platform
6161
- Install Command
6262
* - Linux aarch64
63-
- ``pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux2014_aarch64.whl``
63+
- ``pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux_2_34_aarch64.whl``
6464
* - Linux x86-64
65-
- ``pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux2014_x86_64.whl``
65+
- ``pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-manylinux_2_34_x86_64.whl``
6666
* - Windows x86-64
6767
- ``pip install https://github.com/NVIDIA/warp/releases/download/v1.9.0/warp_lang-1.9.0+cu13-py3-none-win_amd64.whl``
6868

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

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

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

3+
## [1.9.0-rc.1] - 2025-09-04
4+
5+
### Added
6+
7+
- Add `wp.MarchingCubes.extract_surface_marching_cubes()` to extract a triangular mesh from a 3D scalar field
8+
([GH-788](https://github.com/NVIDIA/warp/issues/788)).
9+
- Add an OpenGL example demonstrating how to use ImGui ([GH-833](https://github.com/NVIDIA/warp/issues/833)).
10+
- Add support for displaying and editing Warp vector and array types in ImGui
11+
([GH-844](https://github.com/NVIDIA/warp/issues/844)).
12+
- Add support for retrieving the memory address of a Warp array in kernels as `array.ptr`
13+
([GH-819](https://github.com/NVIDIA/warp/issues/819)).
14+
- Add support for using struct types in the `wp.array()` constructor inside kernels
15+
([GH-853](https://github.com/NVIDIA/warp/issues/853)).
16+
- Add support for initializing fixed-size arrays inside kernels using `wp.zeros()`
17+
([GH-794](https://github.com/NVIDIA/warp/issues/794)).
18+
- Add support for `IntEnum` and `IntFlag` inside Warp kernels ([GH-529](https://github.com/NVIDIA/warp/issues/529)).
19+
- Add support for building Warp with CUDA 13.
20+
- Add `bounds_check` optimization option to `wp.tile_load()`, `wp.tile_store()`, and `wp.tile_atomic_add()`
21+
([GH-797](https://github.com/NVIDIA/warp/issues/797))
22+
- Add indexed tile load builtin (`wp.tile_index_load()`) ([GH-796](https://github.com/NVIDIA/warp/issues/796)).
23+
- Add indexed tile store builtin (`wp.tile_index_store()`) ([GH-684](https://github.com/NVIDIA/warp/issues/684)).
24+
- Add indexed tile atomic add builtin (`wp.tile_index_atomic_add()`) ([GH-684](https://github.com/NVIDIA/warp/issues/684)).
25+
- Add optional `block_dim` argument to `wp.load_module()` and `wp.force_load()`.
26+
27+
### Removed
28+
29+
- Remove support for building Warp with CUDA 11.
30+
31+
### Deprecated
32+
33+
- Deprecate support for Intel-based macOS (x86_64) with removal targeted in late 2025.
34+
We will continue to support Apple Silicon-based Macs with the CPU backend.
35+
Users on Intel-based hardware will now receive a `DeprecationWarning` with this information.
36+
37+
### Changed
38+
39+
- Strictly match arguments for user-function calls from the Python scope to the function's signature, mirroring the
40+
behavior of built-ins.
41+
- Enforce a consistent `wp_` prefix for all exported, C-style symbols to prevent name conflicts
42+
([GH-792](https://github.com/NVIDIA/warp/issues/792)).
43+
- Rewrite `wp.MarchingCubes`in pure Warp for cross-platform support and differentiability
44+
([GH-788](https://github.com/NVIDIA/warp/issues/788)).
45+
- Allow dynamic shapes when constructing a `wp.array` from a pointer inside a kernel.
46+
- Allow functions passed to `wp.tile_map()` to return a different type than their input arguments
47+
([GH-732](https://github.com/NVIDIA/warp/issues/732)).
48+
- Use codegen instead of function evaluation to infer return types for `wp.map()`
49+
([GH-732](https://github.com/NVIDIA/warp/issues/732)).
50+
- Enable `warp.sparse` to efficiently on sparse matrices with arbitrarily-sized blocks and leverage tiled
51+
computations when relevant ([GH-838](https://github.com/NVIDIA/warp/issues/838)).
52+
- Enable opportunistic use of tile-based computations in `warp.fem.integrate` for quadrature-point accumulation
53+
([GH-854](https://github.com/NVIDIA/warp/issues/854)).
54+
- Use an extended-length default cache path on Windows to prevent build errors
55+
([GH-870](https://github.com/NVIDIA/warp/issues/870)).
56+
- Add support for `wp.breakpoint()` in CUDA kernels on Linux systems. This feature is not available on Windows, as the
57+
underlying CUDA-GDB debugger only supports Linux targets ([GH-795](https://github.com/NVIDIA/warp/issues/795)).
58+
- Arguments for CPU kernels are now passed as a pointer to a structure to avoid a bug in the ARM64 calling convention
59+
implementation of the libffi library ([GH-356](https://github.com/NVIDIA/warp/issues/356)).
60+
- Skip generating code for adjoint functions not referenced by any backward kernel, reducing JIT compilation time
61+
([GH-841](https://github.com/NVIDIA/warp/issues/841)).
62+
- Define and re-export Warp's public Python-scope API in `__init__.py` using typing re-export conventions
63+
(e.g. `from Y import X as X`) to improve static type checker support
64+
([GH-864](https://github.com/NVIDIA/warp/issues/864)).
65+
- Improve error messages for MathDx-based tile operations that fail to compile (e.g., `Failed to compile LTO`)
66+
([GH-608](https://github.com/NVIDIA/warp/issues/608), [GH-911](https://github.com/NVIDIA/warp/issues/911)).
67+
- Improve error detection and reporting in conditional graphs ([GH-866](https://github.com/NVIDIA/warp/issues/866)).
68+
69+
### Fixed
70+
71+
- Fix FfiCallable to skip 'return' argument in FFI callback registration ([GH-893](https://github.com/NVIDIA/warp/issues/893)).
72+
- Fix calling user functions from Python scope not working with array parameters.
73+
- Fix an off-by-one error in marching cubes output coordinates to align with the `scikit-image` convention
74+
([GH-324](https://github.com/NVIDIA/warp/issues/324)).
75+
- Fix compatibility of the OpenGL renderer with macOS ([GH-834](https://github.com/NVIDIA/warp/issues/834))
76+
- Fix evaluation of Discontinuous Galerkin gradients for `warp.fem` discrete fields.
77+
- Work around caching issue ([GH-637](https://github.com/NVIDIA/warp/issues/637)) with operator evaluation in
78+
`warp.fem` integrands.
79+
- Fix adding superfluous inactive nodes to tetrahedron polynomial function spaces in `warp.fem`.
80+
- Fix `str()` and `repr()` implementations missing for scalar types at the Python scope
81+
([GH-863](https://github.com/NVIDIA/warp/issues/863)).
82+
- Fix support for write operations on nested matrices ([GH-793](https://github.com/NVIDIA/warp/issues/793)).
83+
- Fix `#line` directives for Python↔CUDA source correlation not being emitted by default when a module is compiled in
84+
debug mode ([GH-901](https://github.com/NVIDIA/warp/issues/901)).
85+
- Fix 2D shared tile allocation/de-allocation bug inside Warp functions ([GH-877](https://github.com/NVIDIA/warp/issues/877)).
86+
- Fix loading "unique" modules using `wp.load_module()`.
87+
388
## [1.8.1] - 2025-08-01
489

590
### Deprecated

exts/omni.warp/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.8.1"
3+
version = "1.9.0-rc.1"
44
authors = ["NVIDIA"]
55
title = "Warp"
66
description="Warp OmniGraph Nodes and Sample Scenes"

exts/omni.warp/docs/CHANGELOG.md

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

3+
## [1.9.0-rc.1] - 2025-09-04
4+
5+
### Added
6+
7+
- Add `wp.MarchingCubes.extract_surface_marching_cubes()` to extract a triangular mesh from a 3D scalar field
8+
([GH-788](https://github.com/NVIDIA/warp/issues/788)).
9+
- Add an OpenGL example demonstrating how to use ImGui ([GH-833](https://github.com/NVIDIA/warp/issues/833)).
10+
- Add support for displaying and editing Warp vector and array types in ImGui
11+
([GH-844](https://github.com/NVIDIA/warp/issues/844)).
12+
- Add support for retrieving the memory address of a Warp array in kernels as `array.ptr`
13+
([GH-819](https://github.com/NVIDIA/warp/issues/819)).
14+
- Add support for using struct types in the `wp.array()` constructor inside kernels
15+
([GH-853](https://github.com/NVIDIA/warp/issues/853)).
16+
- Add support for initializing fixed-size arrays inside kernels using `wp.zeros()`
17+
([GH-794](https://github.com/NVIDIA/warp/issues/794)).
18+
- Add support for `IntEnum` and `IntFlag` inside Warp kernels ([GH-529](https://github.com/NVIDIA/warp/issues/529)).
19+
- Add support for building Warp with CUDA 13.
20+
- Add `bounds_check` optimization option to `wp.tile_load()`, `wp.tile_store()`, and `wp.tile_atomic_add()`
21+
([GH-797](https://github.com/NVIDIA/warp/issues/797))
22+
- Add indexed tile load builtin (`wp.tile_index_load()`) ([GH-796](https://github.com/NVIDIA/warp/issues/796)).
23+
- Add indexed tile store builtin (`wp.tile_index_store()`) ([GH-684](https://github.com/NVIDIA/warp/issues/684)).
24+
- Add indexed tile atomic add builtin (`wp.tile_index_atomic_add()`) ([GH-684](https://github.com/NVIDIA/warp/issues/684)).
25+
- Add optional `block_dim` argument to `wp.load_module()` and `wp.force_load()`.
26+
27+
### Removed
28+
29+
- Remove support for building Warp with CUDA 11.
30+
31+
### Deprecated
32+
33+
- Deprecate support for Intel-based macOS (x86_64) with removal targeted in late 2025.
34+
We will continue to support Apple Silicon-based Macs with the CPU backend.
35+
Users on Intel-based hardware will now receive a `DeprecationWarning` with this information.
36+
37+
### Changed
38+
39+
- Strictly match arguments for user-function calls from the Python scope to the function's signature, mirroring the
40+
behavior of built-ins.
41+
- Enforce a consistent `wp_` prefix for all exported, C-style symbols to prevent name conflicts
42+
([GH-792](https://github.com/NVIDIA/warp/issues/792)).
43+
- Rewrite `wp.MarchingCubes`in pure Warp for cross-platform support and differentiability
44+
([GH-788](https://github.com/NVIDIA/warp/issues/788)).
45+
- Allow dynamic shapes when constructing a `wp.array` from a pointer inside a kernel.
46+
- Allow functions passed to `wp.tile_map()` to return a different type than their input arguments
47+
([GH-732](https://github.com/NVIDIA/warp/issues/732)).
48+
- Use codegen instead of function evaluation to infer return types for `wp.map()`
49+
([GH-732](https://github.com/NVIDIA/warp/issues/732)).
50+
- Enable `warp.sparse` to efficiently on sparse matrices with arbitrarily-sized blocks and leverage tiled
51+
computations when relevant ([GH-838](https://github.com/NVIDIA/warp/issues/838)).
52+
- Enable opportunistic use of tile-based computations in `warp.fem.integrate` for quadrature-point accumulation
53+
([GH-854](https://github.com/NVIDIA/warp/issues/854)).
54+
- Use an extended-length default cache path on Windows to prevent build errors
55+
([GH-870](https://github.com/NVIDIA/warp/issues/870)).
56+
- Add support for `wp.breakpoint()` in CUDA kernels on Linux systems. This feature is not available on Windows, as the
57+
underlying CUDA-GDB debugger only supports Linux targets ([GH-795](https://github.com/NVIDIA/warp/issues/795)).
58+
- Arguments for CPU kernels are now passed as a pointer to a structure to avoid a bug in the ARM64 calling convention
59+
implementation of the libffi library ([GH-356](https://github.com/NVIDIA/warp/issues/356)).
60+
- Skip generating code for adjoint functions not referenced by any backward kernel, reducing JIT compilation time
61+
([GH-841](https://github.com/NVIDIA/warp/issues/841)).
62+
- Define and re-export Warp's public Python-scope API in `__init__.py` using typing re-export conventions
63+
(e.g. `from Y import X as X`) to improve static type checker support
64+
([GH-864](https://github.com/NVIDIA/warp/issues/864)).
65+
- Improve error messages for MathDx-based tile operations that fail to compile (e.g., `Failed to compile LTO`)
66+
([GH-608](https://github.com/NVIDIA/warp/issues/608), [GH-911](https://github.com/NVIDIA/warp/issues/911)).
67+
- Improve error detection and reporting in conditional graphs ([GH-866](https://github.com/NVIDIA/warp/issues/866)).
68+
69+
### Fixed
70+
71+
- Fix FfiCallable to skip 'return' argument in FFI callback registration ([GH-893](https://github.com/NVIDIA/warp/issues/893)).
72+
- Fix calling user functions from Python scope not working with array parameters.
73+
- Fix an off-by-one error in marching cubes output coordinates to align with the `scikit-image` convention
74+
([GH-324](https://github.com/NVIDIA/warp/issues/324)).
75+
- Fix compatibility of the OpenGL renderer with macOS ([GH-834](https://github.com/NVIDIA/warp/issues/834))
76+
- Fix evaluation of Discontinuous Galerkin gradients for `warp.fem` discrete fields.
77+
- Work around caching issue ([GH-637](https://github.com/NVIDIA/warp/issues/637)) with operator evaluation in
78+
`warp.fem` integrands.
79+
- Fix adding superfluous inactive nodes to tetrahedron polynomial function spaces in `warp.fem`.
80+
- Fix `str()` and `repr()` implementations missing for scalar types at the Python scope
81+
([GH-863](https://github.com/NVIDIA/warp/issues/863)).
82+
- Fix support for write operations on nested matrices ([GH-793](https://github.com/NVIDIA/warp/issues/793)).
83+
- Fix `#line` directives for Python↔CUDA source correlation not being emitted by default when a module is compiled in
84+
debug mode ([GH-901](https://github.com/NVIDIA/warp/issues/901)).
85+
- Fix 2D shared tile allocation/de-allocation bug inside Warp functions ([GH-877](https://github.com/NVIDIA/warp/issues/877)).
86+
- Fix loading "unique" modules using `wp.load_module()`.
87+
388
## [1.8.1] - 2025-08-01
489

590
### Deprecated

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"-M",
3737
type=str,
3838
default="manylinux_2_28",
39-
help="Manylinux flavor for Linux wheels: manylinux2014|manylinux_2_28|manylinux_2_34",
39+
help="Manylinux flavor for Linux wheels: manylinux_2_28|manylinux_2_34",
4040
)
4141
args = parser.parse_known_args()[0]
4242

@@ -164,7 +164,7 @@ class WarpBDistWheel(bdist_wheel):
164164
user_options: ClassVar[list[tuple[str, str, str]]] = [
165165
*bdist_wheel.user_options,
166166
("platform=", "P", "Wheel platform: windows|linux|macos-x86_64|aarch64|universal"),
167-
("manylinux=", "M", "Manylinux flavor for Linux wheels: manylinux2014|manylinux_2_28|manylinux_2_34"),
167+
("manylinux=", "M", "Manylinux flavor for Linux wheels: manylinux_2_28|manylinux_2_34"),
168168
]
169169

170170
def initialize_options(self):

0 commit comments

Comments
 (0)