v0.9.0
Pre-release
Pre-release
[0.9.0] - 2023-06-01
- Add support for in-place modifications to vector, matrix, and struct types inside kernels (will warn during backward pass with
wp.verboseif using gradients) - Add support for step-through VSCode debugging of kernel code with standalone LLVM compiler, see
wp.breakpoint(), andtest_debug.py - Add support for default values on built-in functions
- Add support for multi-valued
@wp.funcfunctions - Add support for
pass,continue, andbreakstatements - Add missing
__sincos_stretsymbol for macOS - Add support for gradient propagation through
wp.Mesh.points, and other cases where arrays are passed to native functions - Add support for Python
@operator as an alias forwp.matmul() - Add XPBD support for particle-particle collision
- Add support for individual particle radii:
ModelBuilder.add_particlehas a newradiusargument,Model.particle_radiusis now a Warp array - Add per-particle flags as a
Model.particle_flagsWarp array, introducePARTICLE_FLAG_ACTIVEto define whether a particle is being simulated and participates in contact dynamics - Add support for Python bitwise operators
&,|,~,<<,>> - Switch to using standalone LLVM compiler by default for
cpudevices - Split
omni.warpintoomni.warp.corefor Omniverse applications that want to use the Warp Python module with minimal additional dependencies - Disable kernel gradient generation by default inside Omniverse for improved compile times
- Fix for bounds checking on element access of vector/matrix types
- Fix for stream initialization when a custom (non-primary) external CUDA context has been set on the calling thread
- Fix for duplicate
@wp.structregistration during hot reload - Fix for array
unot()operator so kernel writers can useif not array:syntax - Fix for case where dynamic loops are nested within unrolled loops
- Change
wp.hash_grid_point_id()now returns -1 if thewp.HashGridhas not been reserved before - Deprecate
wp.Model.soft_contact_distancewhich is now replaced bywp.Model.particle_radius - Deprecate single scalar particle radius (should be a per-particle array)