warp-lang 1.3.2__py3-none-macosx_10_13_universal2.whl → 1.4.0__py3-none-macosx_10_13_universal2.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.

Files changed (107) hide show
  1. warp/__init__.py +6 -0
  2. warp/autograd.py +59 -6
  3. warp/bin/libwarp.dylib +0 -0
  4. warp/build_dll.py +8 -10
  5. warp/builtins.py +126 -4
  6. warp/codegen.py +435 -53
  7. warp/config.py +1 -1
  8. warp/context.py +678 -403
  9. warp/dlpack.py +2 -0
  10. warp/examples/benchmarks/benchmark_cloth.py +10 -0
  11. warp/examples/core/example_render_opengl.py +12 -10
  12. warp/examples/fem/example_adaptive_grid.py +251 -0
  13. warp/examples/fem/example_apic_fluid.py +1 -1
  14. warp/examples/fem/example_diffusion_3d.py +2 -2
  15. warp/examples/fem/example_magnetostatics.py +1 -1
  16. warp/examples/fem/example_streamlines.py +1 -0
  17. warp/examples/fem/utils.py +23 -4
  18. warp/examples/sim/example_cloth.py +50 -6
  19. warp/fem/__init__.py +2 -0
  20. warp/fem/adaptivity.py +493 -0
  21. warp/fem/field/field.py +2 -1
  22. warp/fem/field/nodal_field.py +18 -26
  23. warp/fem/field/test.py +4 -4
  24. warp/fem/field/trial.py +4 -4
  25. warp/fem/geometry/__init__.py +1 -0
  26. warp/fem/geometry/adaptive_nanogrid.py +843 -0
  27. warp/fem/geometry/nanogrid.py +55 -28
  28. warp/fem/space/__init__.py +1 -1
  29. warp/fem/space/nanogrid_function_space.py +69 -35
  30. warp/fem/utils.py +113 -107
  31. warp/jax_experimental.py +28 -15
  32. warp/native/array.h +0 -1
  33. warp/native/builtin.h +103 -6
  34. warp/native/bvh.cu +2 -0
  35. warp/native/cuda_util.cpp +14 -0
  36. warp/native/cuda_util.h +2 -0
  37. warp/native/error.cpp +4 -2
  38. warp/native/exports.h +99 -17
  39. warp/native/mat.h +97 -0
  40. warp/native/mesh.cpp +36 -0
  41. warp/native/mesh.cu +51 -0
  42. warp/native/mesh.h +1 -0
  43. warp/native/quat.h +43 -0
  44. warp/native/spatial.h +6 -0
  45. warp/native/vec.h +74 -0
  46. warp/native/warp.cpp +2 -1
  47. warp/native/warp.cu +10 -3
  48. warp/native/warp.h +8 -1
  49. warp/paddle.py +382 -0
  50. warp/sim/__init__.py +1 -0
  51. warp/sim/collide.py +519 -0
  52. warp/sim/integrator_euler.py +18 -5
  53. warp/sim/integrator_featherstone.py +5 -5
  54. warp/sim/integrator_vbd.py +1026 -0
  55. warp/sim/model.py +49 -23
  56. warp/stubs.py +459 -0
  57. warp/tape.py +2 -0
  58. warp/tests/aux_test_dependent.py +1 -0
  59. warp/tests/aux_test_name_clash1.py +32 -0
  60. warp/tests/aux_test_name_clash2.py +32 -0
  61. warp/tests/aux_test_square.py +1 -0
  62. warp/tests/test_array.py +222 -0
  63. warp/tests/test_async.py +3 -3
  64. warp/tests/test_atomic.py +6 -0
  65. warp/tests/test_closest_point_edge_edge.py +93 -1
  66. warp/tests/test_codegen.py +62 -15
  67. warp/tests/test_codegen_instancing.py +1457 -0
  68. warp/tests/test_collision.py +486 -0
  69. warp/tests/test_compile_consts.py +3 -28
  70. warp/tests/test_dlpack.py +170 -0
  71. warp/tests/test_examples.py +22 -8
  72. warp/tests/test_fast_math.py +10 -4
  73. warp/tests/test_fem.py +64 -0
  74. warp/tests/test_func.py +46 -0
  75. warp/tests/test_implicit_init.py +49 -0
  76. warp/tests/test_jax.py +58 -0
  77. warp/tests/test_mat.py +84 -0
  78. warp/tests/test_mesh_query_point.py +188 -0
  79. warp/tests/test_module_hashing.py +40 -0
  80. warp/tests/test_multigpu.py +3 -3
  81. warp/tests/test_overwrite.py +8 -0
  82. warp/tests/test_paddle.py +852 -0
  83. warp/tests/test_print.py +89 -0
  84. warp/tests/test_quat.py +111 -0
  85. warp/tests/test_reload.py +31 -1
  86. warp/tests/test_scalar_ops.py +2 -0
  87. warp/tests/test_static.py +412 -0
  88. warp/tests/test_streams.py +64 -3
  89. warp/tests/test_struct.py +4 -4
  90. warp/tests/test_torch.py +24 -0
  91. warp/tests/test_triangle_closest_point.py +137 -0
  92. warp/tests/test_types.py +1 -1
  93. warp/tests/test_vbd.py +386 -0
  94. warp/tests/test_vec.py +143 -0
  95. warp/tests/test_vec_scalar_ops.py +139 -0
  96. warp/tests/test_volume.py +30 -0
  97. warp/tests/unittest_suites.py +12 -0
  98. warp/tests/unittest_utils.py +9 -5
  99. warp/thirdparty/dlpack.py +3 -1
  100. warp/types.py +157 -34
  101. warp/utils.py +37 -14
  102. {warp_lang-1.3.2.dist-info → warp_lang-1.4.0.dist-info}/METADATA +10 -8
  103. {warp_lang-1.3.2.dist-info → warp_lang-1.4.0.dist-info}/RECORD +106 -94
  104. warp/tests/test_point_triangle_closest_point.py +0 -143
  105. {warp_lang-1.3.2.dist-info → warp_lang-1.4.0.dist-info}/LICENSE.md +0 -0
  106. {warp_lang-1.3.2.dist-info → warp_lang-1.4.0.dist-info}/WHEEL +0 -0
  107. {warp_lang-1.3.2.dist-info → warp_lang-1.4.0.dist-info}/top_level.txt +0 -0
warp/utils.py CHANGED
@@ -11,7 +11,7 @@ import os
11
11
  import sys
12
12
  import time
13
13
  import warnings
14
- from typing import Any
14
+ from typing import Any, Optional
15
15
 
16
16
  import numpy as np
17
17
 
@@ -578,7 +578,32 @@ class ScopedDevice:
578
578
 
579
579
 
580
580
  class ScopedStream:
581
- def __init__(self, stream, sync_enter=True, sync_exit=False):
581
+ """A context manager to temporarily change the current stream on a device.
582
+
583
+ Attributes:
584
+ stream (Stream or None): The stream that will temporarily become the device's
585
+ default stream within the context.
586
+ saved_stream (Stream): The device's previous current stream. This is
587
+ restored as the device's current stream on exiting the context.
588
+ sync_enter (bool): Whether to synchronize this context's stream with
589
+ the device's previous current stream on entering the context.
590
+ sync_exit (bool): Whether to synchronize the device's previous current
591
+ with this context's stream on exiting the context.
592
+ device (Device): The device associated with the stream.
593
+ """
594
+
595
+ def __init__(self, stream: Optional[wp.Stream], sync_enter: bool = True, sync_exit: bool = False):
596
+ """Initializes the context manager with a stream and synchronization options.
597
+
598
+ Args:
599
+ stream: The stream that will temporarily become the device's
600
+ default stream within the context.
601
+ sync_enter (bool): Whether to synchronize this context's stream with
602
+ the device's previous current stream on entering the context.
603
+ sync_exit (bool): Whether to synchronize the device's previous current
604
+ with this context's stream on exiting the context.
605
+ """
606
+
582
607
  self.stream = stream
583
608
  self.sync_enter = sync_enter
584
609
  self.sync_exit = sync_exit
@@ -832,16 +857,22 @@ for T in [wp.float16, wp.float32, wp.float64]:
832
857
  wp.overload(add_kernel_3d, [wp.array3d(dtype=T), wp.array3d(dtype=T), T])
833
858
 
834
859
 
835
- def check_iommu():
836
- """Check if IOMMU is enabled on Linux, which can affect peer-to-peer transfers.
860
+ def check_p2p():
861
+ """Check if the machine is configured properly for peer-to-peer transfers.
837
862
 
838
863
  Returns:
839
- A Boolean indicating whether IOMMU is configured properly for peer-to-peer transfers.
864
+ A Boolean indicating whether the machine is configured properly for peer-to-peer transfers.
840
865
  On Linux, this function attempts to determine if IOMMU is enabled and will return `False` if IOMMU is detected.
841
866
  On other operating systems, it always return `True`.
842
867
  """
843
868
 
869
+ # HACK: allow disabling P2P tests using an environment variable
870
+ disable_p2p_tests = os.getenv("WARP_DISABLE_P2P_TESTS", default="0")
871
+ if int(disable_p2p_tests):
872
+ return False
873
+
844
874
  if sys.platform == "linux":
875
+ # IOMMU enablement can affect peer-to-peer transfers.
845
876
  # On modern Linux, there should be IOMMU-related entries in the /sys file system.
846
877
  # This should be more reliable than checking kernel logs like dmesg.
847
878
  if os.path.isdir("/sys/class/iommu") and os.listdir("/sys/class/iommu"):
@@ -849,15 +880,7 @@ def check_iommu():
849
880
  if os.path.isdir("/sys/kernel/iommu_groups") and os.listdir("/sys/kernel/iommu_groups"):
850
881
  return False
851
882
 
852
- # HACK: disable P2P tests on misbehaving agents
853
- disable_p2p_tests = os.getenv("WARP_DISABLE_P2P_TESTS", default="0")
854
- if int(disable_p2p_tests):
855
- return False
856
-
857
- return True
858
- else:
859
- # doesn't matter
860
- return True
883
+ return True
861
884
 
862
885
 
863
886
  class timing_result_t(ctypes.Structure):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp-lang
3
- Version: 1.3.2
3
+ Version: 1.4.0
4
4
  Summary: A Python framework for high-performance simulation and graphics programming
5
5
  Author-email: NVIDIA Corporation <mmacklin@nvidia.com>
6
6
  License: NVIDIA Software License
@@ -45,7 +45,7 @@ regular Python functions and JIT compiles them to efficient kernel code that can
45
45
  Warp is designed for [spatial computing](https://en.wikipedia.org/wiki/Spatial_computing)
46
46
  and comes with a rich set of primitives that make it easy to write
47
47
  programs for physics simulation, perception, robotics, and geometry processing. In addition, Warp kernels
48
- are differentiable and can be used as part of machine-learning pipelines with frameworks such as PyTorch and JAX.
48
+ are differentiable and can be used as part of machine-learning pipelines with frameworks such as PyTorch, JAX and Paddle.
49
49
 
50
50
  Please refer to the project [Documentation](https://nvidia.github.io/warp/) for API and language reference and [CHANGELOG.md](./CHANGELOG.md) for release history.
51
51
 
@@ -77,9 +77,9 @@ the `pip install` command, e.g.
77
77
 
78
78
  | Platform | Install Command |
79
79
  | --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
80
- | Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.3.2/warp_lang-1.3.2+cu11-py3-none-manylinux2014_aarch64.whl` |
81
- | Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.3.2/warp_lang-1.3.2+cu11-py3-none-manylinux2014_x86_64.whl` |
82
- | Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.3.2/warp_lang-1.3.2+cu11-py3-none-win_amd64.whl` |
80
+ | Linux aarch64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.0/warp_lang-1.4.0+cu11-py3-none-manylinux2014_aarch64.whl` |
81
+ | Linux x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.0/warp_lang-1.4.0+cu11-py3-none-manylinux2014_x86_64.whl` |
82
+ | Windows x86-64 | `pip install https://github.com/NVIDIA/warp/releases/download/v1.4.0/warp_lang-1.4.0+cu11-py3-none-win_amd64.whl` |
83
83
 
84
84
  The `--force-reinstall` option may need to be used to overwrite a previous installation.
85
85
 
@@ -90,7 +90,7 @@ The `--force-reinstall` option may need to be used to overwrite a previous insta
90
90
 
91
91
  This applies to pre-built packages distributed on PyPI and GitHub and also when building Warp from source.
92
92
 
93
- Note that building Warp with the `--quick` flag changes the driver requirements. The quick build skips CUDA backward compatibility, so the minimum required driver is determined by the CUDA Toolkit version. Refer to the [latest CUDA Toolkit release notes](https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html) to find the minimum required driver for different CUDA Toolkit versions (e.g., [this table from CUDA Toolkit 12.5](https://docs.nvidia.com/cuda/archive/12.5.0/cuda-toolkit-release-notes/index.html#id3)).
93
+ Note that building Warp with the `--quick` flag changes the driver requirements. The quick build skips CUDA backward compatibility, so the minimum required driver is determined by the CUDA Toolkit version. Refer to the [latest CUDA Toolkit release notes](https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html) to find the minimum required driver for different CUDA Toolkit versions (e.g., [this table from CUDA Toolkit 12.6](https://docs.nvidia.com/cuda/archive/12.6.0/cuda-toolkit-release-notes/index.html#id5)).
94
94
 
95
95
  Warp checks the installed driver during initialization and will report a warning if the driver is not suitable, e.g.:
96
96
 
@@ -361,6 +361,7 @@ This ensures that subsequent modifications to the library will be reflected in t
361
361
  Please see the following resources for additional background on Warp:
362
362
 
363
363
  * [Product Page](https://developer.nvidia.com/warp-python)
364
+ * [SIGGRAPH 2024 Course Slides](https://dl.acm.org/doi/10.1145/3664475.3664543)
364
365
  * [GTC 2024 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtc24-s63345/)
365
366
  * [GTC 2022 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtcspring22-s41599)
366
367
  * [GTC 2021 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31838)
@@ -380,7 +381,7 @@ See the [FAQ](https://nvidia.github.io/warp/faq.html) in the Warp documentation.
380
381
 
381
382
  Problems, questions, and feature requests can be opened on [GitHub Issues](https://github.com/NVIDIA/warp/issues).
382
383
 
383
- The Warp team also monitors the **#warp** channel on the public [Omniverse Discord](https://discord.com/invite/nvidiaomniverse) server, come chat with us!
384
+ The Warp team also monitors the **#warp** forum on the public [Omniverse Discord](https://discord.com/invite/nvidiaomniverse) server, come chat with us!
384
385
 
385
386
  ## Versioning
386
387
 
@@ -403,7 +404,8 @@ Warp is provided under the NVIDIA Software License, please see [LICENSE.md](./LI
403
404
 
404
405
  Contributions and pull requests from the community are welcome and are taken under the
405
406
  terms described in the **Feedback** section of [LICENSE.md](LICENSE.md#9-feedback).
406
- [CONTRIBUTING.md](./CONTRIBUTING.md) provides additional information on how to open a pull request for Warp.
407
+ Please see the [Contribution Guide](https://nvidia.github.io/warp/modules/contribution_guide.html) for more
408
+ information on contributing to the development of Warp.
407
409
 
408
410
  ## Citing
409
411
 
@@ -1,25 +1,26 @@
1
- warp/__init__.py,sha256=4-qacBz6g6l4lAZeypqVvcb1et69XzHyeyHAlXJzc_A,4687
1
+ warp/__init__.py,sha256=m7w5_kWVrTm6s0tY8YclsZlu2xwiTM5TWjt0oTUmq6Q,4931
2
2
  warp/__init__.pyi,sha256=Vxal9LM-q5ztScfRhrM4INpm5LJV6fN6B-H2NI5pkyU,21
3
- warp/autograd.py,sha256=WBetwkoMWatoPlGDs6oN_8Pd6k4znAyjtV8EmwNRiFs,33640
3
+ warp/autograd.py,sha256=5-ClvT3AwDQfUcpgDlVN7D4tFFzqqjBJrEMTM_Ag4gk,35700
4
4
  warp/build.py,sha256=N2-SDksxkffUkzV97dtLW2Wjqd5ERfgwpqzVoe8GNRw,3904
5
- warp/build_dll.py,sha256=p9eTXMhKbI0uTkpqeY5DxOmVhupfaykM-a-re6fXBXg,15896
6
- warp/builtins.py,sha256=2eqAYDotCCaZ2pdDLNWLSqTM_qnMb9O9O-OfkZpj4Yg,142275
7
- warp/codegen.py,sha256=bwWinPrKbCBm_2xLywCJDAgpWhEoo4i4zmeCTklCWJo,116383
8
- warp/config.py,sha256=MrmOHA0ZkWoxm3itvgK5YbxEqKZCnz_5lqe-MFUIT1I,2808
5
+ warp/build_dll.py,sha256=jJYepplaVXRdLL_ug4QlR6w7TSjyHB8zr1EyfZROOgA,15801
6
+ warp/builtins.py,sha256=gJndZJZ03HBkEdA_Ri9wfYs5iuzQpR5ULRw39F8TYhM,146096
7
+ warp/codegen.py,sha256=kAhfMF5RfqC1vYhN1EZDYddfiSsiH9GUOR9yrnIEzBA,133509
8
+ warp/config.py,sha256=iNbaVCVfM_C4U6iOxUaNSrEoJg4MwzbkwGyY1hvArQk,2808
9
9
  warp/constants.py,sha256=ckfEqwbg109RJDW98SILe_yfOBEFolOATVjt0mU2py4,1321
10
- warp/context.py,sha256=wHh56A2qHp9CKWSpN8-P_sQNWBfOS0RMTXMMVqi1Jjs,226312
11
- warp/dlpack.py,sha256=Ol_wrve9k6ipSarDpNGlHoEH4KRFJucz09Aqvtgccs8,16777
10
+ warp/context.py,sha256=9zZG0K0zez7K0ThLw3KU5bD_raBQfAtLjJ-l7s56JzI,238090
11
+ warp/dlpack.py,sha256=jyQdL-2c6zM-r5P0DZBCTSkBoRpbmWChvcn3GvGBKIE,16853
12
12
  warp/fabric.py,sha256=qWOomvuhM2y3EzScsgaj_Dxvdt0wJPfFu4jUUG1JALg,11439
13
13
  warp/jax.py,sha256=QKJXfpz1jjaRD-Yp4C4wC4jUv8jHj0en3MW0VXKq0ZA,5280
14
- warp/jax_experimental.py,sha256=sQH-B4Lm_iqBfxdYypnIxvmaQ7-EuQTXNvDH0EH2weY,13400
14
+ warp/jax_experimental.py,sha256=1WFrXcZk3U9SzqM5NJmpuCd1h29tWfvwZRA7b9JIecs,13930
15
+ warp/paddle.py,sha256=afh5f7n37IRaDiRimFlI4xqW6p7xTPx61wnTkotOUS8,14862
15
16
  warp/sparse.py,sha256=APAp2M2FNpmOaQkI-ddxjluEcwJ-Ua2plNwq8IdP_Gw,64640
16
- warp/stubs.py,sha256=0TKzfYAuQR9_gGk3TRzJhvHdjSUkAL2KlBXdD6Q73-U,51776
17
- warp/tape.py,sha256=w96cmAIWTEvmUCvFVoNp3qMO2CCI934CjwE-7buPpDw,48988
17
+ warp/stubs.py,sha256=vqSKm0q1ptkqhtq1iA1Yepn7Bzrde-tJsnE0P_YZ9wI,67864
18
+ warp/tape.py,sha256=X979fk8oSsJiv-VQyz2AMhAm2udDk2bngx-_zKHIJyo,49015
18
19
  warp/torch.py,sha256=jv3SYQHVKsiCzenlWUVmVs5mLYfsWcdTW446IqvEwVA,14505
19
- warp/types.py,sha256=3k3ZXjm0nL18Fkhpcu849D4chflB9tdMqNCr4F2e6jU,176639
20
- warp/utils.py,sha256=wwyxRAujKkpdm-sB4pX5upAEgLv5RymOi6pQoNOUs-I,34663
20
+ warp/types.py,sha256=5zdL67hnDpIT3gzFkFyUMawVjrtgXIj1acnZpk90b_g,180802
21
+ warp/utils.py,sha256=T07usjsWbggZTH1jvWd-W4ucWcWOEsLSdv8443LseJ8,35993
21
22
  warp/bin/libwarp-clang.dylib,sha256=VVPOAD2ah2XtUekWrQ4wl-pHLbRFjTsDfuxpcvPZYRE,106702184
22
- warp/bin/libwarp.dylib,sha256=TTVA4HKX5uLuWP6291jodvr45X8R2NDXWowBmDVIo28,896296
23
+ warp/bin/libwarp.dylib,sha256=QIT_Izt3gI4JTnQ_g4NnXl51w9aUW7HRP4aMHEJt_Ik,902824
23
24
  warp/examples/__init__.py,sha256=ul3vRFtQ17_zIZIWJaCnCY28KZTGOUHQA4wA_IW_qaw,606
24
25
  warp/examples/browse.py,sha256=6v7F0vpZz5ZtYGkg8hIpxhbIZ2ECv46cIKAmKVtV1S4,848
25
26
  warp/examples/assets/bear.usd,sha256=1SK7s-zpF3Ypzcc8Wt861o174Pe-xMuJpvosACXVNUk,226238
@@ -34,7 +35,7 @@ warp/examples/assets/rocks.nvdb,sha256=6jIrR2jk5dTIfhanMB_FiNI_vJOs7YCfzLXcFPGmV
34
35
  warp/examples/assets/rocks.usd,sha256=Q3QrGmTIo4GcPc4BOxBdkRU0WCErM5eWBFU2NjWFnFs,428189
35
36
  warp/examples/assets/sphere.usd,sha256=9nIhnmLIj-cS-PMTieVzMxsUAbpN-tMTavm-leUOfjI,2619
36
37
  warp/examples/benchmarks/benchmark_api.py,sha256=tEhZhlCkWqbE1h5mtbbia1Q0MAkCcK8vJgfxmgOP_xk,9577
37
- warp/examples/benchmarks/benchmark_cloth.py,sha256=JFHE7C1gIjK2iAo95bvEY1D5hSWrCbeC10lM8HeO33c,8622
38
+ warp/examples/benchmarks/benchmark_cloth.py,sha256=AQkJqthsFVWWsRMC9pab0Uv_4sW-OLUZNwuD0jhuNHQ,8930
38
39
  warp/examples/benchmarks/benchmark_cloth_cupy.py,sha256=o3S8F86qg_t-WnoXwudZLR8HB5hGvigw_DuqRCWOTQ4,2487
39
40
  warp/examples/benchmarks/benchmark_cloth_jax.py,sha256=awt-YjnrvafCVkXy5LiCQaX1IFhUngOxwpfvgZ0jfqk,2683
40
41
  warp/examples/benchmarks/benchmark_cloth_numba.py,sha256=vybcwvPyIc41t_QR4j1iC_CFsbMBuTQfk7BCceaKx8Q,4166
@@ -54,26 +55,27 @@ warp/examples/core/example_mesh_intersect.py,sha256=S7DNbCmFPcW68FIO2mJNGYlnWnib
54
55
  warp/examples/core/example_nvdb.py,sha256=KJpt54H7GYmPEGiDVePZb_yqd26C0c-uze24YnpELJs,5682
55
56
  warp/examples/core/example_raycast.py,sha256=j2xTugufoy5I_KIj6SHf90rwZVGIcFMrhQWpn8n6UPE,3434
56
57
  warp/examples/core/example_raymarch.py,sha256=SucfNHMio9v6TQ4eQ_E4_fqZbhNXK0aVdM3E9_tq28M,5515
57
- warp/examples/core/example_render_opengl.py,sha256=x45egEJwmRcVOHm4xptznojxFZWLYq6My_PsKVfV42Y,7490
58
+ warp/examples/core/example_render_opengl.py,sha256=f5pxUiHiGYuFQbvOmfhKIFVt-HPUvJZCCXok4H7z20E,7533
58
59
  warp/examples/core/example_sph.py,sha256=yGftlLETVGJspLRuf332BZbwkhncc3eaaazlRg853RA,12623
59
60
  warp/examples/core/example_torch.py,sha256=XLh-3BvJIstw6ILej5BF5My3Th9orp90VewuCg6j3XA,6777
60
61
  warp/examples/core/example_wave.py,sha256=XvM1KedKhaT3kjcPj-yBREzdE15JrgLBVGyBMR5cHpo,8194
61
- warp/examples/fem/example_apic_fluid.py,sha256=v2sFpX344GzDPHX0RFUW-7uDv4XVvuRincaEpzTsLg0,14478
62
+ warp/examples/fem/example_adaptive_grid.py,sha256=PBqgE-8Dq4tOKCmP5WqTlmqkc3JkMfXYCqfMhcx_WCs,9242
63
+ warp/examples/fem/example_apic_fluid.py,sha256=IMvcJlpAxXWjwWQVDjUt5vqz3EDWlnjWlouHOd-uzA8,14507
62
64
  warp/examples/fem/example_burgers.py,sha256=gCt5x3iXCoilVWv4WYA9pzh1nDQYnAARhr5PEdUhAjs,9509
63
65
  warp/examples/fem/example_convection_diffusion.py,sha256=7iY4rlyzfu7i_CNgAS8UfHwkS4jIuyt7ESbTmkDuE4E,5956
64
66
  warp/examples/fem/example_convection_diffusion_dg.py,sha256=batRNlRL9B2J7yJAAM2s8TYY5zNOG3m6yW6LHX-KMiU,7035
65
67
  warp/examples/fem/example_deformed_geometry.py,sha256=BdMbUMjausU1m6tXTdJ7qQ96VlO_t4kRy5jSNMogMK8,5935
66
68
  warp/examples/fem/example_diffusion.py,sha256=liFgksvn3pMGp-M8XVGLa0tlrLIUfUIxVNLtyAV3l1c,7112
67
- warp/examples/fem/example_diffusion_3d.py,sha256=0EOpx2G9Yei-0MQ47gJHWn7tvQgsiYZ1BE7pPmAdLlw,6432
69
+ warp/examples/fem/example_diffusion_3d.py,sha256=iQmM_mO2UoCMhWwybsU189rnR1W7wpuM07e36MWwgoc,6461
68
70
  warp/examples/fem/example_diffusion_mgpu.py,sha256=YnXowP-UQvzlS0dvUa3_LlrmLwE8FMxu8uLrrShfcW8,7784
69
- warp/examples/fem/example_magnetostatics.py,sha256=Oanv3ft1HmEeheCOpgIckQjJQ7LNT-Tw9ycH6mWI5qc,6964
71
+ warp/examples/fem/example_magnetostatics.py,sha256=wMeH7MiVJ0XvJl87k7aDPJr3bxgugQuOdA-xWVJtzp4,6964
70
72
  warp/examples/fem/example_mixed_elasticity.py,sha256=o8RxBwbtwTgNyOQLui5oaEuZa1re9quL_lo-Mt6E62g,10512
71
73
  warp/examples/fem/example_navier_stokes.py,sha256=m-Rr7BJ14I1awhrzuqU_ZWG7D-nO_8F45Z3yYLr7TiA,8696
72
74
  warp/examples/fem/example_nonconforming_contact.py,sha256=APIbR11KU52zVe6_zgObukDyEnDYv2VG7afPqL-uEG0,10412
73
75
  warp/examples/fem/example_stokes.py,sha256=7wM-bf1mjfj8r0urpBjH1Vm6bQfc2X8yUr9PnPph_n0,7154
74
76
  warp/examples/fem/example_stokes_transfer.py,sha256=UhgR5f2yXVavVYhmuMoOzKApg--MXYCD0r5eeHJ3vDs,9366
75
- warp/examples/fem/example_streamlines.py,sha256=AlVqYaklgiIs9u8SdY6NW1Kfmg8jwQwD8wcQ8kQeVXk,12226
76
- warp/examples/fem/utils.py,sha256=Qim4DBbxOhR53dRachKiPVgGVVINHxe7rl3Mb32Hvkk,31419
77
+ warp/examples/fem/example_streamlines.py,sha256=a-RtZrpqngulgfc8MlJ010qZC7kW5iGKsCYT4HGBRlc,12266
78
+ warp/examples/fem/utils.py,sha256=aZX5_6xWuHhSZKC0S3Qof3-2paUDWA9PieuwCpnaFBo,32112
77
79
  warp/examples/optim/example_bounce.py,sha256=V4t9pKXGXv91C-S9-e5YV6ENSgOpK2cyHmPl1q3-zKQ,8470
78
80
  warp/examples/optim/example_cloth_throw.py,sha256=mj170UWAhWu4EGQwVgqp08ijoHvwZXlCC4WAa3sl0QE,7213
79
81
  warp/examples/optim/example_diffray.py,sha256=GiSmgqlN_j33uFuJ8KChJJwYpABkhUvII-YeQrOmZqo,18545
@@ -84,7 +86,7 @@ warp/examples/optim/example_spring_cage.py,sha256=641CP6Be3aQza-7MOQlVkXVpAUEHCM
84
86
  warp/examples/optim/example_trajectory.py,sha256=GC1UDRLhUrvAkpegIfa_FqxWKMXDHRzuXzRgqbbmBHA,7670
85
87
  warp/examples/optim/example_walker.py,sha256=lTlcfT118zqLBYg8zPtsSEMl3Dz-SJ8gcAO_zcfIrF8,10731
86
88
  warp/examples/sim/example_cartpole.py,sha256=CJdWfU11_BKitRb-ZF56sflf6dWUqz2IP1eRQHeOcCU,4496
87
- warp/examples/sim/example_cloth.py,sha256=8jiGRfpe-71NC04IkzOHYr-Vd0n2B0h1twuH1ekyGW4,6390
89
+ warp/examples/sim/example_cloth.py,sha256=dKpuPRycwkRpyoZL_C5wiuR5COIYwyF3D-yERUVy0Tw,7743
88
90
  warp/examples/sim/example_granular.py,sha256=993MpdUcBE_qUSRclaGYicynIjFiTia-wVyz8IlON_A,3907
89
91
  warp/examples/sim/example_granular_collision_sdf.py,sha256=y0fmRhWyIT7aJExBaBIHHERjWfeJW2PV5GXmTIcYGsM,6556
90
92
  warp/examples/sim/example_jacobian_ik.py,sha256=waEO4XKw46ifIYfYOEOKNRfP21JB9iC6q8XsmDa7e9w,8562
@@ -96,7 +98,8 @@ warp/examples/sim/example_rigid_force.py,sha256=00G1zIbfN6GM_7rpiuGEk1k91uxTDaxe
96
98
  warp/examples/sim/example_rigid_gyroscopic.py,sha256=22NwdvS278KgkdKD29DTOVWLUtcyBfg35uuEObEF8uU,3348
97
99
  warp/examples/sim/example_rigid_soft_contact.py,sha256=u-OdHBIVR4tForMoJYpsJjeLAMGAXXQU78cDQ6OXkY4,4264
98
100
  warp/examples/sim/example_soft_body.py,sha256=Y_13OJEExPhe8Korhne9SlGmcfu88u5Vg8H3udcboSE,5820
99
- warp/fem/__init__.py,sha256=pijKMGl7MZ6sFRCpC5u4HtH7L6TZv4DSugN5xEKrJJ8,1660
101
+ warp/fem/__init__.py,sha256=QTW0exTAlw4qfCjvUNQi-2iD_bwkvrTnGp7u3cbx_04,1769
102
+ warp/fem/adaptivity.py,sha256=zeeFOoy2QWCbhHoVaN5NsYRGHHPZAPepWXAi3SkNiDw,17046
100
103
  warp/fem/cache.py,sha256=99D9zwn95N5VbALhFXy23XpE_mOMp8SBwlJbZpQ7_HI,18276
101
104
  warp/fem/dirichlet.py,sha256=6Pl5Bu67WDDnX-XDip7esSRfaIaifugAohQjWX7u4RQ,6361
102
105
  warp/fem/domain.py,sha256=CUdrn4alQBNp6qJfErP2bht0dZLjelgrwIVR1PjUMnc,11944
@@ -104,14 +107,15 @@ warp/fem/integrate.py,sha256=mLKHQMgTu8qbN4TOp7DWlV0kNTZBxhi5R2-XfaWMhCo,62264
104
107
  warp/fem/operator.py,sha256=W57PueA32kXd8AFl89ra53LLwO19jsRpFDkclsnwPMI,6383
105
108
  warp/fem/polynomial.py,sha256=feVKe3Yv8M53vCC57dhW7aq698DgnAilNOvvi_BnBY0,6565
106
109
  warp/fem/types.py,sha256=TA6rsT61qIC0a62FEiNrNBPbjz1rhMqF8SqZgFKKcGk,2331
107
- warp/fem/utils.py,sha256=0NS_IdxMwt6wCRBDum5w2QhTednJBu_5iUEvXXb6-Ok,22284
110
+ warp/fem/utils.py,sha256=ESZ6WWERWZxVB1NTPIhtYW63cAbpb2YtJXaR_--y1_w,22865
108
111
  warp/fem/field/__init__.py,sha256=WGklY2f5nuXLA9TstvWvHJq9AZRxb4kvPihxb1OZHcM,4020
109
- warp/fem/field/field.py,sha256=lu2GJ20sI19PxtwD3oDp3NMSTiT255h4yYY5JD83ZqY,21108
110
- warp/fem/field/nodal_field.py,sha256=_gbMM-1EFSPmeBZwK6-wxAzdoGAinEF5VevKc3RJq-M,13074
112
+ warp/fem/field/field.py,sha256=zGA-nrkirNIBYH7umYT1gvI5sK6qudzhZkR6nIAhofc,21124
113
+ warp/fem/field/nodal_field.py,sha256=g-6zUAt3GKRAPBwt1ZcK38_7KblZwzKweSRJQJ-xQQY,12746
111
114
  warp/fem/field/restriction.py,sha256=M_s2srnYUh3jG-GmEs3yg-MxO294jJgD6VKQdO7XshU,850
112
- warp/fem/field/test.py,sha256=OoroZVEV-x_Crw8y6965pHdPVeOqG80pUXtlDcMwV48,6994
113
- warp/fem/field/trial.py,sha256=KRfVn06Xg5CJx0wkn2ib_UQbCgtVDPP2gWtJTT11sfU,6918
114
- warp/fem/geometry/__init__.py,sha256=fI-GVIgdoOtXChEVM0zqCdLckD0AADa3517rEIwKHa4,461
115
+ warp/fem/field/test.py,sha256=JU6d-ZR2no8bCIjAG-sDc9Ac-jwV8P0uUNIPDllpM_M,6922
116
+ warp/fem/field/trial.py,sha256=Amq6-OBj8b7SsNa1JHX71fDgGN7R5dEnV0JkQYayuKo,6846
117
+ warp/fem/geometry/__init__.py,sha256=LSDcAYhNpot86QjTQqZ8vCHmy5FxLqxH8NAlC5w_WYQ,509
118
+ warp/fem/geometry/adaptive_nanogrid.py,sha256=6Zv1d_7inFKbK_IPQXOzIm-0mNCabU96jozyYPVxntc,31132
115
119
  warp/fem/geometry/closest_point.py,sha256=RhIsOi03VQk3aq6hrnkjKA8yz_Jzf5uTyFuiV4eeYeQ,2028
116
120
  warp/fem/geometry/deformed_geometry.py,sha256=699TNK6LwwvEUOYgPN1IRZnlZmGQqd6Wwy9hv4YYfhs,12818
117
121
  warp/fem/geometry/element.py,sha256=DMyHW-FPNnyWXvDlsew9mTQAWfqnsLvt5x5lqs50nnQ,34180
@@ -119,7 +123,7 @@ warp/fem/geometry/geometry.py,sha256=t2DtgJqnotdclZn97qgTsb_0fuDFty-FLPjf38pO_2M
119
123
  warp/fem/geometry/grid_2d.py,sha256=bUdlCWWNcytF5S-md1ewIk9VYOzLlntZx7ZOGp_ON-4,11950
120
124
  warp/fem/geometry/grid_3d.py,sha256=QnaNcg5R-IahfWb0hOVMcQ6i_0XdKzWZWOwFdbXuYRg,14466
121
125
  warp/fem/geometry/hexmesh.py,sha256=i4Gy2vc8agxxHMTitkRItxeHGwK4V4Gnt3Js6pFFbRo,33961
122
- warp/fem/geometry/nanogrid.py,sha256=wlh5ydgq8vFDe4RfwL8lhRzpKOhygs2acGFNGvNn33Y,18595
126
+ warp/fem/geometry/nanogrid.py,sha256=vhBzMqxSv6etafdelFHb7wjMAkYvkuqA4HPd5cQjknM,19510
123
127
  warp/fem/geometry/partition.py,sha256=uI85pA7SV-b1--HIxGNsktSCey3An00Jj7bztmJ3Pxo,12705
124
128
  warp/fem/geometry/quadmesh_2d.py,sha256=RrHR61aLNdJuKo3nsowkMaYNxhDuwckwF2tKw0gcTtU,19124
125
129
  warp/fem/geometry/tetmesh.py,sha256=kLOeyOa1RjPu8PIXKnleMdwl4nBELtBXuK6g4VrUVqg,31173
@@ -127,7 +131,7 @@ warp/fem/geometry/trimesh_2d.py,sha256=H6B1VZPq-GL5ryGO2Jlgs7CwHSUpZt_sg8bVZPm16
127
131
  warp/fem/quadrature/__init__.py,sha256=oy12FuB8Eip9ikACd8AGXLaqlAFPFDbseWF-C15_k9c,133
128
132
  warp/fem/quadrature/pic_quadrature.py,sha256=IFiUYti3NzGUDaMviwwDF5lFnyaPXUYdH4qjkvs6LiM,10824
129
133
  warp/fem/quadrature/quadrature.py,sha256=JYaObjRPBhXGqY5gD3zPEo6cYlVHQEKncGkts5CqS2E,12639
130
- warp/fem/space/__init__.py,sha256=MuvLHdLzRI22fcYiZtbTg1QV_fwg8Q6RPDDWawWGKx8,7828
134
+ warp/fem/space/__init__.py,sha256=ZMRsfMVaAZ8x22SpS_VTfvgYsaldA54dDg4xiWGDtWw,7880
131
135
  warp/fem/space/basis_space.py,sha256=avuMTdaNE8tHN6k8rkYtj5A9FCr9u_JORsPN8-xIuLU,22348
132
136
  warp/fem/space/collocated_function_space.py,sha256=m5nZXyujFA1IohbBCon6M4CtpLrJPjYAnAv4zKl3EtM,3812
133
137
  warp/fem/space/dof_mapper.py,sha256=-QhOsAFsBayyzjq8e3-xyfqMlBGb0dankmR2mFgg8a4,6859
@@ -135,7 +139,7 @@ warp/fem/space/function_space.py,sha256=IrGWL6xLP5Rh0QfsCr97kNR5mmYWbgyH9sNtkmpC
135
139
  warp/fem/space/grid_2d_function_space.py,sha256=eZKILDxLbdZE2sw5y2kqzWJhv8ykmr4SiYVq7yJOl7o,5249
136
140
  warp/fem/space/grid_3d_function_space.py,sha256=5niAYi3Zq2afjqAbSOfdsu_78bjB8JSOGLEspF1yEwU,6059
137
141
  warp/fem/space/hexmesh_function_space.py,sha256=suZtwRp3cnWaNa36yIlMNQJyxTGDLw85IPcq6mJmeFo,9407
138
- warp/fem/space/nanogrid_function_space.py,sha256=ZfoPWKGvUY45iiJEUM4AGsNj0Ut5jZiv_VQ0gjKcxY0,7210
142
+ warp/fem/space/nanogrid_function_space.py,sha256=ScglGSGJpyIcO1XcvTec6TGwrqxPDHecaKBZHgr_Y2g,9037
139
143
  warp/fem/space/partition.py,sha256=ERmo82Z4jeak7fNLf_DmR_IGqUx6XPXpW0vMnX8DAjI,13927
140
144
  warp/fem/space/quadmesh_2d_function_space.py,sha256=YoM4Sfa9bplerGysOkhPTmoN-mPHr3jsOyhR5ym-VEk,9889
141
145
  warp/fem/space/restriction.py,sha256=mjrNTXxwsFt4BmPT5WA00Y7kaKY7vgum1VVJ-rXIOJY,6648
@@ -148,21 +152,21 @@ warp/fem/space/shape/shape_function.py,sha256=x_cwZlt2BpXjwgKWc7E6y3pTmUDRo-M5Wq
148
152
  warp/fem/space/shape/square_shape_function.py,sha256=wEiqG8RZWG4AqCK_UdmYN9ZrMsMqhXl7Wncvr3MG-zM,23229
149
153
  warp/fem/space/shape/tet_shape_function.py,sha256=bRsLW7ClfcveRlplF3GokhYQxZ2VnwfwR7uzAL91muw,20489
150
154
  warp/fem/space/shape/triangle_shape_function.py,sha256=XIH1-NFHaMmuFXlzNc07bAMlVHY1kTYHJwjosx2-mMg,15248
151
- warp/native/array.h,sha256=rRSNF0w-IEPIC4czqWF2A3Ww0xy4ImjRv6ZzZb9F8g8,38985
152
- warp/native/builtin.h,sha256=jN-O3Xpaxv79ZPutYm7CD9Tn8ZpCaKUQTHzw-fVURng,48326
155
+ warp/native/array.h,sha256=vXJLJjo5nA-QW10y7T6TjVnBHM8utXv4OZEDL3cMj98,38984
156
+ warp/native/builtin.h,sha256=D-OzDu5QoCq3p0I_bPy9WVaYupO4VY5IRcB2_3zUAaM,50684
153
157
  warp/native/bvh.cpp,sha256=PAETbl9RNUqVmJA25wNrg9_3wnGLkykaRubj2ExdKGY,10474
154
- warp/native/bvh.cu,sha256=QVECpYhxHUXhrVBo2QUZ4Wv4X2wgJDdWn5OxEuZELg4,19159
158
+ warp/native/bvh.cu,sha256=e7ATGMSneNYoBMXcSwtoPOfEisZsEBo_wVAz6XRjWR8,19379
155
159
  warp/native/bvh.h,sha256=GG0aPcT5p7xAJv7dK3MlE-C14ss7iepksAeIwintons,10188
156
160
  warp/native/crt.cpp,sha256=_2AwFMh_1Q_XIP9lsbc6q74_3HQOl65YpCejKbZ_0aE,1167
157
161
  warp/native/crt.h,sha256=HeMvgbN_8BlITJ2_JkmyGlGra3btP36_rF7K-bnwPuo,10788
158
162
  warp/native/cuda_crt.h,sha256=BZ-ZDKgNnYJ-q_SQdyBFRPlWeFnx_4S3LcNuGsQIF_U,68657
159
- warp/native/cuda_util.cpp,sha256=xd30sSkrBhFUMB0s6QK7V6bu1miwqr9aAZwZMQgZzaI,22258
160
- warp/native/cuda_util.h,sha256=-8TwbZhAKNGGy1YX3MHNZxxkO0ArkYwIQyWGLcqTeI0,10860
163
+ warp/native/cuda_util.cpp,sha256=zfKL2Dfww36tCNHUmSgXArFalmajMQP0v966FMlbhAs,22984
164
+ warp/native/cuda_util.h,sha256=kr_u5s27PwTib31Cc99IEAXt72MMqpabSDMmLjUChjs,11018
161
165
  warp/native/cutlass_gemm.cpp,sha256=AlBnMgeO-veCYV-Y5NHEmOLnWKvzTQIPxSzg75Z7Tpk,1123
162
166
  warp/native/cutlass_gemm.cu,sha256=0ReIwBKKp6S2TaPPAFKIg2pBHItF707NoPjXhwvdG54,21615
163
- warp/native/error.cpp,sha256=QqIwLyjBYBy1MONbdVt6T7A_UqSP4vSFCvrTyjK-Qk0,1706
167
+ warp/native/error.cpp,sha256=vZPoPOWNZxYEhKckC8wTfnrMuZgGcog3uo2j1DprwSA,1907
164
168
  warp/native/error.h,sha256=LL74-rb8cackiu7NvHdu8zezVOVsG-ERr8gyqvqIhwQ,934
165
- warp/native/exports.h,sha256=I8tWYc16Vy3KKn6wWv6JEAHZNI4pLvxbNUeMdb-hH3g,170264
169
+ warp/native/exports.h,sha256=0hxbQYi0XG61m6aT8uWQCMBG1p7n8imRUdiChUREJug,180658
166
170
  warp/native/fabric.h,sha256=XcTNQx0sbvfSYdVSDPhos9uhH1Z96zylzMFQLuOHSj4,5750
167
171
  warp/native/hashgrid.cpp,sha256=xP3KzWKaE_6_5EQ72Abj-1jJ7ocYitQBXXX0zNgL37A,8429
168
172
  warp/native/hashgrid.cu,sha256=LSHjbh5ehUBoqR1sFAvwGB0KBB3bBGIrF9c9cZnz89c,2259
@@ -174,13 +178,13 @@ warp/native/intersect_tri.h,sha256=Ss8koDQ3ZrilnTiuA8B0xGbS_JAMctEyUD-H_11qcI8,1
174
178
  warp/native/marching.cpp,sha256=YTb-t18J9LjjqAfHLD3DMWaQnxqX0JMjrB0iFmfXaJc,24
175
179
  warp/native/marching.cu,sha256=zD64fmxsdmxRR5yD2worEUBlW31SXLlI-42uQw6lRsI,21326
176
180
  warp/native/marching.h,sha256=NukjDs_VrVC-BXDtIeFhOQFwztYbC9U80UCzr-KGhAg,14
177
- warp/native/mat.h,sha256=Sife0FsF7cq91I25g7tDW5LH2nBcnaDXAs58OedKSUM,48690
181
+ warp/native/mat.h,sha256=d4YuecbJIjCI8bh6O8ck4-GBYgm_srNL6rW5oQpEPrg,51348
178
182
  warp/native/matnn.h,sha256=7PQLOe4cUuL5X7Fi6kVKAqORvz6JMXJHLsDviBMxOZQ,9617
179
- warp/native/mesh.cpp,sha256=oXambmTZAJyvrm1TI2Z-OdFS2bttkOhTn-KMHk8qCgs,5802
180
- warp/native/mesh.cu,sha256=NM3NXKl-yDBeddSyWjQwd6p6xXK51snJi5xL4pAv0Co,10477
181
- warp/native/mesh.h,sha256=LESynmAKlioOqK0Ew64YLUuagP7YrRKkEYzhgL3VVL4,59575
183
+ warp/native/mesh.cpp,sha256=dv1YzFlFxE3HXFWhLgqcHxwAn7JCipJ2jKvai1h90XU,6958
184
+ warp/native/mesh.cu,sha256=1BysYvOoqKbxyuqq_rj-RnCD9jWfaztBYykLo4mM94s,11984
185
+ warp/native/mesh.h,sha256=zMcdlCop5VrEK7tIpCfYXnV5NqoTRUwz3PBY1x8Ex_Q,59646
182
186
  warp/native/noise.h,sha256=fOH_JY0S9h-HSyYim6EdXWGncBIa8Tb0Ngwbkb4HUgw,29762
183
- warp/native/quat.h,sha256=5kAD8BA8VYM8FRtIZlEZ7PW0J7TKv8dIZ7XlfC87sdc,41610
187
+ warp/native/quat.h,sha256=yuC6qUbtUw96scTAbbk_O55eA1QNFLEq0luyCTFzPwc,42584
184
188
  warp/native/rand.h,sha256=oAsX4qPmrgMoqG1ObtpU63leDPX6tIHTiR448aLGyKE,11781
185
189
  warp/native/range.h,sha256=D7BLpAA_RXXrWXVcWm6oxZfuaSBCO_U_lFSclI1FQbU,2315
186
190
  warp/native/reduce.cpp,sha256=TrZLQePN8GpoHsWQRbvgnknbD2Bjgl0PuD1JsnmAVMk,4460
@@ -196,19 +200,19 @@ warp/native/sort.cu,sha256=F5Vg6w-5zEWm5fW_NoHIDWAyJUx_yroI1OPqF2aB6hk,2603
196
200
  warp/native/sort.h,sha256=l_VK_yFDm-R4cg-UU5w1qGbs_bxrhm9zFhr8pZfvA5c,695
197
201
  warp/native/sparse.cpp,sha256=8_nSgfjqcQfbG8zncKHCX7NXTAW3ZNBPlTayBeF6jj8,13157
198
202
  warp/native/sparse.cu,sha256=qyP58SCGEoIDimyzcS-EdUFuBbf_duloOixBAv-rjTM,18635
199
- warp/native/spatial.h,sha256=WbU4J31PbMwAAlvDr4oTZ8rgI8yyaxb8jvc4KhSbC4I,19793
203
+ warp/native/spatial.h,sha256=fuX2pO5haRChwz8NAXFfGtGfd7p5fJ1B713_SDIU-Yc,19975
200
204
  warp/native/svd.h,sha256=vHxIm-HlWNO0Dd7PEdrdgrrow2I-1BBKoaF50Kpnj0Y,21017
201
205
  warp/native/temp_buffer.h,sha256=wmaUkNZMVVSnCkTdsqMdhVmLEdVaGcuzFby8c9VO3v0,488
202
- warp/native/vec.h,sha256=jAMPQQfQTFuZS7V1J2JqAhbk0g2GIrKNFlz83IS2Me8,34505
206
+ warp/native/vec.h,sha256=SXmmgtojzgHE-55jZy2YmwXORiaTcSPJpainh_is-S8,36634
203
207
  warp/native/volume.cpp,sha256=qGHXLF0MkpdtVGSLgE_JmRYtrYqLnxunCGafXLBqXNI,17137
204
208
  warp/native/volume.cu,sha256=2kP-zT1HorWnmOGupI7WO_fvNvEwwyd29xiyDFhzAPI,2247
205
209
  warp/native/volume.h,sha256=Ml0zPGwXmS6EYXP8SX6RNo8U-GqGVCo7Hyy3ZtDYrYQ,36349
206
210
  warp/native/volume_builder.cu,sha256=8EeM4NY4XjNCcbAqo609wq_gMCEqxBkPA8mmKCuqvl4,14962
207
211
  warp/native/volume_builder.h,sha256=Wja8iQrz14mOvySh8VUsz82t78mHZaBNuHjH0wX64XQ,764
208
212
  warp/native/volume_impl.h,sha256=ozhYm_ehSw7I7xgpk3vMdxX4E2t8SW3cUWa3TiLtiBk,2176
209
- warp/native/warp.cpp,sha256=jpjUPZX-zkz0ZNk6gL9md8iy87MH-TKL1okbzPlbc44,34720
210
- warp/native/warp.cu,sha256=Sjr0MnP5xx27sMP9nU5c3fyiKYAhJV9n5k9WOL6OIIA,96139
211
- warp/native/warp.h,sha256=8Eq2tnaNhzVtfFdQ_s3ypNvtS834JOualwZGp28YzQs,17650
213
+ warp/native/warp.cpp,sha256=3AXS7roIQCI6gCY1c3haN4TcJS65nj0f1fMFwa5ThaU,34798
214
+ warp/native/warp.cu,sha256=3UKiRojo4lEzDzL7rIl3deB2U7RHmvieQKdR6LFpoFI,96347
215
+ warp/native/warp.h,sha256=N9I5BGW1gpCr_mTFOSd9rBEG0ibFFMrsSPKJAQLktjQ,18065
212
216
  warp/native/clang/clang.cpp,sha256=J0mg9fQrvLCOt_frcySFiJTLZiJc0RSL_PPkrJdTgl4,18649
213
217
  warp/native/nanovdb/GridHandle.h,sha256=zOso4Ekb9HsBb5knhvdNOU1ol-rjhFdJCySXLFKPVbA,18007
214
218
  warp/native/nanovdb/HostBuffer.h,sha256=L1yEnGHUlhx9L38xUI82lJctSg0uxlnph9rW6xWdDAg,21463
@@ -222,19 +226,20 @@ warp/render/__init__.py,sha256=Hh81-iDo3lVH3rtkYrmdIyop27M5ZM6_XncgecMWH0Y,538
222
226
  warp/render/render_opengl.py,sha256=VbwPjPMuYTfwz8c_x3IlEHqlS6RJWVXkoT3w7oqPDFA,126547
223
227
  warp/render/render_usd.py,sha256=AIM6j2GiBQRAcbevKETeNLdhOrZU1Xl7H1dvCxUByuA,27697
224
228
  warp/render/utils.py,sha256=nB6PNhofqT3QEOxKnedC8XN2yMmTc-DvLqT-xsbZP-Q,4298
225
- warp/sim/__init__.py,sha256=ofjO7pNyQyYwcEjZ1e-GFrmsUIonr6w4GPJxrNb66yw,1553
229
+ warp/sim/__init__.py,sha256=xEcv57_ryoHs-PRA-qyaQ7hc4-jt_i3je6_TjaFyc6s,1595
226
230
  warp/sim/articulation.py,sha256=-fPK04voxy4alzloNoVNw3oH3HUWN_RCUOa0Du1OEUU,26077
227
- warp/sim/collide.py,sha256=IRZ3T43Yr5cafcIoillwnvzWH3OeQkvMvpEef9D_Z2A,63885
231
+ warp/sim/collide.py,sha256=z1_RvYxeJfTxtQ03tsIE8706D9_CGgCqASMEOHoeQ8U,84754
228
232
  warp/sim/import_mjcf.py,sha256=VdEgRbde7QzOBfluEHlJh2gc58LQYMlVOa5u3xU0giE,19306
229
233
  warp/sim/import_snu.py,sha256=JW0k5pP2oPFARXFOCZNa_0uLxgKIo4z2g-kOKZkpESw,8339
230
234
  warp/sim/import_urdf.py,sha256=DT7QtOCf60xpOVz9pUZr1LnWCyE4BlfC7qJb0mgwU48,23095
231
235
  warp/sim/import_usd.py,sha256=eIgX0uGDBCCHF520SWaBY6HO9SQy4ZB87rNbfg9dY7k,40498
232
236
  warp/sim/inertia.py,sha256=pnyn9dDEykOr3LHYmlSBZd8_HpXutJ163TK8iBKU5Rc,9074
233
237
  warp/sim/integrator.py,sha256=5UZYDdL6IyQaL6eGc1UQLrLcOrCD0dHmZWgG0K2kCGA,6652
234
- warp/sim/integrator_euler.py,sha256=sES_IlRX8u7RhKIr82huxQcHK5RlSPQybmr_Zch9y6k,59364
235
- warp/sim/integrator_featherstone.py,sha256=if6163zZl3P0AG_wOQ9jHoOCnt982shHZ3k76tbhr4I,64838
238
+ warp/sim/integrator_euler.py,sha256=OEg0T6aajoX1dEDq0g9OdP1nSOevVCKzv32wNkwQUOI,59787
239
+ warp/sim/integrator_featherstone.py,sha256=f2CS2zoCUaOZSwf2-3w0YeUVuxf3qHCk2nEA-4tQpjg,64873
240
+ warp/sim/integrator_vbd.py,sha256=XZyAmlTeU0GSuv4V_X36ELmtLwYd6zEckvNE_46OuQc,38718
236
241
  warp/sim/integrator_xpbd.py,sha256=oJmTNO3UK6NlC7GLmzsoTb0dV44RM4DvqwVqIlUQkGs,115198
237
- warp/sim/model.py,sha256=RzdglIQBi7ShAQKnB7oPXkpoH10eaeVrL_RhwE_7Rw4,191452
242
+ warp/sim/model.py,sha256=3ClBoHbR2aev_Fffv-YZyxRtjuuuccB9sJiK7X99z30,193231
238
243
  warp/sim/particles.py,sha256=wVK-LEKZy9TGYyRnmna_p2Q24zZaorZf8EdUizM4VCo,3165
239
244
  warp/sim/render.py,sha256=XDNflQIqu3XXzVhwR7wC72-8Z3WgEVuEYoo_sDFaOLg,17874
240
245
  warp/sim/utils.py,sha256=WrXAMBi1ufZJpISo4rQfOMGx7u4F3moHDeQW-v8ukyU,12201
@@ -243,57 +248,61 @@ warp/tests/__main__.py,sha256=U76uE7x7b6Rfrb_GXdt9bi-xknastWmhXcPKgyI1y5s,90
243
248
  warp/tests/aux_test_class_kernel.py,sha256=7RwxM7Y46c7Zp9Dda7Ax4G_0i3yJPJH2w9OX3yHYLpY,1027
244
249
  warp/tests/aux_test_compile_consts_dummy.py,sha256=dWfqPU2iEofAy8CJ_PSn1G7tn2gzTJY7pfYpM_27dqE,471
245
250
  warp/tests/aux_test_conditional_unequal_types_kernels.py,sha256=HnMYK-V6phQ8MVfbfe_ZvxwfgTQrO-LbAFggmKGsuX4,646
246
- warp/tests/aux_test_dependent.py,sha256=NoJQ0_tGgcTlO02TWrd6ytBLsGBBkyDbBwmBsrlrSRg,710
251
+ warp/tests/aux_test_dependent.py,sha256=3qAh0BlW9s8JSpAyVGh1JOzyHhJUs77gJwcmJ2xhYH4,744
247
252
  warp/tests/aux_test_grad_customs.py,sha256=busVWPTjQ1n7inPdiJHvHaotYQKi4Zc7Sug1oRIdw8A,831
253
+ warp/tests/aux_test_name_clash1.py,sha256=ntBiXfZvAx0u8sfogJ7ZffqrNOZpktZRhhOif_r_O2c,900
254
+ warp/tests/aux_test_name_clash2.py,sha256=VFY0578VyvlAoyeUvge6oG74WqaEGO_bD0Kn40-yA1E,902
248
255
  warp/tests/aux_test_reference.py,sha256=Kor12TtgY9ZPYgG62WN5yFEwRy-Y5WJNaAZALK2eNvo,194
249
256
  warp/tests/aux_test_reference_reference.py,sha256=EgIq6H8SbgXIyuNj2vT_IytvwoVUbwwRX0cO-jjuRgQ,120
250
- warp/tests/aux_test_square.py,sha256=hDcsBwQd5jGc6WCz1LNXaSTGSyrVdEizWf06AlBSleM,234
257
+ warp/tests/aux_test_square.py,sha256=9at3d__M9hPlwA-Ja350DsgY8U-LggkUu5B1b-K1A00,268
251
258
  warp/tests/aux_test_unresolved_func.py,sha256=siHbCb528XK2DX3cbRWXG6DILnyStwdgSsgLA3qAbxg,579
252
259
  warp/tests/aux_test_unresolved_symbol.py,sha256=ViRAIxODK0B9l8BkedHXzxU4V-JN8HoYBgtZXLrX0SI,588
253
260
  warp/tests/disabled_kinematics.py,sha256=B8M_ih-JAobZA6-zPmtqSYGBCbKRyjtW2obR82iQTSY,7596
254
261
  warp/tests/run_coverage_serial.py,sha256=UjcqNXQixQk13U3Lckm2OlmqPKKzUk_KaBPyHzxkdT4,1045
255
262
  warp/tests/test_adam.py,sha256=u5efgdobQgGdJilsCALB0TKZO5M5T8JDQ8pD3L0CApE,5361
256
263
  warp/tests/test_arithmetic.py,sha256=ISNFQYSSRIpl7vEJNxOR0AqfWegdewYZznJ588ZAwX4,43840
257
- warp/tests/test_array.py,sha256=I4ieXdo9ZSyz_hIW5ILZvzlCeXX7xCpxm68CYrUAAHE,87357
264
+ warp/tests/test_array.py,sha256=npNRMflPzUqbMozoUjybkhmok3dDYSX8FpW4NaljUG0,95618
258
265
  warp/tests/test_array_reduce.py,sha256=LH_nUdEPuc-FDRelqgO4c5wK5lU6SPpR4s9IcA5Wktw,4678
259
- warp/tests/test_async.py,sha256=YKFNJVT7R3gGXPuHAXBkZ8VIzBrfnqUsj-tXyHKUgbQ,26498
260
- warp/tests/test_atomic.py,sha256=jnzNwf6EsECVMfqf-wkgwzeqNa0WxzGLEILe8s-Zi9I,5343
266
+ warp/tests/test_async.py,sha256=uqk6lI7mIMMea6R8q6L8zMvcbWvvQ9Q8DpsETkNpGT0,26516
267
+ warp/tests/test_atomic.py,sha256=ELJ5heasiDrzJi-rwWS_MOzfyrCm6LaEnP05E1fSlhE,5627
261
268
  warp/tests/test_bool.py,sha256=f-9kM--pYSg176KD9gRMOdnADfu8HP1ZnZEjvOYPjug,6472
262
269
  warp/tests/test_builtins_resolution.py,sha256=ixoOhKgOgbuH-xbqNLx1DB1Nur3PdAtR0qW-TutaHrI,63989
263
270
  warp/tests/test_bvh.py,sha256=mr7sRxB1AaQWetCzDIOsW38aWWMwIhfbZBMkjZcKr0M,6123
264
- warp/tests/test_closest_point_edge_edge.py,sha256=SHcEi6X0r7q130NwIHRp9WWp0wtLW_MF1vbwahYtiUc,6825
265
- warp/tests/test_codegen.py,sha256=GYB1Dv832OFMGJM3CJehWc1V9P41jRAN-TESntwIrAg,16104
266
- warp/tests/test_compile_consts.py,sha256=A10yquVVmQKabynyD0_FSD-2Lu8gq-HsMXC6l7cTge4,8570
271
+ warp/tests/test_closest_point_edge_edge.py,sha256=mtiiZOHqgGOHoD6KNK4jVP-9OoCUWwnuOBVB9M3uGlc,9560
272
+ warp/tests/test_codegen.py,sha256=izRRZdVludGcFE3UKq_pDw8_f4LgK0k0GwBIVvWnIdI,17550
273
+ warp/tests/test_codegen_instancing.py,sha256=PRExiuwPpXOwLWnB62eSMgOldZeqPFEKEC537O2N6cI,40664
274
+ warp/tests/test_collision.py,sha256=i5FOrlcY1YIWNxRx5lC1CyVW1QQWtKUYaE68-yoLZag,19762
275
+ warp/tests/test_compile_consts.py,sha256=by_7FTvoC-495n_XS49LBxNReqZ5YXS08EmjhOxs-54,6908
267
276
  warp/tests/test_conditional.py,sha256=MmUO0RD1j4Ceew0uNmqmzZzQVTN9qPDz48bYW24hAhY,5495
268
277
  warp/tests/test_copy.py,sha256=993Xy5Y7VAFfUKhv74NOrbW4G4_hiXO7Jrpd-AVFjEM,7703
269
278
  warp/tests/test_ctypes.py,sha256=VsYXHqExO2hSQHqFqmikntBThk99Q7Hc6vLCWH8YIqQ,24540
270
279
  warp/tests/test_dense.py,sha256=j4icAHtOeHrXp8P_qFGptivAaoFkdGVbCuxg_jO3Mlg,1829
271
280
  warp/tests/test_devices.py,sha256=i2B7wCsGo5rl8eZaxQ5bXVEtxON0WHWHysT31ty_j90,3042
272
- warp/tests/test_dlpack.py,sha256=aVcAIJwszCtf09-p-OgAVpGyWHTet2TSbcXXl8aTT4s,17897
273
- warp/tests/test_examples.py,sha256=CBmOHvHFslNfDUX905OV-2eINCZomvp_BVYwQtYUApo,14998
281
+ warp/tests/test_dlpack.py,sha256=H99Md6pJZDv2gdLh4omB6bYTf_pbNOnpHGfvEkpiRv8,23855
282
+ warp/tests/test_examples.py,sha256=pZ6FoJCpMLhlSUt1SvXsJdp7PHvTHNsDbAbx4Amj_wE,15612
274
283
  warp/tests/test_fabricarray.py,sha256=H186ayJZS95IGUZfzfwiOdEcqczXxN6gNmj9RvZPaPA,32340
275
- warp/tests/test_fast_math.py,sha256=bM0Mhi6RcjjTxRCqdhQ1iHv6nnWALsWsf2p_GWauVk4,1945
276
- warp/tests/test_fem.py,sha256=qChvq2FiVE1WSiZRWDN5MQ_mHip2EIQ7Wj0g-qD98mo,61810
284
+ warp/tests/test_fast_math.py,sha256=8jETKu2zSAXLo8EZSnRMi2Ubmrd6JrpHUpppNruqMIw,2228
285
+ warp/tests/test_fem.py,sha256=vn0iUv74HPsdCk7cm52tdO3fglkqK7Vi86_ERZYLFKw,64037
277
286
  warp/tests/test_fp16.py,sha256=g7N5oeKpx3QDnpOQKtyKIYv0eJEy0QwaEHXFCXxTXxE,3818
278
- warp/tests/test_func.py,sha256=TQ5ZCox4S7Gueh7-xqd7w8CZzzYfcJ-2KxfkqObP7vA,10738
287
+ warp/tests/test_func.py,sha256=pt3sBVnofb-ihX1WNf5Svektq2lw4OrLVDjuBaF7VXM,11799
279
288
  warp/tests/test_future_annotations.py,sha256=eC7VHcAOJ3fAgQsKPnrCq9oqkw3s2RbmcXe4rBaFEpQ,2208
280
289
  warp/tests/test_generics.py,sha256=zCgAUX6qcD54FOJJf9PStVtIBFVv7-5y17xKLZxf940,20543
281
290
  warp/tests/test_grad.py,sha256=hYmevx9z_r0y7aX5m8HNhtE4GRbHX4Kxa8iyPHUBcM8,28806
282
291
  warp/tests/test_grad_customs.py,sha256=_Vey3R29zId7Y9TQwXvAHyrMEXdCk3dOT2ac4B8EqZY,11317
283
292
  warp/tests/test_grad_debug.py,sha256=4GuuTm9OG51MiHMaEKudM9_eAD3qtgtcy0I1dOYpVmQ,8309
284
293
  warp/tests/test_hash_grid.py,sha256=CY2TNljDMNdDsNe42BwTJkumDib8QAQ5L6FkiJm41sc,6941
285
- warp/tests/test_implicit_init.py,sha256=tSnUvl21V1bay-JHyK1w9DMOPsS1745EWDG92ip843I,7021
294
+ warp/tests/test_implicit_init.py,sha256=Mxw_7kmXW3EJCm78doje7ffsIqoy0uFgaDYXyzDv8Lo,7885
286
295
  warp/tests/test_import.py,sha256=4FwzQmzX24V-RggqJ_5CAs6SnJKq6wktp7t2T0hZc5o,1021
287
296
  warp/tests/test_indexedarray.py,sha256=awlcdgs-w069zrUk3lw5xnuX6k1SMbIFkY5QPex76ss,40794
288
297
  warp/tests/test_intersect.py,sha256=ZvwXFe2pHMDhbxRnzqvuV3wCRu-j54d6mPmR3ulzEBE,1849
289
- warp/tests/test_jax.py,sha256=FOypmq5uvMZe7GVOKUyhzzJR5CEgON_rBSkQ5eMFH8A,9628
298
+ warp/tests/test_jax.py,sha256=xVUurl19w0z6tG2MlQu7WBS6XJsqRMhaemk4INbJ_Ew,11348
290
299
  warp/tests/test_large.py,sha256=UjtqYzX7QzMR3TAWR3780PczTE3kJb9uGTrcqRXZj_Q,5867
291
300
  warp/tests/test_launch.py,sha256=XXqVzBK2rXPkw4APps_apQNpgXwqDmOXBXu7NpnGELU,8856
292
301
  warp/tests/test_lerp.py,sha256=MoBV3u5oLF95njI_HN4dh9rdLHuNARkGSk3uMhQ52sI,6032
293
302
  warp/tests/test_linear_solvers.py,sha256=EeDlnUo-4OWKjIfJb7r3eM4xvjvPsOoFnCSO1Tw5MlA,6753
294
303
  warp/tests/test_lvalue.py,sha256=xfzxX3NojCnXU5qkObd5BkAZqJdRE4H4xa9cMzriIdY,10574
295
304
  warp/tests/test_marching_cubes.py,sha256=vSW8PNuMBV12laLgfRGRM5RBW-AE0A5VItMRxkvplt4,2063
296
- warp/tests/test_mat.py,sha256=mcAulZHkrdWgBBmgz0r0ANPe6zYAxb7suJuxCGEwjvE,65154
305
+ warp/tests/test_mat.py,sha256=WtHHyi9vrxxEHCYuJUDXNo4mv8xzDnDhh4gp8ni8-Ts,68071
297
306
  warp/tests/test_mat_lite.py,sha256=-NynEN0QZuIyt48a6HmU_etAl_DeNsE1MfYjM5c6tI8,3814
298
307
  warp/tests/test_mat_scalar_ops.py,sha256=48yey7zYWJd02X8lEgLFW7APERbaHN3xs8z_3YLzqis,110250
299
308
  warp/tests/test_math.py,sha256=AL-iZmSHXUV8ScHUICwLyaICjiirpXH__VrOZkFv-FY,3851
@@ -302,27 +311,27 @@ warp/tests/test_matmul_lite.py,sha256=X5FaWecE6OZCd8GPVfcxNX4XjhYRaunaPBUvu6peL9
302
311
  warp/tests/test_mempool.py,sha256=cAto9OFlwGyVpcERH-0P1962Q2Mf3DGVYlZZfhm1IQE,6895
303
312
  warp/tests/test_mesh.py,sha256=KL0zKL4-kyVc2ML0n7yURTBMHohioqh6wVfnooe9KHc,8560
304
313
  warp/tests/test_mesh_query_aabb.py,sha256=ttfuEwO6eGyAhUAUt1_cM_0NjFSxKzAy8ZMzf7uuuS0,6301
305
- warp/tests/test_mesh_query_point.py,sha256=RIUUdz63ztZuYfM-z81kKdXK5dR3quw6NsNhnxwwPgU,21745
314
+ warp/tests/test_mesh_query_point.py,sha256=OBFhIDeA6XnzkAI69JTg4zqD5TAXeZUY0rXlgDsNIuk,27656
306
315
  warp/tests/test_mesh_query_ray.py,sha256=vWoPLcREGfVzEAQc60t1rE3gIYBYMDY8xGDMB1Q2RlQ,9193
307
316
  warp/tests/test_mlp.py,sha256=nnTMg-Oc_YndafdpyGE2zYZG3V9IdqfYS8LVGk4oUeE,7994
308
317
  warp/tests/test_model.py,sha256=78vx9B6xGMGTI1fEGkScHvrUyOmv_VSsUcQ620LT8Ag,7052
309
- warp/tests/test_module_hashing.py,sha256=lV54XkhUPhio5pIUREIkgBmrEbWG3cCVrv4odvGkl8s,4271
318
+ warp/tests/test_module_hashing.py,sha256=ekTFrTEY8xtlOZErIk1bkDjYUg6jEiU0BAo5lOJlZPA,4799
310
319
  warp/tests/test_modules_lite.py,sha256=N3dUtTxzluaPF6rXmtYiSf8S27djAvPyj3ak-W_19H8,1152
311
- warp/tests/test_multigpu.py,sha256=ORC83iO1K_1S7QDvSyiyKBRX4_K8mLyJMI2VhxGiuh8,5241
320
+ warp/tests/test_multigpu.py,sha256=ZPeZb1MA8pqQ_ERRllWbPKY_1Hr9AE9TN-vlka7IQls,5269
312
321
  warp/tests/test_noise.py,sha256=FvQWbENog4utPGM069owPyQnizGAVoJn4d37p0v74b8,6820
313
322
  warp/tests/test_operators.py,sha256=6drgwmN0jTjNH6ssgcqUWpxwDtOpD4GxUT1D5wsKeik,5966
314
323
  warp/tests/test_options.py,sha256=IRdAay2BD6to85UQ1ME1frzOSXAFpQs0iKgzO5jUnqM,3479
315
- warp/tests/test_overwrite.py,sha256=CTLDespKQPnZzUKt1hYPg_AsqwtXM8KM1HW6C6tw9Kg,18197
324
+ warp/tests/test_overwrite.py,sha256=4myOkEZXXfxGNSLTyaPX8zMK0kwvu-5IFCSIGyf1ROk,18544
325
+ warp/tests/test_paddle.py,sha256=APmyc04nOhLy29Np1wo2sVJtn7w2yJQwMR9SA8TBIco,30500
316
326
  warp/tests/test_peer.py,sha256=tFkI3Wfu04hy8P02j2A4GLIwe5qN3Te-7RzG6vgbrNQ,4867
317
327
  warp/tests/test_pinned.py,sha256=riJaqXUM65Un4okWiUPBK6q-FXAmN_pg1oDoVf1xDJc,2284
318
- warp/tests/test_point_triangle_closest_point.py,sha256=pi1KxlMVShxP5Dcr94mLkPC73Vosz0nY--3GXxsbxlE,4262
319
- warp/tests/test_print.py,sha256=v254-pNAOZnD2cN10uycLbPi584Y9GqZVU-rOq68oXU,1530
320
- warp/tests/test_quat.py,sha256=AlMmCU1mO7Rvc0hkEF7v_uyhYAJMeiWjt7015iA7-R4,73381
328
+ warp/tests/test_print.py,sha256=zeMw1SnPQIAVpr79vjIkrHTkGCJGX-yx9BjCjjq8asw,4266
329
+ warp/tests/test_quat.py,sha256=UTEWIaWpLbfml9hRenKPrk-ynsMLhBkhbTnBgiBGSws,77014
321
330
  warp/tests/test_rand.py,sha256=c8T1UD2Ocx5JtpZtGFbebmtzlR9jbxxnTpdItNBWhNA,10663
322
- warp/tests/test_reload.py,sha256=MnfuzQijWej6gQUgqLPrGEbMvUqw3tBatAViymj-Z6A,6399
331
+ warp/tests/test_reload.py,sha256=Lx91xvRMFin8ScbchaEsBERVwF8CxbYUAlHgKv7wHHw,7362
323
332
  warp/tests/test_rounding.py,sha256=nzQXnmDT9AN9r-YhVaZUvzZ7kSmt1Qr7idEwGrnkDi4,5778
324
333
  warp/tests/test_runlength_encode.py,sha256=VRdFnWx-IAOl5m-6nxBIIATSWaiWibAzmpvKFpAaVCo,6948
325
- warp/tests/test_scalar_ops.py,sha256=SLO9LU_sbzZYcwn332w_eK2n-o49tBPVjB92kKHdp8U,2728
334
+ warp/tests/test_scalar_ops.py,sha256=bebUY4GfjbzLzinUbyPKYg3NJZXqDGzHZwo87sR-UD0,2844
326
335
  warp/tests/test_sim_grad.py,sha256=L6PMlsFXJ2MWEyOO773WOUwbNN5DAZy793J9cT0bct4,7813
327
336
  warp/tests/test_sim_kinematics.py,sha256=IdVeDpY0u7_U0QojcqvSLeX4diCKSh5Smb5EsLA8Bsg,2572
328
337
  warp/tests/test_smoothstep.py,sha256=umHt5Lz7lwlxi2E7izGIurQWKYBC_0e3bezSk9KFVVQ,4379
@@ -330,22 +339,25 @@ warp/tests/test_snippet.py,sha256=fBbGqlc6VJPmXRSF_J_UtrzCpM5XJHN_ejjgi2CMzOI,94
330
339
  warp/tests/test_sparse.py,sha256=jz9-9UtUh4n8r2uCI16Qt1Ju_WdXTAtMaz0Uk7vHcNo,20160
331
340
  warp/tests/test_spatial.py,sha256=kVfngbZLi-LDy4ooP1RMF0zb_VYmrRc8UksBXzsFQVU,76435
332
341
  warp/tests/test_special_values.py,sha256=5Ga45nJ6S7IPSVmeKUUia7CmWpYN9W-hnLPweUZIts4,14740
333
- warp/tests/test_streams.py,sha256=P0R9fdXSMaoq20_JauPAOOKDBMwcjrcM_x09BXCIhbQ,17288
334
- warp/tests/test_struct.py,sha256=qSUv9xr6-PiLiXybqbFf2SayKlVOlRm3cESS9KL-ebk,17068
342
+ warp/tests/test_static.py,sha256=ekzAeasoRIfiVvSKnGEmIzFGkr7-f5wiWuzQ3iZnUvE,13685
343
+ warp/tests/test_streams.py,sha256=3jJz2BZ9hIANceRII0OdLHu1rfLMJ1mJnJqEPyuz-h0,19750
344
+ warp/tests/test_struct.py,sha256=vqHTX8vdUIn2adK4bdD9xXEYUtSUKL7hw3RA_IplqhQ,16990
335
345
  warp/tests/test_tape.py,sha256=AQ0dE5oWfKv2jDNCMOK5s9up0423uz2_M-WDPVi-fIU,5450
336
- warp/tests/test_torch.py,sha256=3UNK336WAiPt-gO-It1QD26DKtOdzDOFNRq2_jyYixQ,32370
346
+ warp/tests/test_torch.py,sha256=hHT7EMyM0lm2BKEuvhmJoieUFMY6TSwSLx5Xzvk00j0,33275
337
347
  warp/tests/test_transient_module.py,sha256=83RsALll2KdSPSP7_kASShbUPBq-eKJQHgkGhcXxhQY,2206
338
- warp/tests/test_types.py,sha256=ilZUO-TsvG4t3nBzKTL90F3FAHhqgtKQ-Ek8IassrdA,22109
348
+ warp/tests/test_triangle_closest_point.py,sha256=AJr8J0_L5OkHNWJ140nqe7fhizhPE2w7GRuYo0-ZBbU,4027
349
+ warp/tests/test_types.py,sha256=mrAxmrj3P7ZeaumfNRI0STDSZoAM5gyBwmh4YWJhovw,22106
339
350
  warp/tests/test_utils.py,sha256=jhs-1HX0MNuGijTx2U2PzvDOgLJ88X2-aHerxxuDL4o,18795
340
- warp/tests/test_vec.py,sha256=VRzPlnNwOX-AIoQpxNHzSirjTrTY8aPo7rFsPL-t0hc,40808
351
+ warp/tests/test_vbd.py,sha256=Vc7pN7fLGw2FQKrz3NxwphbKpSNz0JxQic0MGkjwmgE,13001
352
+ warp/tests/test_vec.py,sha256=x7-WkovPFQ-E6dNFxzZgnDVYjJugTCFsFUPSnfQJ_h0,45597
341
353
  warp/tests/test_vec_lite.py,sha256=c1yKwqWSSzCHUd2Ft1TSNpUpqrHAwF2rWBjQj5nDZQ4,2370
342
- warp/tests/test_vec_scalar_ops.py,sha256=j_1OW-uCcxayC3DsuFBeypW2lgotQZlGJjA5JAWOjew,88042
354
+ warp/tests/test_vec_scalar_ops.py,sha256=cTEBZsUsdpWN5ZDPvKhF5j27f7V1826ZfORLyIfOe3E,94245
343
355
  warp/tests/test_verify_fp.py,sha256=YVBgLM0CTGMUnMwNYZOcj-BU2sz2zhItfY4RYutKd28,2337
344
- warp/tests/test_volume.py,sha256=tK4q4sc0vk4P-p2BLaAvM9BuaKZ0XXCaZNpGIib3rD8,34932
356
+ warp/tests/test_volume.py,sha256=GpMZQA-iFS57AWrWhrJtZ0Z7e6B_YCVm_7yJhC2ILlU,36125
345
357
  warp/tests/test_volume_write.py,sha256=_QhIY9WotnS_NQD00g4JR16p3JC_vLegiD_PXCG_UIQ,11525
346
358
  warp/tests/unittest_serial.py,sha256=VXuwpkIo2tBgNnphZ4GDxFSHUVMupgGQWuDZFb64qr8,1134
347
- warp/tests/unittest_suites.py,sha256=XfVRlR4IYKI03gDl9npPk-s5gMTsAJnBrq_h5LrsXhM,13645
348
- warp/tests/unittest_utils.py,sha256=3QJXhNE5-KZ5v9TAz_4w2FGPZAMN1yWKo9aFqT2cZ6M,14463
359
+ warp/tests/unittest_suites.py,sha256=jwzbVeGvOgQU1K0yEf-AMFHR-T-h1DCwfhC7Yp-DQDc,14212
360
+ warp/tests/unittest_utils.py,sha256=gJuy_CeCTzi6eOKmRY6tvYlbIaeu-enxzs0Gb0fQikA,14628
349
361
  warp/tests/unused_test_misc.py,sha256=A4iAjjHvZhD54l1OeXCP4Oiwqc-6qqsbAHwzr-vsYk4,1454
350
362
  warp/tests/walkthrough_debug.py,sha256=CXhc7NMOwSSpkJ-5jCWqAlijwaSvUp6DCG34OGm_cYQ,2887
351
363
  warp/tests/assets/curlnoise_golden.npy,sha256=ueBhVunJH9If7vdb0fqfxfNaj1fe5pHlKBKHA1TBDRQ,262272
@@ -360,10 +372,10 @@ warp/tests/assets/torus.nvdb,sha256=7ftuUfUVpR_KkTuBPsmUQUrEFG9BcDxeHK7kvPA3itk,
360
372
  warp/tests/assets/torus.usda,sha256=TVztXStGl-LML987ZK0CmUsILD2P0Smd331KcJUGDuI,340725
361
373
  warp/thirdparty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
374
  warp/thirdparty/appdirs.py,sha256=2UXPK-AkDGoN5APeqAMMYkkfgf3Q_aUEZxcfkIxlQn0,24254
363
- warp/thirdparty/dlpack.py,sha256=OzMyVi5uQU01n0yEquDotgYvEAmfXT93QaIV4p4QqB4,4273
375
+ warp/thirdparty/dlpack.py,sha256=HYvNWIemrvxLDgQLRseerP8gqM87Ie7SVIX7p5xSM0o,4323
364
376
  warp/thirdparty/unittest_parallel.py,sha256=-FgbXrKiQ_RDj7YXYyhpRIPC3OmvJEnjvGkN99cqQA0,20888
365
- warp_lang-1.3.2.dist-info/LICENSE.md,sha256=Gq_TN0Xfat8Ftq2Rlvc31NgxdpLGVB-34kp-4eoeDV0,19265
366
- warp_lang-1.3.2.dist-info/METADATA,sha256=lETJFLGWvbHc7_S95qG3xmDkoSxMgqvMUpxxRW6Y-s8,23145
367
- warp_lang-1.3.2.dist-info/WHEEL,sha256=AjtDPltU6Lu1vRLrU3cqhVnIsDSaO9geQd6pLjpNdDY,113
368
- warp_lang-1.3.2.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
369
- warp_lang-1.3.2.dist-info/RECORD,,
377
+ warp_lang-1.4.0.dist-info/LICENSE.md,sha256=Gq_TN0Xfat8Ftq2Rlvc31NgxdpLGVB-34kp-4eoeDV0,19265
378
+ warp_lang-1.4.0.dist-info/METADATA,sha256=Jy807e9CHzSNOv8q94l726kC2p5OFG_-q0dg_c1c7UY,23286
379
+ warp_lang-1.4.0.dist-info/WHEEL,sha256=AjtDPltU6Lu1vRLrU3cqhVnIsDSaO9geQd6pLjpNdDY,113
380
+ warp_lang-1.4.0.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
381
+ warp_lang-1.4.0.dist-info/RECORD,,