|
1 | 1 | # CHANGELOG
|
2 | 2 |
|
| 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 | + |
3 | 88 | ## [1.8.1] - 2025-08-01
|
4 | 89 |
|
5 | 90 | ### Deprecated
|
|
0 commit comments