Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Releases: NVIDIA/warp

v1.6.2

08 Mar 00:23
v1.6.2
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.6.2] - 2025-03-07

Changed

  • Update project license fromNVIDIA Software License toApache License, Version 2.0 (seeLICENSE.md).
Assets9
Loading
astefanutti, Scripter36, steinraf, and horizon-blue reacted with hooray emoji
4 people reacted

v1.6.1

03 Mar 16:27
v1.6.1
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.6.1] - 2025-03-03

Added

  • Documentwp.Launch objects (docs,#428).
  • Document how overwriting previously computed results can lead to incorrect gradients (docs,#525).

Fixed

  • Fix unaligned loads with offset 2D tiles inwp.tile_load().
  • Fix FP64 accuracy of thread-level matrix-matrix multiplications (#489).
  • Fixwp.array() not initializing from arrays defining a CUDA array interface when the target device is CPU (#523).
  • Fixwp.Launch objects not storing and replaying adjoint kernel launches (#449).
  • Fixwp.config.verify_autograd_array_access failing to detect overwrites in generic Warp functions (#493).
  • Fix an error on Windows when closing anOpenGLRenderer app (#488).
  • Fix per-vertex colors not being correctly written out to USD meshes when a constant color is being passed (#480).
  • Fix an error in capturing thewp.sim.VBDIntegrator with CUDA graphs whenhandle_self_contact is enabled (#441).
  • Fix an error of AABB computation inwp.collide.TriMeshCollisionDetector.
  • Fix URDF-imported planar joints not being set with the intendedtarget_ke,target_kd, andmode parameters (#454).
  • FixModelBuilder.add_builder() to use correct offsets forModelBuilder.joint_parent andModelBuilder.joint_child (#432)
  • Fix underallocation of contact points for box–sphere and box–capsule collisions.
  • Fixwp.randi() documentation to show correct output range of[-2^31, 2^31).
Loading
jokosablenk reacted with thumbs up emoji
1 person reacted

v1.6.0

03 Feb 23:34
v1.6.0
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
7f25bbf
This commit was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.6.0] - 2025-02-03

Added

  • Add preview of Tile Cholesky factorization and solve APIs throughwp.tile_cholesky(),tile_cholesky_solve()
    andtile_diag_add() (preview APIs are subject to change).
  • Support for loading tiles from arrays whose shapes are not multiples of the tile dimensions.
    Out-of-bounds reads will be zero-filled and out-of-bounds writes will be skipped.
  • Support for higher-dimensional (up to 4D) tile shapes and memory operations.
  • Add intersection-free self-contact support inwp.sim.VDBIntegrator by passinghandle_self_contact=True.
    Seewarp/examples/sim/example_cloth_self_contact.py for a usage example.
  • Add functionswp.norm_l1(),wp.norm_l2(),wp.norm_huber(),wp.norm_pseudo_huber(), andwp.smooth_normalize()
    for vector types to a newwp.math module.
  • wp.sim.SemiImplicitIntegrator andwp.sim.FeatherstoneIntegrator now have an optionalfriction_smoothing
    constructor argument (defaults to 1.0) that controls softness of the friction norm computation.
  • Supportassert statements in kernels (docs).
    Assertions can only be triggered in"debug" mode (GH-366).
  • Support CUDA IPC on Linux. Call theipc_handle() method to get an IPC handle for awp.Event or awp.array,
    and callwp.from_ipc_handle() orwp.event_from_ipc_handle() in another process to open the handle
    (docs).
  • Add per-module option to disable fused floating point operations, usewp.set_module_options({"fuse_fp": False})
    (GH-379).
  • Add per-module option to add CUDA-C line information for profiling, usewp.set_module_options({"lineinfo": True}).
  • Support operator overloading forwp.struct objects by definingwp.func functions
    (GH-392).
  • Add built-in functionwp.len() to retrieve the number of elements for vectors, quaternions, matrices, and arrays
    (GH-389).
  • Addwarp/examples/optim/example_softbody_properties.py as an optimization example for soft-body properties
    (GH-419).
  • Addwarp/examples/tile/example_tile_walker.py, which reworks the existingexample_walker.py
    to use Warp's tile API for matrix multiplication.
  • Addwarp/examples/tile/example_tile_nbody.py as an example of an N-body simulation using Warp tile primitives.

Changed

  • Breaking: Changewp.tile_load() andwp.tile_store() indexing behavior so that indices are now specified in
    terms ofarray elements instead oftile multiples.
  • Breaking: Tile operations now takeshape andoffset parameters as tuples,
    e.g.:wp.tile_load(array, shape=(m,n), offset=(i,j)).
  • Breaking: Change exception types and error messages thrown by tile functions for improved consistency.
  • Add an implicit tile synchronization whenever a shared memory tile's data is reinitialized (e.g. in dynamic loops).
    This could result in lower performance.
  • wp.Bvh constructor now supports various construction algorithms via theconstructor argument, including
    "sah" (Surface Area Heuristics),"median", and"lbvh" (docs)
  • Improve the query efficiency ofwp.Bvh andwp.Mesh.
  • Improve memory consumption, compilation and runtime performance when using in-place vector/matrix assignments in
    kernels that haveenable_backward set toFalse (GH-332).
  • Vector/matrix/quaternion component+= and-= operations compile and run faster in the backward pass
    (GH-332).
  • Name files in the kernel cache according to their directory. Previously, all files began with
    module_codegen (GH-431).
  • Avoid recompilation of modules when changingblock_dim.
  • wp.autograd.gradcheck_tape() now has additional optional argumentsreverse_launches andskip_to_launch_index.
  • wp.autograd.gradcheck(),wp.autograd.jacobian(), andwp.autograd.jacobian_fd() now also accept
    arbitrary Python functions that have Warp arrays as inputs and outputs.
  • update_vbo_transforms kernel launches in the OpenGL renderer are no longer recorded onto the tape.
  • Skip emitting backward functions/kernels in the generated C++/CUDA code whenenable_backward is set toFalse.
  • Emit deprecation warnings for the use of theowner andlength keywords in thewp.array initializer.
  • Emit deprecation warnings for the use ofwp.mlp(),wp.matmul(), andwp.batched_matmul().
    Use tile primitives instead.

Fixed

  • Fix unintended modification of non-Warp arrays during the backward pass (GH-394).
  • Fix so thatwp.Tape.zero() zeroes gradients passed via thegrads parameter inwp.Tape.backward()
    (GH-407).
  • Fix errors during graph capture caused by module unloading (GH-401).
  • Fix potential memory corruption errors when allocating arrays with strides (GH-404).
  • Fixwp.array() not respecting the targetdtype andshape when the given data is an another array with a CUDA interface
    (GH-363).
  • Negative constants evaluate to compile-time constants (GH-403)
  • FixImportError exception being thrown during interpreter shutdown on Windows when using the OpenGL renderer
    (GH-412).
  • Fix the OpenGL renderer not working when multiple instances exist at the same time (GH-385).
  • FixAttributeError crash in the OpenGL renderer when moving the camera (GH-426).
  • Fix the OpenGL renderer not correctly displaying duplicate capsule, cone, and cylinder shapes
    (GH-388).
  • Fix the overriding ofwp.sim.ModelBuilder default parameters (GH-429).
  • Fix indexing ofwp.tile_extract() when the block dimension is smaller than the tile size.
  • Fix scale and rotation issues with the rock geometry used in the granular collision SDF example
    (GH-409).
  • Fix autodiff Jacobian computation inwp.autograd.jacobian() where in some cases gradients were not zeroed-out properly.
  • Fix plotting issues inwp.autograd.jacobian_plot().
  • Fix thelen() operator returning the total size of a matrix instead of its first dimension.
  • Fix gradient instability in rigid-body contact handling forwp.sim.SemiImplicitIntegrator and
    wp.sim.FeatherstoneIntegrator (GH-349).
  • Fix overload resolution of generic Warp functions with default arguments.
  • Fix rendering of arrows with differentup_axis,color inOpenGLRenderer (GH-448).
Loading

v1.5.1

03 Jan 06:50
v1.5.1
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.5.1] - 2025-01-02

Added

  • Add PyTorch basics and custom operators notebooks to thenotebooks directory.
  • Update PyTorch interop docs to include section on custom operators
    (docs).

Fixed

  • warp.sim: Fix a bug in which the color-balancing algorithm was not updating the colorings.
  • Fix custom colors being not being updated when rendering meshes with static topology in OpenGL
    (GH-343).
  • Fixwp.launch_tiled() not returning aLaunch object when passedrecord_cmd=True.
  • Fix default arguments not being resolved forwp.func when called from Python's runtime
    (GH-386).
  • Array overwrite tracking: Fix issue with not marking arrays passed towp.atomic_add(),wp.atomic_sub(),
    wp.atomic_max(), orwp.atomic_min() as being written to (GH-378).
  • Fix for occasional failure to update.meta files into Warp kernel cache on Windows.
  • Fix the OpenGL renderer not being able to run without a CUDA device available
    (GH-344).
  • Fix incorrect CUDA driver function versions (GH-402).
Loading
TheLavaBlock, HydrogenSulfate, and 42jaylonw reacted with thumbs up emoji
3 people reacted

v1.5.0

03 Dec 01:15
v1.5.0
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.5.0] - 2024-12-02

Added

  • Support for cooperative tile-based primitives using cuBLASDx and cuFFTDx, please see the tile
    documentation for details.
  • Expose areversed() built-in for iterators (GH-311).
  • Support for saving Volumes into.nvdb files with thesave_to_nvdb method.
  • warp.fem: Addwp.fem.Trimesh3D andwp.fem.Quadmesh3D geometry types for 3D surfaces with newexample_distortion_energy example.
  • warp.fem: Add"add" option towp.fem.integrate() for accumulating integration result to existing output.
  • warp.fem: Add"assembly" option towp.fem.integrate() for selecting between more memory-efficient or more
    computationally efficient integration algorithms.
  • warp.fem: Add Nédélec (first kind) and Raviart-Thomas vector-valued function spaces
    providing conforming discretization ofcurl anddiv operators, respectively.
  • warp.sim: Add a graph coloring module that supports converting trimesh into a vertex graph and applying coloring.
    Thewp.sim.ModelBuilder now includes methods to color particles for use withwp.sim.VBDIntegrator(),
    users should callbuilder.color() before finalizing assets.
  • warp.sim: Add support for a per-particle radius for soft-body triangle contact using thewp.sim.Model.particle_radius
    array (docs), replacing the previous
    hard-coded value of 0.01 (GH-329).
  • Add aparticle_radius parameter towp.sim.ModelBuilder.add_cloth_mesh() andwp.sim.ModelBuilder.add_cloth_grid()
    to set a uniform radius for the added particles.
  • Documentwp.array attributes (GH-364).
  • Document time-to-compile tradeoffs when using vector component assignment statements in kernels.
  • Add introductory Jupyter notebooks to thenotebooks directory.

Changed

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

Fixed

  • Fixplace setting of paddle backend.
  • warp.fem: Fix tri-cubic shape functions on quadrilateral meshes.
  • warp.fem: Fix caching of integrand kernels when changing code-generation options.
  • Fixwp.expect_neq() overloads missing for scalar types.
  • Fix an error when awp.kernel or awp.func object is annotated to return aNone value.
  • Fix error when reading multi-volume, BLOSC-compressed.nvdb files.
  • Fixwp.printf() erroring out when no variadic arguments are passed (GH-333).
  • Fix memory access issues in soft-rigid contact collisions (GH-362).
  • Fix gradient propagation for in-place addition/subtraction operations on custom vector-type arrays.
  • Fix the OpenGL renderer's window not closing when clicking the X button.
  • Fix the OpenGL renderer's camera snapping to a different direction from the initial camera's orientation when first looking around.
  • Fix custom colors being ignored when rendering meshes in OpenGL (GH-343).
  • Fix topology updates not being supported by the the OpenGL renderer.
Loading
HydrogenSulfate and korzen reacted with thumbs up emoji
2 people reacted

v1.4.2

13 Nov 10:34
v1.4.2
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:2B296BCF0160BC23
Verified
Learn about vigilant mode.
3c1ed27
This commit was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.4.2] - 2024-11-13

Changed

  • Make the output ofwp.print() in backward kernels consistent for all supported data types.

Fixed

  • Fix to relax the integer types expected when indexing arrays (regression in1.3.0).
  • Fix printing vector and matrix adjoints in backward kernels.
  • Fix kernel compile error when printing structs.
  • Fix an incorrect user function being sometimes resolved when multiple overloads are available with array parameters with differentdtype values.
  • Fix error being raised when static and dynamic for-loops are written in sequence with the same iteration variable names (GH-331).
  • Fix an issue with theTexture Write node, used in the Mandelbrot Omniverse sample, sometimes erroring out in multi-GPU environments.
  • Code generation of in-place multiplication and division operations (regression introduced ina69d061)(GH-342).
Loading

v1.4.1

15 Oct 15:20
v1.4.1
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
6f6651b
This commit was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

Changelog

[1.4.1] - 2024-10-15

Fixed

  • Fixiter_reverse() not working as expected for ranges with steps other than 1 (GH-311).
  • Fix potential out-of-bounds memory access when awp.sparse.BsrMatrix object is reused for storing matrices of different shapes.
  • Fix robustness to very low desired tolerance inwp.fem.utils.symmetric_eigenvalues_qr.
  • Fix invalid code generation error messages when nesting dynamic and static for-loops.
  • Fix caching of kernels with static expressions.
  • FixModelBuilder.add_builder(builder) to correctly updatearticulation_start and therebyarticulation_count whenbuilder contains more than one articulation.
  • Re-introduced thewp.rand*(),wp.sample*(), andwp.poisson() onto the Python scope to revert a breaking change.
Loading

v.1.4.0

01 Oct 07:23
v1.4.0
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

CHANGELOG

[1.4.0] - 2024-10-01

Added

  • Support for a newwp.static(expr) function that allows arbitrary Python expressions to be evaluated at the time of
    function/kernel definition (docs).
  • Support for stream priorities to hint to the device that it should process pending work
    in high-priority streams over pending work in low-priority streams when possible
    (docs).
  • Adaptive sparse grid geometry towarp.fem (docs).
  • Support for definingwp.kernel andwp.func objects from within closures.
  • Support for defining multiple versions of kernels, functions, and structs without manually assigning unique keys.
  • Support for default argument values for user functions decorated withwp.func.
  • Allow passing custom launch dimensions tojax_kernel() (GH-310).
  • JAX interoperability examples for sharding and matrix multiplication (docs).
  • Interoperability support for the PaddlePaddle ML framework (GH-318).
  • Supportwp.mod() for vector types (GH-282).
  • Expose the modulo operator% to Python's runtime scalar and vector types.
  • Support for fp64atomic_add,atomic_max, andatomic_min (GH-284).
  • Support for quaternion indexing (e.g.q.w).
  • Support shadowing builtin functions (GH-308).
  • Support for redefining function overloads.
  • Add an ocean sample to theomni.warp extension.
  • warp.sim.VBDIntegrator now supports body-particle collision.
  • Add acontributing guide to the Sphinx docs .
  • Add documentation for dynamic code generation (docs).

Changed

  • wp.sim.Model.edge_indices now includes boundary edges.
  • Unexposedwp.rand*(),wp.sample*(), andwp.poisson() from the Python scope.
  • Skip unused functions in module code generation, improving performance.
  • Avoid reloading modules if their content does not change, improving performance.
  • wp.Mesh.points is now a property instead of a raw data member, its reference can be changed after the mesh is initialized.
  • Improve error message when invalid objects are referenced in a Warp kernel.
  • if/else/elif statements with constant conditions are resolved at compile time with no branches being inserted in the generated code.
  • Include all non-hidden builtins in the stub file.
  • Improve accuracy of symmetric eigenvalues routine inwarp.fem.

Fixed

  • Fix forwp.func erroring out when defining aTuple as a return type hint (GH-302).
  • Fix array in-place op (+=,-=) adjoints to compute gradients correctly in the backwards pass
  • Fix vector, matrix in-place assignment adjoints to compute gradients correctly in the backwards pass, e.g.:v[1] = x
  • Fix a bug in which Python docstrings would be created as local function variables in generated code.
  • Fix a bug with autograd array access validation in functions from different modules.
  • Fix a rare crash during error reporting on some systems due to glibc mismatches.
  • Handle--num_tiles 1 inexample_render_opengl.py (GH-306).
  • Fix the computation of body contact forces inFeatherstoneIntegrator when bodies and particles collide.
  • Fix bug inFeatherstoneIntegrator whereeval_rigid_jacobian could give incorrect results or reach an infinite
    loop when the body and joint indices were not in the same order. AddedModel.joint_ancestor to fix the indexing
    from a joint to its parent joint in the articulation.
  • Fix wrong vertex index passed toadd_edges() called fromModelBuilder.add_cloth_mesh() (GH-319).
  • Add a workaround for uninitialized memory read warning in thecompute-sanitizer initcheck tool when usingwp.Mesh.
  • Fix name clashes when Warp functions and structs are returned from Python functions multiple times.
  • Fix name clashes between Warp functions and structs defined in different modules.
  • Fix code generation errors when overloading generic kernels defined in a Python function.
  • Fix issues with unrelated functions being treated as overloads (e.g., closures).
  • Fix handling ofstream argument inarray.__dlpack__().
  • Fix a bug related to reloading CPU modules.
  • Fix a crash when kernel functions are not found in CPU modules.
  • Fix conditions not being evaluated as expected inwhile statements.
  • Fix printing Boolean and 8-bit integer values.
  • Fix array interface type strings used for Boolean and 8-bit integer values.
  • Fix initialization error when setting struct members.
  • Fix Warp not being initialized upon entering awp.Tape context.
  • UsekDLBool instead ofkDLUInt for DLPack interop of Booleans.
Loading
HydrogenSulfate and askorikov reacted with hooray emoji
2 people reacted

v1.3.3

04 Sep 20:54
v1.3.3
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

[1.3.3] - 2024-09-04

  • Bug fixes
    • Fix an aliasing issue with zero-copy array initialization from NumPy introduced in Warp 1.3.0.
    • Fixwp.Volume.load_from_numpy() behavior whenbg_value is a sequence of values.

[1.3.2] - 2024-08-30

  • Bug fixes
    • Fix accuracy of 3x3 SVDwp.svd3 with fp64 numbers (GH-281).
    • Fix module hashing when a kernel argument contained a struct array (GH-287).
    • Fix a bug inwp.bvh_query_ray() where the direction instead of the reciprocal direction was used
      (GH-288).
    • Fix errors when launching a CUDA graph after a module is reloaded. Modules that were used during graph capture
      will no longer be unloaded before the graph is released.
    • Fix a bug inwp.sim.collide.triangle_closest_point_barycentric() where the returned barycentric coordinates may be
      incorrect when the closest point lies on an edge.
    • Fix 32-bit overflow when array shape is specified usingnp.int32.
    • Fix handling of integer indices in theinput_output_mask argument toautograd.jacobian and
      autograd.jacobian_fd (GH-289).
    • FixModelBuilder.collapse_fixed_joints() to correctly update the body centers of mass and the
      ModelBuilder.articulation_start array.
    • Fix precedence of closure constants over global constants.
    • Fix quadrature point indexing inwp.fem.ExplicitQuadrature (regression from 1.3.0).
  • Documentation improvements
    • Add missing return types for built-in functions.
    • Clarify that atomic operations also return the previous value.
    • Clarify thatwp.bvh_query_aabb() returns parts that overlap the bounding volume.

[1.3.1] - 2024-07-27

  • Removewp.synchronize() from PyTorch autograd function example
  • Tape.check_kernel_array_access() andTape.reset_array_read_flags() are now private methods.
  • Fix reporting unmatched argument types

[1.3.0] - 2024-07-25

  • Warp Core improvements

    • Update to CUDA 12.x by default (requires NVIDIA driver 525 or newer), please seeREADME.md for commands to install CUDA 11.x binaries for older drivers
    • Add information to the module load print outs to indicate whether a module was
      compiled(compiled), loaded from the cache(cached), or was unable to be
      loaded(error).
    • wp.config.verbose = True now also prints out a message upon the entry to awp.ScopedTimer.
    • Addwp.clear_kernel_cache() to the public API. This is equivalent towp.build.clear_kernel_cache().
    • Add code-completion support forwp.config variables.
    • Remove usage of a static task (thread) index for CPU kernels to address multithreading concerns (GH-224)
    • Improve error messages for unsupported Python operations such as sequence construction in kernels
    • Updatewp.matmul() CPU fallback to use dtype explicitly innp.matmul() call
    • Add support for PEP 563'sfrom __future__ import annotations (GH-256).
    • Allow passing external arrays/tensors towp.launch() directly via__cuda_array_interface__ and__array_interface__, up to 2.5x faster conversion from PyTorch
    • Add faster Torch interop path usingreturn_ctype argument towp.from_torch()
    • Handle incompatible CUDA driver versions gracefully
    • Addwp.abs() andwp.sign() for vector types
    • Expose scalar arithmetic operators to Python's runtime (e.g.:wp.float16(1.23) * wp.float16(2.34))
    • Add support for creating volumes with anisotropic transforms
    • Allow users to pass function arguments by keyword in a kernel using standard Python calling semantics
    • Add additional documentation and examples demonstratingwp.copy(),wp.clone(), andarray.assign() differentiability
    • Add__new__() methods for all class__del__() methods to handle when a class instance is created but not instantiated before garbage collection
    • Implement the assignment operator forwp.quat
    • Make the geometry-related built-ins available only from within kernels
    • Rename the API-facing query types to remove their_t suffix:wp.BVHQuery,wp.HashGridQuery,wp.MeshQueryAABB,wp.MeshQueryPoint, andwp.MeshQueryRay
    • Addwp.array(ptr=...) to allow initializing arrays from pointer addresses inside of kernels (GH-206)
  • warp.autograd improvements:

    • Newwarp.autograd module with utility functionsgradcheck(),jacobian(), andjacobian_fd() for debugging kernel Jacobians (docs)
    • Add array overwrite detection, ifwp.config.verify_autograd_array_access is true in-place operations on arrays on the Tape that could break gradient computation will be detected (docs)
    • Fix bug where modification of@wp.func_replay functions and native snippets would not trigger module recompilation
    • Add documentation for dynamic loop autograd limitations
  • warp.sim improvements:

    • Improve memory usage and performance for rigid body contact handling whenself.rigid_mesh_contact_max is zero (default behavior).
    • Themask argument towp.sim.eval_fk() now accepts both integer and boolean arrays to mask articulations.
    • Fix handling ofModelBuilder.joint_act inModelBuilder.collapse_fixed_joints() (affected floating-base systems)
    • Fix and improve implementation ofModelBuilder.plot_articulation() to visualize the articulation tree of a rigid-body mechanism
    • Fix ShapeInstancer__new__() method (missing instance return and*args parameter)
    • Fix handling ofupaxis variable inModelBuilder and the rendering thereof inOpenGLRenderer
  • warp.sparse improvements:

    • Sparse matrix allocations (frombsr_from_triplets(),bsr_axpy(), etc.) can now be captured in CUDA graphs; exact number of non-zeros can be optionally requested asynchronously.
    • bsr_assign() now supports changing block shape (including CSR/BSR conversions)
    • Add Python operator overloads for common sparse matrix operations, e.gA += 0.5 * B,y = x @ C
  • warp.fem new features and fixes:

    • Support for variable number of nodes per element
    • Globalwp.fem.lookup() operator now supportswp.fem.Tetmesh andwp.fem.Trimesh2D geometries
    • Simplified defining custom subdomains (wp.fem.Subdomain), free-slip boundary conditions
    • New field types:wp.fem.UniformField,wp.fem.ImplicitField andwp.fem.NonconformingField
    • Newstreamlines,magnetostatics andnonconforming_contact examples, updatedmixed_elasticity to use a nonlinear model
    • Function spaces can now export VTK-compatible cells for visualization
    • Fixed edge cases with NanoVDB function spaces
    • Fixed differentiability ofwp.fem.PicQuadrature w.r.t. positions and measures
Loading

v1.3.2

30 Aug 15:32
v1.3.2
This tag was signed with the committer’sverified signature.
shi-eric Eric Shi
GPG key ID:ACCC915B24C4BF3D
Verified
Learn about vigilant mode.
Compare
Choose a tag to compare
Loading

[1.3.2] - 2024-08-30

  • Bug fixes
    • Fix accuracy of 3x3 SVDwp.svd3 with fp64 numbers (GH-281).
    • Fix module hashing when a kernel argument contained a struct array (GH-287).
    • Fix a bug inwp.bvh_query_ray() where the direction instead of the reciprocal direction was used
      (GH-288).
    • Fix errors when launching a CUDA graph after a module is reloaded. Modules that were used during graph capture
      will no longer be unloaded before the graph is released.
    • Fix a bug inwp.sim.collide.triangle_closest_point_barycentric() where the returned barycentric coordinates may be
      incorrect when the closest point lies on an edge.
    • Fix 32-bit overflow when array shape is specified usingnp.int32.
    • Fix handling of integer indices in theinput_output_mask argument toautograd.jacobian and
      autograd.jacobian_fd (GH-289).
    • FixModelBuilder.collapse_fixed_joints() to correctly update the body centers of mass and the
      ModelBuilder.articulation_start array.
    • Fix precedence of closure constants over global constants.
    • Fix quadrature point indexing inwp.fem.ExplicitQuadrature (regression from 1.3.0).
  • Documentation improvements
    • Add missing return types for built-in functions.
    • Clarify that atomic operations also return the previous value.
    • Clarify thatwp.bvh_query_aabb() returns parts that overlap the bounding volume.

[1.3.1] - 2024-07-27

  • Removewp.synchronize() from PyTorch autograd function example
  • Tape.check_kernel_array_access() andTape.reset_array_read_flags() are now private methods.
  • Fix reporting unmatched argument types

[1.3.0] - 2024-07-25

  • Warp Core improvements
    • Update to CUDA 12.x by default (requires NVIDIA driver 525 or newer), please seeREADME.md for commands to install CUDA 11.x binaries for older drivers
    • Add information to the module load print outs to indicate whether a module was
      compiled(compiled), loaded from the cache(cached), or was unable to be
      loaded(error).
    • wp.config.verbose = True now also prints out a message upon the entry to awp.ScopedTimer.
    • Addwp.clear_kernel_cache() to the public API. This is equivalent towp.build.clear_kernel_cache().
    • Add code-completion support forwp.config variables.
    • Remove usage of a static task (thread) index for CPU kernels to address multithreading concerns (GH-224)
    • Improve error messages for unsupported Python operations such as sequence construction in kernels
    • Updatewp.matmul() CPU fallback to use dtype explicitly innp.matmul() call
    • Add support for PEP 563'sfrom __future__ import annotations (GH-256).
    • Allow passing external arrays/tensors towp.launch() directly via__cuda_array_interface__ and__array_interface__, up to 2.5x faster conversion from PyTorch
    • Add faster Torch interop path usingreturn_ctype argument towp.from_torch()
    • Handle incompatible CUDA driver versions gracefully
    • Addwp.abs() andwp.sign() for vector types
    • Expose scalar arithmetic operators to Python's runtime (e.g.:wp.float16(1.23) * wp.float16(2.34))
    • Add support for creating volumes with anisotropic transforms
    • Allow users to pass function arguments by keyword in a kernel using standard Python calling semantics
    • Add additional documentation and examples demonstratingwp.copy(),wp.clone(), andarray.assign() differentiability
    • Add__new__() methods for all class__del__() methods to handle when a class instance is created but not instantiated before garbage collection
    • Implement the assignment operator forwp.quat
    • Make the geometry-related built-ins available only from within kernels
    • Rename the API-facing query types to remove their_t suffix:wp.BVHQuery,wp.HashGridQuery,wp.MeshQueryAABB,wp.MeshQueryPoint, andwp.MeshQueryRay
    • Addwp.array(ptr=...) to allow initializing arrays from pointer addresses inside of kernels (GH-206)
Loading
Previous134
Previous

[8]ページ先頭

©2009-2025 Movatter.jp