warp-lang 1.6.0__py3-none-manylinux2014_aarch64.whl → 1.6.2__py3-none-manylinux2014_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of warp-lang might be problematic. Click here for more details.
- warp/__init__.py +14 -6
- warp/autograd.py +14 -6
- warp/bin/warp-clang.so +0 -0
- warp/bin/warp.so +0 -0
- warp/build.py +14 -6
- warp/build_dll.py +14 -6
- warp/builtins.py +16 -7
- warp/codegen.py +24 -9
- warp/config.py +79 -27
- warp/constants.py +14 -6
- warp/context.py +236 -71
- warp/dlpack.py +14 -6
- warp/examples/__init__.py +14 -6
- warp/examples/benchmarks/benchmark_api.py +14 -6
- warp/examples/benchmarks/benchmark_cloth.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_cupy.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_jax.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_numba.py +15 -0
- warp/examples/benchmarks/benchmark_cloth_numpy.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_paddle.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_pytorch.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_taichi.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_warp.py +14 -6
- warp/examples/benchmarks/benchmark_gemm.py +82 -48
- warp/examples/benchmarks/benchmark_interop_paddle.py +14 -6
- warp/examples/benchmarks/benchmark_interop_torch.py +14 -6
- warp/examples/benchmarks/benchmark_launches.py +14 -6
- warp/examples/browse.py +14 -6
- warp/examples/core/example_cupy.py +14 -6
- warp/examples/core/example_dem.py +14 -6
- warp/examples/core/example_fluid.py +14 -6
- warp/examples/core/example_graph_capture.py +14 -6
- warp/examples/core/example_marching_cubes.py +15 -7
- warp/examples/core/example_mesh.py +15 -7
- warp/examples/core/example_mesh_intersect.py +14 -6
- warp/examples/core/example_nvdb.py +14 -6
- warp/examples/core/example_raycast.py +14 -6
- warp/examples/core/example_raymarch.py +14 -6
- warp/examples/core/example_render_opengl.py +14 -6
- warp/examples/core/example_sph.py +14 -6
- warp/examples/core/example_torch.py +14 -6
- warp/examples/core/example_wave.py +15 -7
- warp/examples/fem/example_adaptive_grid.py +14 -6
- warp/examples/fem/example_apic_fluid.py +14 -6
- warp/examples/fem/example_burgers.py +14 -6
- warp/examples/fem/example_convection_diffusion.py +14 -6
- warp/examples/fem/example_convection_diffusion_dg.py +14 -6
- warp/examples/fem/example_deformed_geometry.py +14 -6
- warp/examples/fem/example_diffusion.py +14 -6
- warp/examples/fem/example_diffusion_3d.py +14 -6
- warp/examples/fem/example_diffusion_mgpu.py +14 -6
- warp/examples/fem/example_distortion_energy.py +14 -6
- warp/examples/fem/example_magnetostatics.py +14 -6
- warp/examples/fem/example_mixed_elasticity.py +14 -6
- warp/examples/fem/example_navier_stokes.py +14 -6
- warp/examples/fem/example_nonconforming_contact.py +14 -6
- warp/examples/fem/example_stokes.py +14 -6
- warp/examples/fem/example_stokes_transfer.py +14 -6
- warp/examples/fem/example_streamlines.py +14 -6
- warp/examples/fem/utils.py +15 -0
- warp/examples/optim/example_bounce.py +14 -6
- warp/examples/optim/example_cloth_throw.py +14 -6
- warp/examples/optim/example_diffray.py +14 -6
- warp/examples/optim/example_drone.py +14 -6
- warp/examples/optim/example_inverse_kinematics.py +14 -6
- warp/examples/optim/example_inverse_kinematics_torch.py +14 -6
- warp/examples/optim/example_softbody_properties.py +14 -6
- warp/examples/optim/example_spring_cage.py +14 -6
- warp/examples/optim/example_trajectory.py +14 -6
- warp/examples/optim/example_walker.py +14 -6
- warp/examples/sim/example_cartpole.py +14 -6
- warp/examples/sim/example_cloth.py +14 -6
- warp/examples/sim/example_cloth_self_contact.py +95 -33
- warp/examples/sim/example_granular.py +14 -6
- warp/examples/sim/example_granular_collision_sdf.py +14 -6
- warp/examples/sim/example_jacobian_ik.py +14 -6
- warp/examples/sim/example_particle_chain.py +14 -6
- warp/examples/sim/example_quadruped.py +14 -6
- warp/examples/sim/example_rigid_chain.py +14 -6
- warp/examples/sim/example_rigid_contact.py +14 -6
- warp/examples/sim/example_rigid_force.py +14 -6
- warp/examples/sim/example_rigid_gyroscopic.py +14 -6
- warp/examples/sim/example_rigid_soft_contact.py +14 -6
- warp/examples/sim/example_soft_body.py +14 -6
- warp/examples/tile/example_tile_cholesky.py +14 -6
- warp/examples/tile/example_tile_convolution.py +14 -6
- warp/examples/tile/example_tile_fft.py +14 -6
- warp/examples/tile/example_tile_filtering.py +14 -6
- warp/examples/tile/example_tile_matmul.py +14 -6
- warp/examples/tile/example_tile_mlp.py +14 -6
- warp/examples/tile/example_tile_nbody.py +40 -21
- warp/examples/tile/example_tile_walker.py +14 -6
- warp/fabric.py +15 -0
- warp/fem/__init__.py +15 -0
- warp/fem/adaptivity.py +15 -0
- warp/fem/cache.py +15 -0
- warp/fem/dirichlet.py +15 -0
- warp/fem/domain.py +15 -0
- warp/fem/field/__init__.py +15 -0
- warp/fem/field/field.py +15 -0
- warp/fem/field/nodal_field.py +15 -0
- warp/fem/field/restriction.py +15 -0
- warp/fem/field/virtual.py +15 -0
- warp/fem/geometry/__init__.py +15 -0
- warp/fem/geometry/adaptive_nanogrid.py +15 -0
- warp/fem/geometry/closest_point.py +15 -0
- warp/fem/geometry/deformed_geometry.py +15 -0
- warp/fem/geometry/element.py +15 -0
- warp/fem/geometry/geometry.py +15 -0
- warp/fem/geometry/grid_2d.py +15 -0
- warp/fem/geometry/grid_3d.py +15 -0
- warp/fem/geometry/hexmesh.py +15 -0
- warp/fem/geometry/nanogrid.py +15 -0
- warp/fem/geometry/partition.py +15 -0
- warp/fem/geometry/quadmesh.py +15 -0
- warp/fem/geometry/tetmesh.py +15 -0
- warp/fem/geometry/trimesh.py +15 -0
- warp/fem/integrate.py +15 -0
- warp/fem/linalg.py +15 -0
- warp/fem/operator.py +15 -0
- warp/fem/polynomial.py +15 -0
- warp/fem/quadrature/__init__.py +15 -0
- warp/fem/quadrature/pic_quadrature.py +15 -0
- warp/fem/quadrature/quadrature.py +15 -0
- warp/fem/space/__init__.py +15 -0
- warp/fem/space/basis_function_space.py +15 -0
- warp/fem/space/basis_space.py +15 -0
- warp/fem/space/dof_mapper.py +15 -0
- warp/fem/space/function_space.py +15 -0
- warp/fem/space/grid_2d_function_space.py +15 -0
- warp/fem/space/grid_3d_function_space.py +15 -0
- warp/fem/space/hexmesh_function_space.py +15 -0
- warp/fem/space/nanogrid_function_space.py +15 -0
- warp/fem/space/partition.py +15 -0
- warp/fem/space/quadmesh_function_space.py +15 -0
- warp/fem/space/restriction.py +15 -0
- warp/fem/space/shape/__init__.py +15 -0
- warp/fem/space/shape/cube_shape_function.py +15 -0
- warp/fem/space/shape/shape_function.py +15 -0
- warp/fem/space/shape/square_shape_function.py +15 -0
- warp/fem/space/shape/tet_shape_function.py +15 -0
- warp/fem/space/shape/triangle_shape_function.py +15 -0
- warp/fem/space/tetmesh_function_space.py +15 -0
- warp/fem/space/topology.py +15 -0
- warp/fem/space/trimesh_function_space.py +15 -0
- warp/fem/types.py +15 -0
- warp/fem/utils.py +15 -0
- warp/jax.py +14 -6
- warp/jax_experimental.py +14 -6
- warp/math.py +14 -6
- warp/native/array.h +15 -6
- warp/native/builtin.h +15 -6
- warp/native/bvh.cpp +15 -6
- warp/native/bvh.cu +15 -6
- warp/native/bvh.h +15 -6
- warp/native/clang/clang.cpp +16 -7
- warp/native/coloring.cpp +15 -6
- warp/native/crt.cpp +15 -6
- warp/native/crt.h +16 -6
- warp/native/cuda_crt.h +15 -6
- warp/native/cuda_util.cpp +15 -6
- warp/native/cuda_util.h +15 -6
- warp/native/cutlass_gemm.cpp +15 -6
- warp/native/cutlass_gemm.cu +16 -7
- warp/native/error.cpp +15 -6
- warp/native/error.h +15 -6
- warp/native/exports.h +17 -0
- warp/native/fabric.h +15 -6
- warp/native/hashgrid.cpp +15 -6
- warp/native/hashgrid.cu +15 -6
- warp/native/hashgrid.h +15 -6
- warp/native/initializer_array.h +15 -6
- warp/native/intersect.h +15 -6
- warp/native/intersect_adj.h +15 -6
- warp/native/intersect_tri.h +17 -0
- warp/native/marching.cpp +16 -0
- warp/native/marching.cu +15 -6
- warp/native/marching.h +17 -0
- warp/native/mat.h +31 -9
- warp/native/mathdx.cpp +15 -6
- warp/native/matnn.h +15 -6
- warp/native/mesh.cpp +15 -6
- warp/native/mesh.cu +15 -6
- warp/native/mesh.h +15 -6
- warp/native/noise.h +15 -6
- warp/native/quat.h +15 -6
- warp/native/rand.h +15 -6
- warp/native/range.h +15 -6
- warp/native/reduce.cpp +15 -6
- warp/native/reduce.cu +15 -6
- warp/native/runlength_encode.cpp +15 -6
- warp/native/runlength_encode.cu +15 -6
- warp/native/scan.cpp +15 -6
- warp/native/scan.cu +15 -6
- warp/native/scan.h +15 -6
- warp/native/solid_angle.h +17 -0
- warp/native/sort.cpp +15 -6
- warp/native/sort.cu +15 -6
- warp/native/sort.h +15 -6
- warp/native/sparse.cpp +15 -6
- warp/native/sparse.cu +15 -6
- warp/native/spatial.h +15 -6
- warp/native/svd.h +15 -6
- warp/native/temp_buffer.h +15 -6
- warp/native/tile.h +27 -14
- warp/native/tile_reduce.h +15 -6
- warp/native/vec.h +15 -6
- warp/native/volume.cpp +15 -6
- warp/native/volume.cu +15 -6
- warp/native/volume.h +15 -6
- warp/native/volume_builder.cu +15 -6
- warp/native/volume_builder.h +15 -6
- warp/native/volume_impl.h +15 -6
- warp/native/warp.cpp +15 -6
- warp/native/warp.cu +15 -6
- warp/native/warp.h +15 -6
- warp/optim/__init__.py +14 -6
- warp/optim/adam.py +14 -6
- warp/optim/linear.py +15 -0
- warp/optim/sgd.py +14 -6
- warp/paddle.py +14 -6
- warp/render/__init__.py +14 -6
- warp/render/render_opengl.py +37 -21
- warp/render/render_usd.py +24 -8
- warp/render/utils.py +14 -6
- warp/sim/__init__.py +14 -7
- warp/sim/articulation.py +14 -6
- warp/sim/collide.py +43 -22
- warp/sim/graph_coloring.py +14 -6
- warp/sim/import_mjcf.py +14 -7
- warp/sim/import_snu.py +14 -7
- warp/sim/import_urdf.py +34 -11
- warp/sim/import_usd.py +14 -7
- warp/sim/inertia.py +14 -6
- warp/sim/integrator.py +14 -6
- warp/sim/integrator_euler.py +14 -6
- warp/sim/integrator_featherstone.py +18 -17
- warp/sim/integrator_vbd.py +15 -6
- warp/sim/integrator_xpbd.py +14 -6
- warp/sim/model.py +76 -65
- warp/sim/particles.py +14 -6
- warp/sim/render.py +16 -8
- warp/sim/utils.py +15 -0
- warp/sparse.py +15 -0
- warp/stubs.py +16 -1
- warp/tape.py +14 -6
- warp/tests/__main__.py +15 -0
- warp/tests/aux_test_class_kernel.py +14 -6
- warp/tests/aux_test_compile_consts_dummy.py +14 -6
- warp/tests/aux_test_conditional_unequal_types_kernels.py +14 -6
- warp/tests/aux_test_dependent.py +14 -6
- warp/tests/aux_test_grad_customs.py +14 -6
- warp/tests/aux_test_instancing_gc.py +14 -6
- warp/tests/aux_test_module_unload.py +14 -6
- warp/tests/aux_test_name_clash1.py +14 -6
- warp/tests/aux_test_name_clash2.py +14 -6
- warp/tests/aux_test_unresolved_func.py +14 -6
- warp/tests/aux_test_unresolved_symbol.py +14 -6
- warp/tests/disabled_kinematics.py +14 -6
- warp/tests/flaky_test_sim_grad.py +14 -6
- warp/tests/run_coverage_serial.py +14 -6
- warp/tests/test_adam.py +14 -6
- warp/tests/test_arithmetic.py +14 -6
- warp/tests/test_array.py +40 -6
- warp/tests/test_array_reduce.py +14 -6
- warp/tests/test_assert.py +14 -6
- warp/tests/test_async.py +14 -6
- warp/tests/test_atomic.py +14 -6
- warp/tests/test_bool.py +14 -6
- warp/tests/test_builtins_resolution.py +14 -6
- warp/tests/test_bvh.py +14 -6
- warp/tests/test_closest_point_edge_edge.py +14 -6
- warp/tests/test_codegen.py +14 -6
- warp/tests/test_codegen_instancing.py +14 -6
- warp/tests/test_collision.py +20 -12
- warp/tests/test_coloring.py +14 -7
- warp/tests/test_compile_consts.py +14 -6
- warp/tests/test_conditional.py +14 -6
- warp/tests/test_context.py +14 -6
- warp/tests/test_copy.py +14 -6
- warp/tests/test_ctypes.py +14 -6
- warp/tests/test_dense.py +14 -6
- warp/tests/test_devices.py +14 -6
- warp/tests/test_dlpack.py +14 -6
- warp/tests/test_examples.py +21 -7
- warp/tests/test_fabricarray.py +14 -6
- warp/tests/test_fast_math.py +14 -6
- warp/tests/test_fem.py +14 -6
- warp/tests/test_fp16.py +14 -6
- warp/tests/test_func.py +14 -6
- warp/tests/test_future_annotations.py +14 -6
- warp/tests/test_generics.py +14 -6
- warp/tests/test_grad.py +14 -6
- warp/tests/test_grad_customs.py +14 -6
- warp/tests/test_grad_debug.py +14 -6
- warp/tests/test_hash_grid.py +14 -6
- warp/tests/test_implicit_init.py +14 -6
- warp/tests/test_import.py +14 -6
- warp/tests/test_indexedarray.py +14 -6
- warp/tests/test_intersect.py +14 -6
- warp/tests/test_ipc.py +14 -6
- warp/tests/test_iter.py +14 -6
- warp/tests/test_jax.py +14 -6
- warp/tests/test_large.py +14 -6
- warp/tests/test_launch.py +91 -32
- warp/tests/test_lerp.py +14 -6
- warp/tests/test_linear_solvers.py +15 -0
- warp/tests/test_lvalue.py +14 -6
- warp/tests/test_marching_cubes.py +14 -6
- warp/tests/test_mat.py +89 -7
- warp/tests/test_mat_lite.py +14 -6
- warp/tests/test_mat_scalar_ops.py +14 -6
- warp/tests/test_math.py +14 -6
- warp/tests/test_matmul.py +14 -6
- warp/tests/test_matmul_lite.py +14 -6
- warp/tests/test_mempool.py +14 -6
- warp/tests/test_mesh.py +14 -6
- warp/tests/test_mesh_query_aabb.py +14 -6
- warp/tests/test_mesh_query_point.py +14 -6
- warp/tests/test_mesh_query_ray.py +14 -6
- warp/tests/test_mlp.py +14 -6
- warp/tests/test_model.py +14 -6
- warp/tests/test_module_hashing.py +14 -6
- warp/tests/test_modules_lite.py +14 -6
- warp/tests/test_multigpu.py +14 -6
- warp/tests/test_noise.py +14 -6
- warp/tests/test_operators.py +14 -6
- warp/tests/test_options.py +14 -6
- warp/tests/test_overwrite.py +19 -3
- warp/tests/test_paddle.py +14 -6
- warp/tests/test_peer.py +14 -6
- warp/tests/test_pinned.py +14 -6
- warp/tests/test_print.py +14 -6
- warp/tests/test_quat.py +14 -6
- warp/tests/test_rand.py +14 -6
- warp/tests/test_reload.py +14 -6
- warp/tests/test_rounding.py +14 -6
- warp/tests/test_runlength_encode.py +14 -6
- warp/tests/test_scalar_ops.py +14 -6
- warp/tests/test_sim_grad_bounce_linear.py +14 -6
- warp/tests/test_sim_kinematics.py +14 -6
- warp/tests/test_smoothstep.py +14 -6
- warp/tests/test_snippet.py +15 -0
- warp/tests/test_sparse.py +14 -6
- warp/tests/test_spatial.py +14 -6
- warp/tests/test_special_values.py +14 -6
- warp/tests/test_static.py +14 -6
- warp/tests/test_streams.py +14 -6
- warp/tests/test_struct.py +14 -6
- warp/tests/test_tape.py +14 -6
- warp/tests/test_tile.py +14 -6
- warp/tests/test_tile_load.py +58 -7
- warp/tests/test_tile_mathdx.py +14 -6
- warp/tests/test_tile_mlp.py +14 -6
- warp/tests/test_tile_reduce.py +14 -6
- warp/tests/test_tile_shared_memory.py +14 -6
- warp/tests/test_tile_view.py +14 -6
- warp/tests/test_torch.py +14 -6
- warp/tests/test_transient_module.py +14 -6
- warp/tests/test_triangle_closest_point.py +14 -6
- warp/tests/test_types.py +14 -6
- warp/tests/test_utils.py +14 -6
- warp/tests/test_vbd.py +14 -6
- warp/tests/test_vec.py +14 -6
- warp/tests/test_vec_lite.py +14 -6
- warp/tests/test_vec_scalar_ops.py +14 -6
- warp/tests/test_verify_fp.py +14 -6
- warp/tests/test_volume.py +14 -6
- warp/tests/test_volume_write.py +14 -6
- warp/tests/unittest_serial.py +14 -6
- warp/tests/unittest_suites.py +14 -6
- warp/tests/unittest_utils.py +14 -6
- warp/tests/unused_test_misc.py +14 -6
- warp/tests/walkthrough_debug.py +14 -6
- warp/thirdparty/unittest_parallel.py +15 -7
- warp/torch.py +14 -6
- warp/types.py +80 -74
- warp/utils.py +14 -6
- warp_lang-1.6.2.dist-info/LICENSE.md +202 -0
- {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/METADATA +44 -22
- warp_lang-1.6.2.dist-info/RECORD +419 -0
- {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/WHEEL +1 -1
- warp_lang-1.6.0.dist-info/LICENSE.md +0 -126
- warp_lang-1.6.0.dist-info/RECORD +0 -419
- {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/top_level.txt +0 -0
warp/sim/model.py
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""A module for building simulation models and state."""
|
|
9
17
|
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
10
20
|
import copy
|
|
11
21
|
import math
|
|
12
22
|
from typing import List, Optional, Tuple
|
|
@@ -262,47 +272,51 @@ class Mesh:
|
|
|
262
272
|
|
|
263
273
|
|
|
264
274
|
class State:
|
|
265
|
-
"""
|
|
275
|
+
"""Time-varying state data for a :class:`Model`.
|
|
266
276
|
|
|
267
|
-
Time-varying data includes particle positions, velocities, rigid body states, and
|
|
277
|
+
Time-varying state data includes particle positions, velocities, rigid body states, and
|
|
268
278
|
anything that is output from the integrator as derived data, e.g.: forces.
|
|
269
279
|
|
|
270
280
|
The exact attributes depend on the contents of the model. State objects should
|
|
271
281
|
generally be created using the :func:`Model.state()` function.
|
|
282
|
+
"""
|
|
272
283
|
|
|
273
|
-
|
|
284
|
+
def __init__(self):
|
|
285
|
+
self.particle_q: Optional[wp.array] = None
|
|
286
|
+
"""Array of 3D particle positions with shape ``(particle_count,)`` and type :class:`vec3`."""
|
|
274
287
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
particle_f (array): Array of 3D particle forces, shape [particle_count], :class:`vec3`
|
|
288
|
+
self.particle_qd: Optional[wp.array] = None
|
|
289
|
+
"""Array of 3D particle velocities with shape ``(particle_count,)`` and type :class:`vec3`."""
|
|
278
290
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
body_f (array): Array of body forces in maximal coordinates (first 3 entries represent torque, last 3 entries represent linear force), shape [body_count], :class:`spatial_vector`
|
|
291
|
+
self.particle_f: Optional[wp.array] = None
|
|
292
|
+
"""Array of 3D particle forces with shape ``(particle_count,)`` and type :class:`vec3`."""
|
|
282
293
|
|
|
283
|
-
|
|
294
|
+
self.body_q: Optional[wp.array] = None
|
|
295
|
+
"""Array of body coordinates (7-dof transforms) in maximal coordinates with shape ``(body_count,)`` and type :class:`transform`."""
|
|
284
296
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
297
|
+
self.body_qd: Optional[wp.array] = None
|
|
298
|
+
"""Array of body velocities in maximal coordinates (first three entries represent angular velocity,
|
|
299
|
+
last three entries represent linear velocity) with shape ``(body_count,)`` and type :class:`spatial_vector`.
|
|
300
|
+
"""
|
|
289
301
|
|
|
290
|
-
|
|
302
|
+
self.body_f: Optional[wp.array] = None
|
|
303
|
+
"""Array of body forces in maximal coordinates (first three entries represent torque, last three
|
|
304
|
+
entries represent linear force) with shape ``(body_count,)`` and type :class:`spatial_vector`.
|
|
291
305
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
306
|
+
.. note::
|
|
307
|
+
:attr:`body_f` represents external wrenches in world frame and denotes wrenches measured w.r.t.
|
|
308
|
+
to the body's center of mass for all integrators except :class:`FeatherstoneIntegrator`, which
|
|
309
|
+
assumes the wrenches are measured w.r.t. world origin.
|
|
310
|
+
"""
|
|
296
311
|
|
|
297
|
-
self.
|
|
298
|
-
|
|
299
|
-
self.body_f = None
|
|
312
|
+
self.joint_q: Optional[wp.array] = None
|
|
313
|
+
"""Array of generalized joint coordinates with shape ``(joint_coord_count,)`` and type ``float``."""
|
|
300
314
|
|
|
301
|
-
self.
|
|
302
|
-
|
|
315
|
+
self.joint_qd: Optional[wp.array] = None
|
|
316
|
+
"""Array of generalized joint velocities with shape ``(joint_dof_count,)`` and type ``float``."""
|
|
303
317
|
|
|
304
|
-
def clear_forces(self):
|
|
305
|
-
"""
|
|
318
|
+
def clear_forces(self) -> None:
|
|
319
|
+
"""Clear all forces (for particles and bodies) in the state object."""
|
|
306
320
|
with wp.ScopedTimer("clear_forces", False):
|
|
307
321
|
if self.particle_count:
|
|
308
322
|
self.particle_f.zero_()
|
|
@@ -311,7 +325,7 @@ class State:
|
|
|
311
325
|
self.body_f.zero_()
|
|
312
326
|
|
|
313
327
|
@property
|
|
314
|
-
def requires_grad(self):
|
|
328
|
+
def requires_grad(self) -> bool:
|
|
315
329
|
"""Indicates whether the state arrays have gradient computation enabled."""
|
|
316
330
|
if self.particle_q:
|
|
317
331
|
return self.particle_q.requires_grad
|
|
@@ -320,28 +334,28 @@ class State:
|
|
|
320
334
|
return False
|
|
321
335
|
|
|
322
336
|
@property
|
|
323
|
-
def body_count(self):
|
|
337
|
+
def body_count(self) -> int:
|
|
324
338
|
"""The number of bodies represented in the state."""
|
|
325
339
|
if self.body_q is None:
|
|
326
340
|
return 0
|
|
327
341
|
return len(self.body_q)
|
|
328
342
|
|
|
329
343
|
@property
|
|
330
|
-
def particle_count(self):
|
|
344
|
+
def particle_count(self) -> int:
|
|
331
345
|
"""The number of particles represented in the state."""
|
|
332
346
|
if self.particle_q is None:
|
|
333
347
|
return 0
|
|
334
348
|
return len(self.particle_q)
|
|
335
349
|
|
|
336
350
|
@property
|
|
337
|
-
def joint_coord_count(self):
|
|
351
|
+
def joint_coord_count(self) -> int:
|
|
338
352
|
"""The number of generalized joint position coordinates represented in the state."""
|
|
339
353
|
if self.joint_q is None:
|
|
340
354
|
return 0
|
|
341
355
|
return len(self.joint_q)
|
|
342
356
|
|
|
343
357
|
@property
|
|
344
|
-
def joint_dof_count(self):
|
|
358
|
+
def joint_dof_count(self) -> int:
|
|
345
359
|
"""The number of generalized joint velocity coordinates represented in the state."""
|
|
346
360
|
if self.joint_qd is None:
|
|
347
361
|
return 0
|
|
@@ -349,37 +363,34 @@ class State:
|
|
|
349
363
|
|
|
350
364
|
|
|
351
365
|
class Control:
|
|
366
|
+
"""Time-varying control data for a :class:`Model`.
|
|
367
|
+
|
|
368
|
+
Time-varying control data includes joint control inputs, muscle activations,
|
|
369
|
+
and activation forces for triangle and tetrahedral elements.
|
|
370
|
+
|
|
371
|
+
The exact attributes depend on the contents of the model. Control objects
|
|
372
|
+
should generally be created using the :func:`Model.control()` function.
|
|
352
373
|
"""
|
|
353
|
-
The Control object holds all *time-varying* control data for a model.
|
|
354
374
|
|
|
355
|
-
|
|
375
|
+
def __init__(self, model: Model):
|
|
376
|
+
self.model: Model = model
|
|
377
|
+
"""Model to use as a reference for the control inputs."""
|
|
356
378
|
|
|
357
|
-
|
|
379
|
+
self.joint_act: Optional[wp.array] = None
|
|
380
|
+
"""Array of joint control inputs with shape ``(joint_axis_count,)`` and type ``float``."""
|
|
358
381
|
|
|
359
|
-
|
|
382
|
+
self.tri_activations: Optional[wp.array] = None
|
|
383
|
+
"""Array of triangle element activations with shape ``(tri_count,)`` and type ``float``."""
|
|
360
384
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
tet_activations (array): Array of tetrahedral element activations, shape [tet_count], float
|
|
364
|
-
muscle_activations (array): Array of muscle activations, shape [muscle_count], float
|
|
385
|
+
self.tet_activations: Optional[wp.array] = None
|
|
386
|
+
"""Array of tetrahedral element activations with shape with shape ``(tet_count,) and type ``float``."""
|
|
365
387
|
|
|
366
|
-
|
|
388
|
+
self.muscle_activations: Optional[wp.array] = None
|
|
389
|
+
"""Array of muscle activations with shape ``(muscle_count,)`` and type ``float``."""
|
|
367
390
|
|
|
368
|
-
def
|
|
369
|
-
"""
|
|
370
|
-
Args:
|
|
371
|
-
model (Model): The model to use as a reference for the control inputs
|
|
372
|
-
"""
|
|
373
|
-
self.model = model
|
|
374
|
-
self.joint_act = None
|
|
375
|
-
self.tri_activations = None
|
|
376
|
-
self.tet_activations = None
|
|
377
|
-
self.muscle_activations = None
|
|
391
|
+
def reset(self) -> None:
|
|
392
|
+
"""Reset the control inputs to their initial state defined in :attr:`model`."""
|
|
378
393
|
|
|
379
|
-
def reset(self):
|
|
380
|
-
"""
|
|
381
|
-
Resets the control inputs to their initial state defined in :class:`Model`.
|
|
382
|
-
"""
|
|
383
394
|
if self.joint_act is not None:
|
|
384
395
|
self.joint_act.assign(self.model.joint_act)
|
|
385
396
|
if self.tri_activations is not None:
|
|
@@ -1396,6 +1407,8 @@ class ModelBuilder:
|
|
|
1396
1407
|
# apply offset transform to root bodies
|
|
1397
1408
|
if xform is not None:
|
|
1398
1409
|
self.shape_transform.append(xform * builder.shape_transform[s])
|
|
1410
|
+
else:
|
|
1411
|
+
self.shape_transform.append(builder.shape_transform[s])
|
|
1399
1412
|
|
|
1400
1413
|
for b, shapes in builder.body_shapes.items():
|
|
1401
1414
|
self.body_shapes[b + start_body_idx] = [s + start_shape_idx for s in shapes]
|
|
@@ -1418,18 +1431,16 @@ class ModelBuilder:
|
|
|
1418
1431
|
|
|
1419
1432
|
# offset the indices
|
|
1420
1433
|
self.articulation_start.extend([a + self.joint_count for a in builder.articulation_start])
|
|
1421
|
-
self.joint_parent.extend([p + self.
|
|
1422
|
-
self.joint_child.extend([c + self.
|
|
1434
|
+
self.joint_parent.extend([p + self.body_count if p != -1 else -1 for p in builder.joint_parent])
|
|
1435
|
+
self.joint_child.extend([c + self.body_count for c in builder.joint_child])
|
|
1423
1436
|
|
|
1424
1437
|
self.joint_q_start.extend([c + self.joint_coord_count for c in builder.joint_q_start])
|
|
1425
1438
|
self.joint_qd_start.extend([c + self.joint_dof_count for c in builder.joint_qd_start])
|
|
1426
1439
|
|
|
1427
1440
|
self.joint_axis_start.extend([a + self.joint_axis_total_count for a in builder.joint_axis_start])
|
|
1428
1441
|
|
|
1429
|
-
joint_children = set(builder.joint_child)
|
|
1430
1442
|
for i in range(builder.body_count):
|
|
1431
|
-
if xform is not None
|
|
1432
|
-
# rigid body is not attached to a joint, so apply input transform directly
|
|
1443
|
+
if xform is not None:
|
|
1433
1444
|
self.body_q.append(xform * builder.body_q[i])
|
|
1434
1445
|
else:
|
|
1435
1446
|
self.body_q.append(builder.body_q[i])
|
warp/sim/particles.py
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
import warp as wp
|
|
9
17
|
|
warp/sim/render.py
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
from collections import defaultdict
|
|
9
17
|
|
|
@@ -213,7 +221,7 @@ def CreateSimRenderer(renderer):
|
|
|
213
221
|
pos=p,
|
|
214
222
|
rot=q,
|
|
215
223
|
scale=geo_scale,
|
|
216
|
-
colors=
|
|
224
|
+
colors=color,
|
|
217
225
|
parent_body=body,
|
|
218
226
|
is_template=True,
|
|
219
227
|
)
|
|
@@ -328,7 +336,7 @@ def CreateSimRenderer(renderer):
|
|
|
328
336
|
"surface",
|
|
329
337
|
particle_q,
|
|
330
338
|
self.model.tri_indices.numpy().flatten(),
|
|
331
|
-
colors=(
|
|
339
|
+
colors=(0.75, 0.25, 0.0),
|
|
332
340
|
)
|
|
333
341
|
|
|
334
342
|
# render springs
|
warp/sim/utils.py
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
1
16
|
from typing import List, Tuple
|
|
2
17
|
|
|
3
18
|
import numpy as np
|
warp/sparse.py
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
1
16
|
import ctypes
|
|
2
17
|
from typing import Any, Generic, Optional, Tuple, TypeVar, Union
|
|
3
18
|
|
warp/stubs.py
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
1
16
|
# Autogenerated file, do not edit, this file provides stubs for builtins autocomplete in VSCode, PyCharm, etc
|
|
2
17
|
|
|
3
18
|
from typing import Any
|
|
@@ -1785,7 +1800,7 @@ def rand_init(seed: int32, offset: int32) -> uint32:
|
|
|
1785
1800
|
|
|
1786
1801
|
@over
|
|
1787
1802
|
def randi(state: uint32) -> int:
|
|
1788
|
-
"""Return a random integer in the range [
|
|
1803
|
+
"""Return a random integer in the range [-2^31, 2^31)."""
|
|
1789
1804
|
...
|
|
1790
1805
|
|
|
1791
1806
|
|
warp/tape.py
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
from collections import defaultdict, namedtuple
|
|
9
17
|
from typing import Dict, List
|
warp/tests/__main__.py
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
1
16
|
from warp.thirdparty.unittest_parallel import main
|
|
2
17
|
|
|
3
18
|
if __name__ == "__main__":
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""Dummy class used in test_reload.py"""
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
import warp as wp
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2023 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""This file defines a kernel that fails on codegen.py"""
|
|
9
17
|
|
warp/tests/aux_test_dependent.py
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2022 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""This file is used to test reloading module references."""
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2024 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""This file is used to test importing a user-defined function with a custom gradient"""
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2024 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""Helper module used in test_codegen_instancing.py"""
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2024 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
"""Dummy module used in test_reload.py"""
|
|
9
17
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
# Copyright (c) 2024 NVIDIA CORPORATION.
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
7
15
|
|
|
8
16
|
import warp as wp
|
|
9
17
|
|