warp-lang 0.11.0__py3-none-manylinux2014_x86_64.whl → 1.0.0__py3-none-manylinux2014_x86_64.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 (170) hide show
  1. warp/__init__.py +8 -0
  2. warp/bin/warp-clang.so +0 -0
  3. warp/bin/warp.so +0 -0
  4. warp/build.py +7 -6
  5. warp/build_dll.py +70 -79
  6. warp/builtins.py +10 -6
  7. warp/codegen.py +51 -19
  8. warp/config.py +7 -8
  9. warp/constants.py +3 -0
  10. warp/context.py +948 -245
  11. warp/dlpack.py +198 -113
  12. warp/examples/assets/bunny.usd +0 -0
  13. warp/examples/assets/cartpole.urdf +110 -0
  14. warp/examples/assets/crazyflie.usd +0 -0
  15. warp/examples/assets/cube.usda +42 -0
  16. warp/examples/assets/nv_ant.xml +92 -0
  17. warp/examples/assets/nv_humanoid.xml +183 -0
  18. warp/examples/assets/quadruped.urdf +268 -0
  19. warp/examples/assets/rocks.nvdb +0 -0
  20. warp/examples/assets/rocks.usd +0 -0
  21. warp/examples/assets/sphere.usda +56 -0
  22. warp/examples/assets/torus.usda +105 -0
  23. warp/examples/benchmarks/benchmark_api.py +383 -0
  24. warp/examples/benchmarks/benchmark_cloth.py +279 -0
  25. warp/examples/benchmarks/benchmark_cloth_cupy.py +88 -0
  26. warp/examples/benchmarks/benchmark_cloth_jax.py +100 -0
  27. warp/examples/benchmarks/benchmark_cloth_numba.py +142 -0
  28. warp/examples/benchmarks/benchmark_cloth_numpy.py +77 -0
  29. warp/examples/benchmarks/benchmark_cloth_pytorch.py +86 -0
  30. warp/examples/benchmarks/benchmark_cloth_taichi.py +112 -0
  31. warp/examples/benchmarks/benchmark_cloth_warp.py +146 -0
  32. warp/examples/benchmarks/benchmark_launches.py +295 -0
  33. warp/examples/core/example_dem.py +221 -0
  34. warp/examples/core/example_fluid.py +267 -0
  35. warp/examples/core/example_graph_capture.py +129 -0
  36. warp/examples/core/example_marching_cubes.py +177 -0
  37. warp/examples/core/example_mesh.py +154 -0
  38. warp/examples/core/example_mesh_intersect.py +193 -0
  39. warp/examples/core/example_nvdb.py +169 -0
  40. warp/examples/core/example_raycast.py +89 -0
  41. warp/examples/core/example_raymarch.py +178 -0
  42. warp/examples/core/example_render_opengl.py +141 -0
  43. warp/examples/core/example_sph.py +389 -0
  44. warp/examples/core/example_torch.py +181 -0
  45. warp/examples/core/example_wave.py +249 -0
  46. warp/examples/fem/bsr_utils.py +380 -0
  47. warp/examples/fem/example_apic_fluid.py +391 -0
  48. warp/examples/fem/example_convection_diffusion.py +168 -0
  49. warp/examples/fem/example_convection_diffusion_dg.py +209 -0
  50. warp/examples/fem/example_convection_diffusion_dg0.py +194 -0
  51. warp/examples/fem/example_deformed_geometry.py +159 -0
  52. warp/examples/fem/example_diffusion.py +173 -0
  53. warp/examples/fem/example_diffusion_3d.py +152 -0
  54. warp/examples/fem/example_diffusion_mgpu.py +214 -0
  55. warp/examples/fem/example_mixed_elasticity.py +222 -0
  56. warp/examples/fem/example_navier_stokes.py +243 -0
  57. warp/examples/fem/example_stokes.py +192 -0
  58. warp/examples/fem/example_stokes_transfer.py +249 -0
  59. warp/examples/fem/mesh_utils.py +109 -0
  60. warp/examples/fem/plot_utils.py +287 -0
  61. warp/examples/optim/example_bounce.py +248 -0
  62. warp/examples/optim/example_cloth_throw.py +210 -0
  63. warp/examples/optim/example_diffray.py +535 -0
  64. warp/examples/optim/example_drone.py +850 -0
  65. warp/examples/optim/example_inverse_kinematics.py +169 -0
  66. warp/examples/optim/example_inverse_kinematics_torch.py +170 -0
  67. warp/examples/optim/example_spring_cage.py +234 -0
  68. warp/examples/optim/example_trajectory.py +201 -0
  69. warp/examples/sim/example_cartpole.py +128 -0
  70. warp/examples/sim/example_cloth.py +184 -0
  71. warp/examples/sim/example_granular.py +113 -0
  72. warp/examples/sim/example_granular_collision_sdf.py +185 -0
  73. warp/examples/sim/example_jacobian_ik.py +213 -0
  74. warp/examples/sim/example_particle_chain.py +106 -0
  75. warp/examples/sim/example_quadruped.py +179 -0
  76. warp/examples/sim/example_rigid_chain.py +191 -0
  77. warp/examples/sim/example_rigid_contact.py +176 -0
  78. warp/examples/sim/example_rigid_force.py +126 -0
  79. warp/examples/sim/example_rigid_gyroscopic.py +97 -0
  80. warp/examples/sim/example_rigid_soft_contact.py +124 -0
  81. warp/examples/sim/example_soft_body.py +178 -0
  82. warp/fabric.py +29 -20
  83. warp/fem/cache.py +0 -1
  84. warp/fem/dirichlet.py +0 -2
  85. warp/fem/integrate.py +0 -1
  86. warp/jax.py +45 -0
  87. warp/jax_experimental.py +339 -0
  88. warp/native/builtin.h +12 -0
  89. warp/native/bvh.cu +18 -18
  90. warp/native/clang/clang.cpp +8 -3
  91. warp/native/cuda_util.cpp +94 -5
  92. warp/native/cuda_util.h +35 -6
  93. warp/native/cutlass_gemm.cpp +1 -1
  94. warp/native/cutlass_gemm.cu +4 -1
  95. warp/native/error.cpp +66 -0
  96. warp/native/error.h +27 -0
  97. warp/native/mesh.cu +2 -2
  98. warp/native/reduce.cu +4 -4
  99. warp/native/runlength_encode.cu +2 -2
  100. warp/native/scan.cu +2 -2
  101. warp/native/sparse.cu +0 -1
  102. warp/native/temp_buffer.h +2 -2
  103. warp/native/warp.cpp +95 -60
  104. warp/native/warp.cu +1053 -218
  105. warp/native/warp.h +49 -32
  106. warp/optim/linear.py +33 -16
  107. warp/render/render_opengl.py +202 -101
  108. warp/render/render_usd.py +82 -40
  109. warp/sim/__init__.py +13 -4
  110. warp/sim/articulation.py +4 -5
  111. warp/sim/collide.py +320 -175
  112. warp/sim/import_mjcf.py +25 -30
  113. warp/sim/import_urdf.py +94 -63
  114. warp/sim/import_usd.py +51 -36
  115. warp/sim/inertia.py +3 -2
  116. warp/sim/integrator.py +233 -0
  117. warp/sim/integrator_euler.py +447 -469
  118. warp/sim/integrator_featherstone.py +1991 -0
  119. warp/sim/integrator_xpbd.py +1420 -640
  120. warp/sim/model.py +765 -487
  121. warp/sim/particles.py +2 -1
  122. warp/sim/render.py +35 -13
  123. warp/sim/utils.py +222 -11
  124. warp/stubs.py +8 -0
  125. warp/tape.py +16 -1
  126. warp/tests/aux_test_grad_customs.py +23 -0
  127. warp/tests/test_array.py +190 -1
  128. warp/tests/test_async.py +656 -0
  129. warp/tests/test_bool.py +50 -0
  130. warp/tests/test_dlpack.py +164 -11
  131. warp/tests/test_examples.py +166 -74
  132. warp/tests/test_fem.py +8 -1
  133. warp/tests/test_generics.py +15 -5
  134. warp/tests/test_grad.py +1 -1
  135. warp/tests/test_grad_customs.py +172 -12
  136. warp/tests/test_jax.py +254 -0
  137. warp/tests/test_large.py +29 -6
  138. warp/tests/test_launch.py +25 -0
  139. warp/tests/test_linear_solvers.py +20 -3
  140. warp/tests/test_matmul.py +61 -16
  141. warp/tests/test_matmul_lite.py +13 -13
  142. warp/tests/test_mempool.py +186 -0
  143. warp/tests/test_multigpu.py +3 -0
  144. warp/tests/test_options.py +16 -2
  145. warp/tests/test_peer.py +137 -0
  146. warp/tests/test_print.py +3 -1
  147. warp/tests/test_quat.py +23 -0
  148. warp/tests/test_sim_kinematics.py +97 -0
  149. warp/tests/test_snippet.py +126 -3
  150. warp/tests/test_streams.py +108 -79
  151. warp/tests/test_torch.py +16 -8
  152. warp/tests/test_utils.py +32 -27
  153. warp/tests/test_verify_fp.py +65 -0
  154. warp/tests/test_volume.py +1 -1
  155. warp/tests/unittest_serial.py +2 -0
  156. warp/tests/unittest_suites.py +12 -0
  157. warp/tests/unittest_utils.py +14 -7
  158. warp/thirdparty/unittest_parallel.py +15 -3
  159. warp/torch.py +10 -8
  160. warp/types.py +363 -246
  161. warp/utils.py +143 -19
  162. warp_lang-1.0.0.dist-info/LICENSE.md +126 -0
  163. warp_lang-1.0.0.dist-info/METADATA +394 -0
  164. {warp_lang-0.11.0.dist-info → warp_lang-1.0.0.dist-info}/RECORD +167 -86
  165. warp/sim/optimizer.py +0 -138
  166. warp_lang-0.11.0.dist-info/LICENSE.md +0 -36
  167. warp_lang-0.11.0.dist-info/METADATA +0 -238
  168. /warp/tests/{walkthough_debug.py → walkthrough_debug.py} +0 -0
  169. {warp_lang-0.11.0.dist-info → warp_lang-1.0.0.dist-info}/WHEEL +0 -0
  170. {warp_lang-0.11.0.dist-info → warp_lang-1.0.0.dist-info}/top_level.txt +0 -0
@@ -1,28 +1,99 @@
1
- warp/__init__.py,sha256=l5CZa-wLvmFiXEmPcIb5BJ-D6hOq9iKBMAC2oHTdplM,3713
1
+ warp/__init__.py,sha256=-8W-odWSF51v1b5d4Kj37bpeO2e1xx_c_Gb9_O5Mk3E,4239
2
2
  warp/__init__.pyi,sha256=xRyS7nyFH3H_hKLtF4HCHEHF31pXBjiQrWRyUgw9mpA,22
3
- warp/build.py,sha256=P5i_8fqiwd8CImhfDbDeZ3I0CnWU9gCtQXwNnloAh9U,4294
4
- warp/build_dll.py,sha256=K9m4Q9D3R2hFI2WQgpc0qr0YdkyP0jq_JsELAyGXBg8,16845
5
- warp/builtins.py,sha256=loWrzpmD3B7g6Z1kvCI1ewE4ZDpQlqHodIKp2nWaM4I,116622
6
- warp/codegen.py,sha256=j6__oF_NDw-AkhLBofkCwLuuXWGLV9ieOW3HqLYGycs,98324
7
- warp/config.py,sha256=D8_ZIiWkR_WgKMkPO33vhKh9bL7e9TvYnmqlRal3ssw,1745
8
- warp/constants.py,sha256=R0nHcEdy46MBCuX989tZrY_CtVdxjnoi_3vm4_Pa28g,1211
9
- warp/context.py,sha256=Xx2-Yg0bLoiLnFxF414DT7rwap58D0qEVbUJ6mA9oxg,170850
10
- warp/dlpack.py,sha256=axWuv7Pch-LZeoDrtabhwwq0WRMjNAZZdvjxt_wkjUg,13724
11
- warp/fabric.py,sha256=eNj7KKOn10t_ukh2LpsWSazotzARDlHZluUxQc5vISY,11360
12
- warp/jax.py,sha256=uBynTsn3qD7bXaLUw5yVQuS4KRJRPT26wQgAJedTfgE,1557
3
+ warp/build.py,sha256=s2_MN9cwzMOPGkgeE22Mv98X7ECeyHwj2788YCoeaY4,4408
4
+ warp/build_dll.py,sha256=SaxhwB1PfwqkrJCLHdsnNK9s3JEdmAladef1J-WcmWA,16372
5
+ warp/builtins.py,sha256=YbmYPI0VWG3FPSUSKZoEdHy17O2Q53LyiaI-w2A2vUs,116614
6
+ warp/codegen.py,sha256=jO3pxNZr70GQ9HLcJfNMAoB8UgaIC6Ih2i7nB2fFlTk,99861
7
+ warp/config.py,sha256=S9c2jYS54ntTdbaiLk4eOWU3kLjO-QKRMPxhRutxvxs,1720
8
+ warp/constants.py,sha256=02tCDba7vk0qsfsXW9tAfxcQK_F3kfVbyMXg2ZVmCfw,1308
9
+ warp/context.py,sha256=hfP0UTdumS6OeqkPurgr0tnDcrnb4zIoj74W8YESlqs,201336
10
+ warp/dlpack.py,sha256=OWsfVOuNOYPVGykL5t-W4waYYlnDgw0YnzlV0KkKHZc,17014
11
+ warp/fabric.py,sha256=1F8-jc97Sny8FRwYo8eAGaF2FZCdiqOhkUTpbn66ljc,11605
12
+ warp/jax.py,sha256=SKAv-0rluugEPEBE9wZBCW6WQ6PjPkC2XaLjrU8xfwo,2852
13
+ warp/jax_experimental.py,sha256=77GqrEkqVJaGiznxCWlPeOtTpCmyDN7Y0uZ3a5bD2oU,13743
13
14
  warp/sparse.py,sha256=TmWd0P2VUqWw4aTt2fypYy1-LPH1BHkjJscwpI2leuE,42999
14
- warp/stubs.py,sha256=sT4X8hIBpfOopQMPRB516pHv-Bu3L7rshndzKvva0As,59636
15
- warp/tape.py,sha256=HzU7F-7Ik3PY1rPYQod82u1sB4Ina0_xi-D88Klmx0Q,7689
16
- warp/torch.py,sha256=fyQVQVkdqYLbS9ytlR7Ewb6A8j1g7YDIHPi2daebMyw,9870
17
- warp/types.py,sha256=VcNU4ZsLZt52cAZm516fNaQNWzgrcb3gYjGXxXs1PgE,149532
18
- warp/utils.py,sha256=bU_buwZAbd6jECzot3dke7wD0xeidoVyAMeLZif6yhA,23627
19
- warp/bin/warp-clang.so,sha256=VvrJTNsL-heShOboAPuiiFDwPHzgBbLLorhnmm7nsmA,59972664
20
- warp/bin/warp.so,sha256=1dWEPYrp3YilqR9uLAyhR9CIAC9Jmk-3QJEYH15NGkU,85038600
15
+ warp/stubs.py,sha256=n72LvcARf75TDuGmzP-eFPywfo_IObxrdfLBFZ1h8j4,60162
16
+ warp/tape.py,sha256=AHdc1wQWhbEqSHtXl-s8S0nD5ncbYO17iI94pXkZZtk,8751
17
+ warp/torch.py,sha256=JdAcr7SCXOyJVHUAC3qErMATevdTTwB4MCMKLnCMaoY,10088
18
+ warp/types.py,sha256=TVuJ9dfw554sm2J0-yNDAwIk4ixMuED5m2R8-qlwcQ4,152977
19
+ warp/utils.py,sha256=nfNPvFZR0KWazXlwmej9T9xYOK8eALxAOniYabjcao8,28212
20
+ warp/bin/warp-clang.so,sha256=ULZPN-wVzAXgiPT1s_Oo9oR6ou4V9DTIX6H_SZWg3kw,59972664
21
+ warp/bin/warp.so,sha256=JbAWfCBc3mH1rX1Y6dDFBqcaQHzdKccN-A7qkoaWkM4,85067304
22
+ warp/examples/assets/bunny.usd,sha256=nTThxXaS0R-MZ-1mpurJSHBjf3mYu50DeDKKDYcpPkM,524749
23
+ warp/examples/assets/cartpole.urdf,sha256=SmvdJIcdFXEltIbBFJXCH2SpNTY4ucNSDAhTCaoaSNc,2704
24
+ warp/examples/assets/crazyflie.usd,sha256=WBRoJ9LBPUdaKDHOyXVo5KzsPPIEjFwA_hkmQTlQhEM,205330
25
+ warp/examples/assets/cube.usda,sha256=GR8pfODMM_3_MBzLp2DRcJDxBM_NzmYX0asNs-DCvsI,1930
26
+ warp/examples/assets/nv_ant.xml,sha256=teW_qZDb9UwzgYDWB3VJbALdeolH_P9IanrSLLDsqQI,5327
27
+ warp/examples/assets/nv_humanoid.xml,sha256=sNa8ONmGVNdq0v6l2pIcwqQxDzNYwdMaSU_Jb7MLp1o,12201
28
+ warp/examples/assets/quadruped.urdf,sha256=jHaDp6nIEN1vEWfUHe0ZJf_ZrUljJKd0xO0Ply7V-3I,10013
29
+ warp/examples/assets/rocks.nvdb,sha256=nbLzLSnvz1m26MPfESYp0LIAaPtVJoqRW4FmYM_ptVE,938332
30
+ warp/examples/assets/rocks.usd,sha256=ExwLqPHQezpAkre8p9wIEzeMrFHgO9QPYNnPruXM2xY,853514
31
+ warp/examples/assets/sphere.usda,sha256=NqTi0pOYDTzYNKhJxyrjpFi9a2OASMhm2pBbHCX0W6g,35318
32
+ warp/examples/assets/torus.usda,sha256=rdJoYgz1fyw01sKDHeYIbuTMkq91UL2VlaHCtZ1cWtA,340830
33
+ warp/examples/benchmarks/benchmark_api.py,sha256=v5ZDhvpCFwb9XR6FJOC5tS57oRpv0RFbbBn9cpnxia8,10076
34
+ warp/examples/benchmarks/benchmark_cloth.py,sha256=fGP0VkJJU5F5nLhP8sGHyva3P5Wra_tDNmrwnCKCkQg,9223
35
+ warp/examples/benchmarks/benchmark_cloth_cupy.py,sha256=74vm-LUW-4sg8mzhAxuiHJgVwO_IxAmddo6d5YJ37m8,2574
36
+ warp/examples/benchmarks/benchmark_cloth_jax.py,sha256=v5u1Bq-GHIJBymOvw-jdNBsoJ6lTkuKuCUsGYlRfndE,2794
37
+ warp/examples/benchmarks/benchmark_cloth_numba.py,sha256=YHLgFjHXx6PRC47R2lSOmwGB090QhKbUGZLWqdP-PsA,4290
38
+ warp/examples/benchmarks/benchmark_cloth_numpy.py,sha256=zFPvrTz_5_f9Pq5-KwMYiB8_d1xK-XdbyBVCHZ13Zd0,2106
39
+ warp/examples/benchmarks/benchmark_cloth_pytorch.py,sha256=6CExU-Da0aqCFudwpwvXfelS4Kb2H1ujzFLzvDJ5up0,2803
40
+ warp/examples/benchmarks/benchmark_cloth_taichi.py,sha256=PIV3lADe6_bKE1H3WhJBeXRlpOdq-wkH_amjqGlS1Z0,3674
41
+ warp/examples/benchmarks/benchmark_cloth_warp.py,sha256=gZQVsJd0qLtqiCCPLUmW44t1YGzZMT15BhyOavQMW48,4187
42
+ warp/examples/benchmarks/benchmark_launches.py,sha256=iapZfV2CgYjgrRZiIFtv8TSg0CEUCUTR_GOffZ0uqDc,6190
43
+ warp/examples/core/example_dem.py,sha256=OoGuCqCU4eXEFkNw08_0GxpByxEvSQc5CZIZYXXzEzc,6458
44
+ warp/examples/core/example_fluid.py,sha256=G1FurT92H6q3nlrxipwH-RmJWnN5r5ex1PKksp5x4Y4,7467
45
+ warp/examples/core/example_graph_capture.py,sha256=d6rtNb7lPUYBUlCEht80vFE4VnKYgiA-rSoZbro1sn4,3843
46
+ warp/examples/core/example_marching_cubes.py,sha256=UlrhBMZZcLCnQedqMb1MYjZpdesgHih7s4-ady9hxp4,5613
47
+ warp/examples/core/example_mesh.py,sha256=BUgTC-7hUS00lxgXzaddoZNGqrHkLGnShYLpLFPo4bs,4779
48
+ warp/examples/core/example_mesh_intersect.py,sha256=iXBeb0z8qqFx3xCnCXcxpN4eadO3jakB8ggIo_RExYk,6419
49
+ warp/examples/core/example_nvdb.py,sha256=JIKTVliH6FmhA0zH17hde-zTErydh2SKOJ--7G9VoI4,5475
50
+ warp/examples/core/example_raycast.py,sha256=Uy2J1C77rE8sw2T_Rd2rOS18IwdoErZwGJ-c2JFP5_g,2720
51
+ warp/examples/core/example_raymarch.py,sha256=J69nnqcL_qqGrqyfR6N7CVRSW-pHqGjRTbzvwKDFMyw,4828
52
+ warp/examples/core/example_render_opengl.py,sha256=wczc1gQLtML67Bd_QCaq0uCWk6QkpCP2TTkOGtHXNJs,5226
53
+ warp/examples/core/example_sph.py,sha256=d7K3nH9bJgPJTEcg6ZwW8WUCzBS9agCZHJU_8HMdAAk,12319
54
+ warp/examples/core/example_torch.py,sha256=ARv_8YQYBi7ogL0E1Kh1II3u6DaDA9k-4VFi3aXHTjc,5300
55
+ warp/examples/core/example_wave.py,sha256=wKchL5ZOvsC6-QCFQ11AWepwa0MMrVnVSN3gXhNfa-c,7824
56
+ warp/examples/fem/bsr_utils.py,sha256=XRkic2nu6mXiluH5rJRB6I_QjpF_-nExWR8sC_QKgkA,12098
57
+ warp/examples/fem/example_apic_fluid.py,sha256=zvOjlqzizHrVPipli-nyX9F4fh8bVJBZG2eoeO7z0rs,14166
58
+ warp/examples/fem/example_convection_diffusion.py,sha256=gvVL3M4Drpb1Dfj8hxmgMYS1_5JSP4fPkT0ZqOR_pgI,5647
59
+ warp/examples/fem/example_convection_diffusion_dg.py,sha256=mahOv6YnPB6oVqQRRJcpklN_4Ed5zyhwAjY4mrb9A5E,7137
60
+ warp/examples/fem/example_convection_diffusion_dg0.py,sha256=YLu909Z89OQ0C19pPAFR4zrBoxCF3MRMmPD3Vhh0xNo,7060
61
+ warp/examples/fem/example_deformed_geometry.py,sha256=UFS9G15LLwPmKjow2d9oCEzX226dB4rjIM5VC8ebT9g,5719
62
+ warp/examples/fem/example_diffusion.py,sha256=lqutmh9BM2vZeaB-dYHOicMwr6INZgueUMPANECFa_Y,6512
63
+ warp/examples/fem/example_diffusion_3d.py,sha256=KdXakdSPrlRL2J8FNPm_n51l5G2GOB4NdkXaQ1t79o4,5721
64
+ warp/examples/fem/example_diffusion_mgpu.py,sha256=mG5d-cATz1wEzo7GjCQtlk1wMJmXvXvYywwyNttb0OA,7692
65
+ warp/examples/fem/example_mixed_elasticity.py,sha256=gFEvBuv27ttLeXzY8gkyb1-PJJXcx-y82bMlvk_PheE,7799
66
+ warp/examples/fem/example_navier_stokes.py,sha256=C-OvaPwCw5jQwFqXqKi0SPdBw7cLSssCZLRE02aXEoU,8344
67
+ warp/examples/fem/example_stokes.py,sha256=CeroQ6eeUcns8iYhIAzxkNXNb0Mm8YczFitPhMArDLA,6745
68
+ warp/examples/fem/example_stokes_transfer.py,sha256=11eZWgNEMYRgF5EbgCPvJXuk2HIqOzVlnLkY7jmmHP4,9187
69
+ warp/examples/fem/mesh_utils.py,sha256=MU_OHnKZ-ZuNZkOLSb4dHDJt1n4FiRuLjcZ8IussQIY,3703
70
+ warp/examples/fem/plot_utils.py,sha256=Y7H_hzg9Wftq5aG4f6P6GMPMRKsAmeUJZL2BEv-xEU4,9232
71
+ warp/examples/optim/example_bounce.py,sha256=SoL7-g0Ijaf7D_SMetDje9LFvJgxXQHSCDRPpp4eBtQ,8095
72
+ warp/examples/optim/example_cloth_throw.py,sha256=KKmNLRdgwDE386d670HyyombjdiL32BadEBYXbQhxyQ,6794
73
+ warp/examples/optim/example_diffray.py,sha256=jF22sSm_6gsREjn1e309BqDnmXUWIbnDiroRViF2ReI,17605
74
+ warp/examples/optim/example_drone.py,sha256=5o8EfInqUBuitYc-KSooN3B18pVN6jK7jz1la_I7xs4,28583
75
+ warp/examples/optim/example_inverse_kinematics.py,sha256=HcWzaLBMIg9sdZz0vXMllI17uTjbR1jNegv1aFtfTz4,5372
76
+ warp/examples/optim/example_inverse_kinematics_torch.py,sha256=bLghhNBd3YuJz4T32l-Cynr1eDUb8UwJBJuGb8sw6aA,5954
77
+ warp/examples/optim/example_spring_cage.py,sha256=DTQ_MHZ6FV_WbtuosRicJibobsLRtJZ0UKddq8NRdJ0,8084
78
+ warp/examples/optim/example_trajectory.py,sha256=7ay5z0dil7dOF6WfULAWq8RLBtm2xwlRWK5cAYaK8cY,6606
79
+ warp/examples/sim/example_cartpole.py,sha256=G-x7N9BM75B21VwOulfzlddHJ2rVrP01ZQq-J6iZRpA,4126
80
+ warp/examples/sim/example_cloth.py,sha256=nrK-cUY_j6mm7sEpwwSyt06gMY_5vzDZ1LXCntSc9Ag,5887
81
+ warp/examples/sim/example_granular.py,sha256=f8tQYpKW-wKYQ2Qv4zbp7J0G1anUzVK60wxWZxNK_94,3530
82
+ warp/examples/sim/example_granular_collision_sdf.py,sha256=VxWSVAiGZUuaYnN60LpfGCpvw2Cjonir8gVNKoaWhjY,6331
83
+ warp/examples/sim/example_jacobian_ik.py,sha256=YdP4WXoQ6hw81vnXSo96IcPGdMz63jVqEgmpU-kP9JU,7699
84
+ warp/examples/sim/example_particle_chain.py,sha256=piusohVmN18E5UDSsP_Qb1F_cpujQMe_RdengqVCXiY,3398
85
+ warp/examples/sim/example_quadruped.py,sha256=lgbgE1s4I6aes344jNrzEpwwsEiJ2tpCit16fzUXtrA,6445
86
+ warp/examples/sim/example_rigid_chain.py,sha256=rRQXjwnytRZojS6M3c8cV-YlMkWzJLfLZy7Ehlxq8YQ,7078
87
+ warp/examples/sim/example_rigid_contact.py,sha256=YFGqS--4mAaUa4NPzlvIVYO7FDahJz6ICkEsTvGjJWk,5851
88
+ warp/examples/sim/example_rigid_force.py,sha256=VnrrP44rlwz-MjBiOFZd8kOeFneETpcbUzgOtgzSEBw,4009
89
+ warp/examples/sim/example_rigid_gyroscopic.py,sha256=57xSKsRyh122YM8n2yr3oTjVo_NW3JpCieGgVRmli5o,2898
90
+ warp/examples/sim/example_rigid_soft_contact.py,sha256=gzlJ75QkVvKWsbJ12vxaG81Sd1evwLJqTkByHU8nTC0,3921
91
+ warp/examples/sim/example_soft_body.py,sha256=wXR1hqiyu_1A0Ma2BH3i6NbRttWcmMroeWzmXe3skh0,5372
21
92
  warp/fem/__init__.py,sha256=Ei9gXbYd83K-4dO5IzYXTE3Vs186gw0e25YCpAwYgck,1481
22
- warp/fem/cache.py,sha256=FMQ45sJOJPzZALYjg7KUkIJunlCaksN3CXbg7VwWxOA,13349
23
- warp/fem/dirichlet.py,sha256=SFvCq8fcdLxqIfZkR9uxQQniNF3B2rkVazNvvpm-Lls,6273
93
+ warp/fem/cache.py,sha256=o-qp2MOB58sjCDI3_JFVH3123CYFFrFWPeF0m_N5Z9Q,13319
94
+ warp/fem/dirichlet.py,sha256=8zr3fLWFkk19zAaodVv2esj6LTmGRM9CHB_eTjTFt_E,6217
24
95
  warp/fem/domain.py,sha256=jQFduQ10peDUh2gxONozABjmpgWR_Hvla5pzQjUT_z0,8630
25
- warp/fem/integrate.py,sha256=abNT5CvTDEMO8jKDwyf3jzwspRhSMXstpJ06qX3RBz0,58544
96
+ warp/fem/integrate.py,sha256=9j6w-tS_ZhvmvPSxri1MUX1VPf55I1CkJKp09W5Hypk,58514
26
97
  warp/fem/operator.py,sha256=5AEF3HGbFePhWmVUxcwRkYuOf1n75F0FhZ4wJl9Qsc0,6399
27
98
  warp/fem/polynomial.py,sha256=tzyTj4KOTD1G6wQScI9Hs-LXUetN2hT44pp0ZPqP-ws,6781
28
99
  warp/fem/types.py,sha256=1PaM7122f7oPe_FgYvpqeRI3Qe3feOlyUXn2UY2Uy9E,2243
@@ -69,17 +140,19 @@ warp/fem/space/shape/square_shape_function.py,sha256=8wWn7y-zmM4xY5fvKVnyYF6HrVt
69
140
  warp/fem/space/shape/tet_shape_function.py,sha256=obtxrl-6AWpFEgUClbiN6IJzYABKXARCcDmwmLqrX7Y,20979
70
141
  warp/fem/space/shape/triangle_shape_function.py,sha256=VBjGqywBanuBKmT1I1FDzyJmIqHq3ritGEahv6fjxzs,15314
71
142
  warp/native/array.h,sha256=EsnCc8oZfrDa9z7zlel6qOTOzMOA3UfZ10xoFh46_g0,37000
72
- warp/native/builtin.h,sha256=iA-RE2TipD4-ElhI5PI1jL9r7HlwW3CKin_suWIDQb0,48874
143
+ warp/native/builtin.h,sha256=SpAWcr0Lv329qXn4wsgXmoMjEFJouKgAAr6qH3Fpk9U,49127
73
144
  warp/native/bvh.cpp,sha256=Pl2oR9rFPFXNqVXjpcqwIGv3zsedpMrwW2wvl5EUUHQ,10719
74
- warp/native/bvh.cu,sha256=XrJj54Rexp2W0htMtXYXuQgVI1U91nV41Kg-L7dDQZo,19538
145
+ warp/native/bvh.cu,sha256=sbsmPzZ4gVg8URNu5wrF6FPI3II6UTkIYoha9ZD0s7k,19448
75
146
  warp/native/bvh.h,sha256=j80DB3Lah1oLrm0WougITXG_RGovHj2ouFwxjQFDVuY,10535
76
147
  warp/native/crt.cpp,sha256=Quh5ndL6jlIxYeE_DTc-6s0UWyBPCf57qJlOHZDvaDs,1051
77
148
  warp/native/crt.h,sha256=14ZOVfMgWkKcMAgFPoc7VHCJjPhrqZ0JbDuLXxCEJRQ,10811
78
149
  warp/native/cuda_crt.h,sha256=Yj02mjPPmeQaaGyGDNHG0BNYpqZo4tfTmIF_NSdKpuA,69706
79
- warp/native/cuda_util.cpp,sha256=p5Lyz0Qxd8UAJFpxFJkKSxH2z8ucwjzGbVSuU7fV6I4,18284
80
- warp/native/cuda_util.h,sha256=RIdTFpZ4SfGutbK_c_QMxqi-0pTppqDQiTqh-HzM-fo,7055
81
- warp/native/cutlass_gemm.cpp,sha256=Z0NQs0Spnv5BpiE4DAOrha1w6N2dTFao8SnecWmHHT4,1142
82
- warp/native/cutlass_gemm.cu,sha256=tTqo7kUpvCGN4VWKgcGRqbqBx4LOlOLXG-rdCDIreRE,21912
150
+ warp/native/cuda_util.cpp,sha256=UcdG6I6Ulyg7y_H7TscFKCSvrAY-q5cxjqV7wxLURDs,22187
151
+ warp/native/cuda_util.h,sha256=7qE04qM4s4ssdAQgBG7_mGyuatvlX4ysgVpaFd-koHs,8422
152
+ warp/native/cutlass_gemm.cpp,sha256=HYciOKzV_ttZ4MBjiO0NVp18UmbAHNrpuEL0TLQ0L-U,1157
153
+ warp/native/cutlass_gemm.cu,sha256=3NJuYisd9naisgYxJe7h8KmoR9V9UrrZjj_CRewlzGA,21987
154
+ warp/native/error.cpp,sha256=MmFnpjzDvtll1fi8AVQxMX6GtTlk2IjlNV5s6qmQuM4,1772
155
+ warp/native/error.h,sha256=EgwhVhCzY-7f71zuvinIE_l8JjLDd5x4liu2pISBHOc,961
83
156
  warp/native/exports.h,sha256=pz0Jo8X-IVeBvXUp6_fWVsEhbZ8_b1VHe7PjPVHXjZY,154504
84
157
  warp/native/fabric.h,sha256=QknUFOKeXAXjH5nHsVmJkUgwTzzVjVN4dTnx0qvPKbE,5978
85
158
  warp/native/hashgrid.cpp,sha256=mR1X4zuYqPrDDmQD4WbZ0WqzKDIOrq7gcZGWX0gfmyI,8051
@@ -95,38 +168,38 @@ warp/native/marching.h,sha256=ZwfOKCmc2RTkbmPtvb1TDFCu1ScRzcpglz2_6MRL16g,16
95
168
  warp/native/mat.h,sha256=WCufS50aQoFA30QDBhaI7iezyqjXOhwOSUFT3QlaUJ8,48789
96
169
  warp/native/matnn.h,sha256=DNY9ALYFSMsbGrB_5eV3tOjbbgrp9kJP0OH_VVO2Mts,9950
97
170
  warp/native/mesh.cpp,sha256=rE5wuTzYovPsogcf363cw4chAFcyl0iqcu2dYDFjQgc,6013
98
- warp/native/mesh.cu,sha256=u2cYvDNjfZhfH11lZYgoShKZq17o_fuxf8ffkWz8PVc,10834
171
+ warp/native/mesh.cu,sha256=escik3wAPF8qK9RPKSIrLZL-47s9V0Th85LOUAQkmtE,10824
99
172
  warp/native/mesh.h,sha256=MnMSMxph4sjo9a9ZTAcTp0FJEg6NtEm5YrSsN-3aq-o,61462
100
173
  warp/native/noise.h,sha256=9T_3rWydo8o8GnaAC1jGUnJOMPoQBePAJhQy4zMR7Dc,30612
101
174
  warp/native/quat.h,sha256=FT7rm3zwy1qywGZqPW5HFCxsfmzNThEJul6_WAqK_5k,40312
102
175
  warp/native/rand.h,sha256=nhw6eJHrfwc9a5ocLBiK3-lLvxO7by5zVCVSlOpIji8,10203
103
176
  warp/native/range.h,sha256=Zj-sfXVwRAz2mITwvzNw1o2ilCr60eLUHbK_GmA14Dw,2423
104
177
  warp/native/reduce.cpp,sha256=xIDRVi-mIyknDYcy39Nsm2D8DWYN9aWlh-21Pz8wf4c,4616
105
- warp/native/reduce.cu,sha256=6s4Cps4c4G67s_vgcnf4LxNZCPCzY9amFaW1aNW6Wm0,11035
178
+ warp/native/reduce.cu,sha256=traSBXCTPBriO1_MHLu_poXp-gV7eIwiRVhWy37cGEg,11015
106
179
  warp/native/runlength_encode.cpp,sha256=KrUu57VxZxYBQO5OUn2HYB7Ha-fTe4mfgpiPs4Tv9DQ,1386
107
- warp/native/runlength_encode.cu,sha256=ATdNMPIn8XApli09HI3hGEWfhqIG3yPEebk2kLtSk2w,1390
180
+ warp/native/runlength_encode.cu,sha256=3Pg3Yd9hXrOmXuoRfCg4XvXg19LQPcRyFBVLarhazeE,1380
108
181
  warp/native/scan.cpp,sha256=lWZwg2ofQzF4srnr4LOno8iV2GKfSZG1aPXF2aQCwuo,853
109
- warp/native/scan.cu,sha256=QeZ3mgd0u8_AXWZrnzbVsemmW890HS-EYH4z91AqE7s,1224
182
+ warp/native/scan.cu,sha256=dAbS48Ym_3_a3U9abr8053GbxHenpt_hEbvjFzWrZrU,1214
110
183
  warp/native/scan.h,sha256=DUe5rYKyY-g1hscClEehkWaa9EvcJVgbhlAaADwmNyQ,228
111
184
  warp/native/solid_angle.h,sha256=RWJW4W90AdjqHWKzzUldZs0Na0yEDITN5SI9BLrX-o0,16127
112
185
  warp/native/sort.cpp,sha256=nyZollu6XOcsu15sdGMw2XTbaR3FlwgXvfy--vlG_N8,2273
113
186
  warp/native/sort.cu,sha256=R4-VeqyzFS0500RzrNfogvLGqxgLdI049zl_-WpieJE,2700
114
187
  warp/native/sort.h,sha256=sodoBbqubyb3ydYTdt-5nqw0LYQ1ScUMvvqFnlY7JX0,709
115
188
  warp/native/sparse.cpp,sha256=STqwdjKHvCmwiVIDJYcpGzB4FnsZlQjgrIiLgqh8SVk,13291
116
- warp/native/sparse.cu,sha256=Q5c9JOJAfrFSY1-MH_KVYf35ZuskQ1mSN5X6J5snZBk,20867
189
+ warp/native/sparse.cu,sha256=l79rl-1TelH-ieasVLCjvmdK6lDdK24cHIRpKtFrRNU,20792
117
190
  warp/native/spatial.h,sha256=DEGl45QflOLz9dRfTqXqC6aTTaMQsWs-8c3fEkCmjqc,20423
118
191
  warp/native/svd.h,sha256=qqJqPPooYUC6U4fLdRECHAjfQnEfWESdBqeSgcIbntI,21123
119
- warp/native/temp_buffer.h,sha256=CzHtMTH4713QvdWDchr9tOHf0f2crguln0njupiGc78,528
192
+ warp/native/temp_buffer.h,sha256=jOO5FeNQkXhJ-DXPE5TVW9-6dC2S1yvQOElHCdntkSQ,518
120
193
  warp/native/vec.h,sha256=UpMlWDSbTf5GmErSt1krTvqLdvjPWxAJ8wRypt9WBEM,33386
121
194
  warp/native/volume.cpp,sha256=VjzVzJ_T4vWPJK4clNTdqdrrfaEwezRBXNYKalRvlEA,9632
122
195
  warp/native/volume.cu,sha256=NHnbJaaIE4xUQXwwSSQbnDQNTYavludxluhTnMicIgM,1387
123
196
  warp/native/volume.h,sha256=gtG_a0HNxPe4noqsB9aNCsWe8Df-dETGYeIvaH6wuFA,23939
124
197
  warp/native/volume_builder.cu,sha256=zWuNrQa39JnrnrQNv456XPz0y5gJ_4V_ZB7iq5wld3Y,20377
125
198
  warp/native/volume_builder.h,sha256=GEITFoi0OJmPAWhWRaca_DQBfkvhiT3MsqFM2XAgb60,623
126
- warp/native/warp.cpp,sha256=T62aZFPihtlITGGaT7ZgX299nmPFhoAahCYW-WwiE1Y,34084
127
- warp/native/warp.cu,sha256=rJEt5itnIxlSgCsC_sy-99vn-SdBmGmzZAxG8kDOlEg,64024
128
- warp/native/warp.h,sha256=vd2HH61eh4DbHlPl8YvxJ9Ng2LeS4_8JVn5XeAN6XYk,15157
129
- warp/native/clang/clang.cpp,sha256=bsjabZFX6EZDgFJJa02KBIp4gpbpVUw-CatERgrqXEg,17699
199
+ warp/native/warp.cpp,sha256=rHRrls5F4QEodJ73FM0fLUUbFAFYjorDwF_eg_b4qkc,35391
200
+ warp/native/warp.cu,sha256=e10T8FKBU6ZcFUmajMq1j5gRGnzWiAg-_5A2IRHajXQ,95089
201
+ warp/native/warp.h,sha256=JcMbs4P3BsbkiF5K9awLyETvPTdMmYUZjz3OvqKLYJE,16525
202
+ warp/native/clang/clang.cpp,sha256=pMdwgLt7nZAvd8KJxFE96FUF8RpZASIz24u7qok19fo,17855
130
203
  warp/native/cutlass/tools/library/scripts/conv2d_operation.py,sha256=YWLhdjGXLoJB1Ck4e8wdSdIQyOaERcPr0G7WDOO_9o4,18229
131
204
  warp/native/cutlass/tools/library/scripts/conv3d_operation.py,sha256=5HTuW477L6uUeVlWtDon9UWbEIRftCVQKNKRENPAB8I,12643
132
205
  warp/native/cutlass/tools/library/scripts/gemm_operation.py,sha256=o_c-TYhJxtYTUvrQVghsBUtu3ek6A-VaafkDDf9SgJs,39700
@@ -197,33 +270,35 @@ warp/native/nanovdb/PNanoVDB.h,sha256=pwjV_boDULb8FTG_NSSWo_HKeD_s5Gw0RGhieVTbEI
197
270
  warp/native/nanovdb/PNanoVDBWrite.h,sha256=hIL4G-ObW_GuuL9DuGX20CEB6U4GY5zk7Sd91RD9prY,18336
198
271
  warp/optim/__init__.py,sha256=zbioJc8XHMnfMHg00a9G53UFY3th-dRkou48dpanCQQ,477
199
272
  warp/optim/adam.py,sha256=dIiGnuFO-XhMk3egU6PU-QHYvY_pw5W3Qzbbyy6xnKA,4359
200
- warp/optim/linear.py,sha256=tPIrS2h5jcyQupIcwY6gdQUNXOdPfqaoAzOzwxcUT-8,29986
273
+ warp/optim/linear.py,sha256=PSmZVPTUE6O7JgB2W7Bivn_Mdv6YFXnAdaUtkR3ykKQ,30433
201
274
  warp/optim/sgd.py,sha256=XnP6tJ5sHc4zplrbHTjo0ynkKLdwQMAJlvRCHf_Sgd8,3119
202
275
  warp/render/__init__.py,sha256=VGLibelbTuGcxGhzIiCbGZr6CF-o6z42cr04Pf_WMUk,548
203
- warp/render/render_opengl.py,sha256=W9X7kJcRJz1vn03vZalwK1CBRHhYoLIGRsFQNlrpcHM,118747
204
- warp/render/render_usd.py,sha256=XSvqHCFQRcRKz1fZyzg-RQsLX4RZt3s8IzaXGQFGLN8,25911
276
+ warp/render/render_opengl.py,sha256=yTrAxdx1eaikkGssP4-5HVOhuK753Nje7FtzBjk6pc0,123008
277
+ warp/render/render_usd.py,sha256=FKmgSF8dnA2EdKIzKlvcoiRxTNB07rZ_gdsckpTtKxo,27595
205
278
  warp/render/utils.py,sha256=Pu-DSAY5jFz7bmX1ZDUJM0TwLr6_lyjfTaW8M-5-mZ4,4446
206
- warp/sim/__init__.py,sha256=9x3EJ46IeqId6VefBHeonExGf0NHU8WcOZj5XZcRfLY,1716
207
- warp/sim/articulation.py,sha256=WJSL2-M51i7w1jdCLAr4VgkVKMsTF-11tX5C7G-YmNs,24228
208
- warp/sim/collide.py,sha256=hTGWd1k0BYkevW0xRHwlAhjYhdqkOHq_5IaNBE_2_vc,57274
209
- warp/sim/import_mjcf.py,sha256=43z2LfO09ylgAHisFhK8AKzM9PZuimcP0c5gZiAT7PM,20091
279
+ warp/sim/__init__.py,sha256=0CVofZPVGGCT9oNlD5rEHYBiZA-VTnOCH7Ttwvej6rQ,1984
280
+ warp/sim/articulation.py,sha256=a--ojJcGhc3GqaxXZi-PaZ-R6jS5TLIBnfl56unK2C4,24034
281
+ warp/sim/collide.py,sha256=Wu6F-MJiZPorTuSXQ9hrtlZSBAxwbtm-LNiP6PB-XyQ,64467
282
+ warp/sim/import_mjcf.py,sha256=k5DWY9c0Iz3lRgNd_GqedtNDRkE23KgDKQcWeZnmWaQ,19581
210
283
  warp/sim/import_snu.py,sha256=lzKknSNbGs_0KaOPH4CctpMsjhXAbijs1zbtflwUKmM,8564
211
- warp/sim/import_urdf.py,sha256=ci5eBZ2cqlQbkzji7X1efVt-YgWKwdCIS5lczLAYzNg,21089
212
- warp/sim/import_usd.py,sha256=q8jRdpAcUIqFxL8mnny6p7k628DnJe0O_BZMeo9x-GE,40517
213
- warp/sim/inertia.py,sha256=m9tagvIdR4uuKPTI4ZYdw-x0S_8PEQMHM7Eq5D_rCvM,9332
214
- warp/sim/integrator_euler.py,sha256=RCDqit04bCpnJjETkNuH__MrOAavrSzC76nhy4egrgY,61057
215
- warp/sim/integrator_xpbd.py,sha256=it2JjGkYoHgh5-x5d5t179i-9QCXU2taQyXjrRaXNvg,91871
216
- warp/sim/model.py,sha256=Z_Y96xtAyGSFCkFvIyOo4-yZbwxsa7r9dU0WsoaEcg4,166392
217
- warp/sim/optimizer.py,sha256=eGovWgWDCeONGZE_MfqLu-JGXmSACMfKGOfqJ25k2_M,4040
218
- warp/sim/particles.py,sha256=e_kj6wjjXkj3KhsqepwWPmRc6NoWGqoJZthmnkKr_5A,3174
219
- warp/sim/render.py,sha256=NbVxLsC0iUfRhzLpXEqEbOQyYBSiRaoHa0-Fip9ClEM,16796
220
- warp/sim/utils.py,sha256=iDDh3Ug-eazYhzGnfIVtnulyxMZMWQoAQWY3UlH_IIU,5124
284
+ warp/sim/import_urdf.py,sha256=9fXtyU9zohJfxUzSLKb0gjZQx_KKD2arUA38pstq_Fg,22335
285
+ warp/sim/import_usd.py,sha256=-M9EwZYkEylRlo2wLEyk7TT6h2CJ_X0_URbI9oO1-cQ,41247
286
+ warp/sim/inertia.py,sha256=QOujk96NkvoEaTbne_UO4aSPirn8ipKuf9RUCHSQRvQ,9390
287
+ warp/sim/integrator.py,sha256=FqHpRrB--zczWKf3Gkn6gYirf52slrutaZ_6LViT8N8,6884
288
+ warp/sim/integrator_euler.py,sha256=EASBG1LEkHjRnuLgarb6d2MCLw3om74E7BcpA3S3mbA,61308
289
+ warp/sim/integrator_featherstone.py,sha256=5pJ9NbM-cZLXavik62mrFRwFswd2K8JnB35Dpo5YmYI,69224
290
+ warp/sim/integrator_xpbd.py,sha256=QdidnYEXjJ9Od9qd2LEkwv_hkHkF2WT1mLxX2x1kM2E,118839
291
+ warp/sim/model.py,sha256=gjNBejaxae-cHZRgDM8la7dKw5qV5w6XGKFkFy9-CkI,184680
292
+ warp/sim/particles.py,sha256=HahiePfgGbVCDvpALbzqMsDbET_SseYa4QSrl__VZ3w,3276
293
+ warp/sim/render.py,sha256=BcqgrJz_9siV7eAMq07OG8ZDuZnovzrrRp2hJbt3LXw,17830
294
+ warp/sim/utils.py,sha256=4B5luqoFj4WK7lYJAMOVMW_0bUQVvWeIaiS8PDobStg,12602
221
295
  warp/tests/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
222
296
  warp/tests/__main__.py,sha256=Dg7dxwx_tD2ORJK4ctN-nmXJ2ilcoba-iLN8fg-tLgE,94
223
297
  warp/tests/aux_test_class_kernel.py,sha256=KPjFlrvuVObuGpH5xBf8WwGHP0xg1MM2-Zf0PYmHqHk,1053
224
298
  warp/tests/aux_test_compile_consts_dummy.py,sha256=mF4jTs4zQQiycCjbPhTJtkfSj6oCFfodD9sTOKCUyEg,481
225
299
  warp/tests/aux_test_conditional_unequal_types_kernels.py,sha256=qVx-16Dg-BDRP0ctHstOC4B_ck6SJcnHfNOKe59vZ2M,667
226
300
  warp/tests/aux_test_dependent.py,sha256=_o0Jm-KzbqM0sifQgek6EqSI5yZFm7hVwNF0buRMPrc,743
301
+ warp/tests/aux_test_grad_customs.py,sha256=fxDRufpPsS0JhN80phzng6aoOhtuUbKsuSt3reDbAqQ,865
227
302
  warp/tests/aux_test_reference.py,sha256=cXskQIRy9FoH2HhHgfhRSSMfSlbjjbe-uSGx8Gndyeo,216
228
303
  warp/tests/aux_test_reference_reference.py,sha256=1A9bHZyBBw3UO0rzAJ6er_utb0c4V6fx5AWR9AezrdQ,141
229
304
  warp/tests/aux_test_square.py,sha256=Y4mBorrh7Pt0gHmfvOOvZMbes0NSsHRopca_Wvq7ONw,262
@@ -233,10 +308,11 @@ warp/tests/disabled_kinematics.py,sha256=If3joeveVqKIFF6z04BpnD3-TPlYIc4zuwcgrKz
233
308
  warp/tests/run_coverage_serial.py,sha256=14Vej3BouIo3FxAlvOmjAKTN7pjTzVadX3eYNwcvm8Q,1076
234
309
  warp/tests/test_adam.py,sha256=cdghsff4zYAtDdXACnY4JoZNKSgiQ5ZSjhBXCDJNuR8,5535
235
310
  warp/tests/test_arithmetic.py,sha256=rm1jTVuFinzeFdH8Ig4rVbQCYvF8qdQ1wTZVG5D7EHA,46127
236
- warp/tests/test_array.py,sha256=m-RluT3pxOt3Ofg8_N4k_RHkCLcW6hbiEWPkk3Zmlo0,77043
311
+ warp/tests/test_array.py,sha256=rXAlU8jn5TszuGjyEgSK-8iwWWXrVxCI4O_IXdXO0jU,84192
237
312
  warp/tests/test_array_reduce.py,sha256=rwR3wI0uWR58p2X7e3e__iEqbtiAqJKl7p4lumz36vw,4835
313
+ warp/tests/test_async.py,sha256=TIofcKlW2Kq6mF6GUfvLos4tAcvhe8QfZg5t4CIDRkE,27056
238
314
  warp/tests/test_atomic.py,sha256=huop4ht73RAWxOU8vMeYDEqakiNw4IWhbiFwdol9UTE,5501
239
- warp/tests/test_bool.py,sha256=7Wa1CBej7VE8b0XcQKRL_jYsYvM8NHo6gdJYRtuPmzA,2527
315
+ warp/tests/test_bool.py,sha256=rM32BOODgwr_Q3s6OQkAV7_VsF3lG-GU_5MIYa1jm2U,4309
240
316
  warp/tests/test_builtins_resolution.py,sha256=5ClWiJ5tTvfTSfVsPP4P0RE2h-8iE3B1D7PB0ricCGc,65298
241
317
  warp/tests/test_bvh.py,sha256=RM26TXPAohZp6lss4i8KQsv1Wdu7HsEfwvWdVa4-kn8,5331
242
318
  warp/tests/test_closest_point_edge_edge.py,sha256=0z6FaHz8Z9bVBqpJP1jSsxgH-YRPtHIVsoga1530tdk,7069
@@ -247,32 +323,34 @@ warp/tests/test_copy.py,sha256=y2yNTQwawANWrm0gYnib18a-KMM9yuJRFKxQKoGG5b4,7261
247
323
  warp/tests/test_ctypes.py,sha256=HnWUCfkSfEbCR0xaiDCiUSy03WJRrz1HD79I1KZjxEg,25284
248
324
  warp/tests/test_dense.py,sha256=WjBUhrtLyKFCnp3AdBuVeVYZyC3B6AxbUqQhavP5k_I,1913
249
325
  warp/tests/test_devices.py,sha256=6n5SAvWPIZTw7KMgQg8-9owUNEPvf9p_9oe6ulDZFO8,3291
250
- warp/tests/test_dlpack.py,sha256=opQkgRCauWFoRho4qKN4XJQgL6pjEq2FukwHQBzoAvs,13361
251
- warp/tests/test_examples.py,sha256=xYx45lXOEFASPLi6zv0zyjo0TmrkmhUR7EcgI0w5Tu4,10500
326
+ warp/tests/test_dlpack.py,sha256=_-05Q-pGXZJ3nPTrAmT8Hjc5NsdOszwaQZjNXPUq9rI,18368
327
+ warp/tests/test_examples.py,sha256=2Z4Hlo-nNpWjGDkr6qyKIbjmIGNXMRvy2CEl8zuZeX4,12077
252
328
  warp/tests/test_fabricarray.py,sha256=TSKjECqjwltsBkAAnTMhesh-6M47BnXxSphRtwm1WrE,33105
253
329
  warp/tests/test_fast_math.py,sha256=vCRlv8XwtQZeZmRmiJlFILKFV64_kNKGUlbsXpJq9c4,1618
254
- warp/tests/test_fem.py,sha256=xaC08R1KoJb6mKcE_IobZgdEB367c0_P-ohLiL5lD2U,52697
330
+ warp/tests/test_fem.py,sha256=VH6p-MhNbkXKXy5h243RftvYAcwplLoQJKr3HWmTSxM,52908
255
331
  warp/tests/test_fp16.py,sha256=kIR0SP62vsVLQi1dSezCscn1n3R74l2fxSym6M3Trss,3963
256
332
  warp/tests/test_func.py,sha256=c8QVFvetnw0vqi7aMh-vnIs7N99ZPMe3O-WpM5VM9Gg,11071
257
- warp/tests/test_generics.py,sha256=1o6IrOMlpMkKOXnJz_Koe8aTHKTcW88WyGhe0GjfwJE,19490
258
- warp/tests/test_grad.py,sha256=5lny5ha8fee6QvvmRlhZpA226knVG_xVk2h1qoxlRpw,21078
259
- warp/tests/test_grad_customs.py,sha256=3haWrS0e_xw9zAJUmuzMq9TjCcft--y1nDYSvzDFQig,6106
333
+ warp/tests/test_generics.py,sha256=3lHeYhf2Pvhuw7ewZXOWDd7aNoAWfEXqpYPbBPn_7Jw,20142
334
+ warp/tests/test_grad.py,sha256=fuoA059qhyPHCY5ueI66pegh1XU3onCpNbutyOsgkz0,21086
335
+ warp/tests/test_grad_customs.py,sha256=EAZu57A24DRKMa5sxD_TZz1PAQ4qXJF04AEtlWlhs_E,11657
260
336
  warp/tests/test_hash_grid.py,sha256=B8n_iYaTfY08YuqKHm5_lq5zTbUnYGhOV9UzGzWVPCk,5073
261
337
  warp/tests/test_import.py,sha256=2T8g-EU1xeEz70pGtKFvFvWGC7znaB2Yn_nvLIgfjTs,1077
262
338
  warp/tests/test_indexedarray.py,sha256=5FEsvhOi92RPoq_14H01zmNWK1VcTTWBuuL_xwnoXtg,41945
263
339
  warp/tests/test_intersect.py,sha256=CQMPJWi63gu9MkRHvdaWa81yBn2jtX5tqizlChbCeGU,1933
264
- warp/tests/test_large.py,sha256=GWp1ssEZ9IQ3diSCT3Or1YGCRRLiFs_kFNRaPY8zFx4,4885
265
- warp/tests/test_launch.py,sha256=grNw0pGfoFfV1_s-1PsMIfatrMMYUn6I-OGQNBmBFns,8642
340
+ warp/tests/test_jax.py,sha256=rAd6AdiVXIa30GUmKrNsyefc-W5FAvZ9PX7vmIfkgoQ,7863
341
+ warp/tests/test_large.py,sha256=2UqyzjDqWbxYXY3Hk7HPKq8VtdKw7QghuUR0MkNbtDI,5918
342
+ warp/tests/test_launch.py,sha256=ZG8MuP0YvRfXfLF3iY_n86cmFG_V0i0q2vUkE15zJHY,9227
266
343
  warp/tests/test_lerp.py,sha256=vrezacbCx0u5sfMG9jWWxpwUexkh6oyF9Q7c0jeyy2I,7186
267
- warp/tests/test_linear_solvers.py,sha256=IHSFGn16h-wnNS5UfCP4Tcx1bkXUqirT5ERlXI40thQ,5490
344
+ warp/tests/test_linear_solvers.py,sha256=LF-q_nZQvgSZSTwdgRGemfcjUozoJBJXxoiKVsd_gyk,6196
268
345
  warp/tests/test_lvalue.py,sha256=Ncw4KSCykB4nFdA92VrBtVelGFrBAj7z2YmnFUXnNwo,12070
269
346
  warp/tests/test_marching_cubes.py,sha256=VWhYA25wuvRPb7bAYa4VK1kN7O-g4G3qiW-smP450kw,1917
270
347
  warp/tests/test_mat.py,sha256=1VYynwQ6sLNqSjZYjB0jdQJ6iFPO2xOiVE7AdiPtex8,67211
271
348
  warp/tests/test_mat_lite.py,sha256=MBDLqy7mcqHli9z7qulIgVUghYlW0-vs8VNSsIFeSjs,3909
272
349
  warp/tests/test_mat_scalar_ops.py,sha256=CXGE6FUjs2FVbd-ZRdN0M_ng4xh_VHBSUKawXpdK_r0,112805
273
350
  warp/tests/test_math.py,sha256=Job9bBiV38FKgYt4vO7FI_OW8mFLjjGkSRqEQSzZDgM,4568
274
- warp/tests/test_matmul.py,sha256=0ydO_li3IqazX-Z0DR6K5JmdgkzaCyqo0LEt_QWt3Rw,17233
275
- warp/tests/test_matmul_lite.py,sha256=b2_BDot4pTDjEsNVKejd6carehpa8mkEvfR4AVTss0U,15211
351
+ warp/tests/test_matmul.py,sha256=OTnQ4aqpqbOb1lZe0kA6UNCfiYvcMh9B7lnBwD630iU,18683
352
+ warp/tests/test_matmul_lite.py,sha256=zhgYK6Y8kalwozVMUxHfBK3wT_VeGU0v34M_vwTVHrs,15038
353
+ warp/tests/test_mempool.py,sha256=dwe36uUWZ3g8nvi7Kh9LrmmZD8U7QaMtRJCmjLTmtBY,6902
276
354
  warp/tests/test_mesh.py,sha256=Wv1U5z76VKJyMWg-10C9t1BR5EHpo_4COsymHugGBW8,8918
277
355
  warp/tests/test_mesh_query_aabb.py,sha256=iMnSEnaKzO_ECu3tN2TeL2ZSrqSLXTcPH-vXEpFuJlA,6735
278
356
  warp/tests/test_mesh_query_point.py,sha256=DUny1qu4NaMB9GYGl2SpHJBAb096UFw52jpvg6nA4-0,22588
@@ -280,38 +358,41 @@ warp/tests/test_mesh_query_ray.py,sha256=EVznM980792CLUpHDx7UyX5yUSCYoNk2B5YbWUB
280
358
  warp/tests/test_mlp.py,sha256=aOaGsnaHxQY1oZOyfYogSvnYuyeOebxiWhWu8YHW2TI,8299
281
359
  warp/tests/test_model.py,sha256=m7zYsTaeXV_dnmZ6ZDLHvLob66QqVlhWTWJZhVYZOJ0,4530
282
360
  warp/tests/test_modules_lite.py,sha256=T9pJlkumgu2d-ulLm6GpHJm4Box-3MYY12SC3mDlGok,1209
283
- warp/tests/test_multigpu.py,sha256=xPtz9bLjZ_IDqCpbIcVwKtS4izmRWbyhtz3775bVX70,5257
361
+ warp/tests/test_multigpu.py,sha256=6HO4T6UN87Ijrx6RGFiGdpHmPwnmEmRZjx7Nyqkb8F4,5421
284
362
  warp/tests/test_noise.py,sha256=jURxSeFnDeTcvdc89PEe14cLb9RvIK9g4IuYwOftLKA,7120
285
363
  warp/tests/test_operators.py,sha256=ZPM6dA0C9zdPxCqn6SSSCJ8yy0VkVu6Jj0e7QIBgN7Y,6233
286
- warp/tests/test_options.py,sha256=AgMOsvaxMRxYOGL7SFUmCP6_WRntvL-2q2iob9h1BYY,2990
364
+ warp/tests/test_options.py,sha256=jcuuULfv4j9ch91_NbRHorEbpWwVDdnOGD44943Gc0o,3669
365
+ warp/tests/test_peer.py,sha256=s-zR1kP_zsi4z_ZBeWuK2r84mKegZ4mmCc8AMgWGM30,5033
287
366
  warp/tests/test_pinned.py,sha256=8rRaOtaMVcd7hosrarXYXziUSifhNNOtK6Rzs1UvJPI,2377
288
- warp/tests/test_print.py,sha256=PCd1SPkG9RHGqxOIoIEiCajASpFeGTxGTcVOPE9KtOs,1559
289
- warp/tests/test_quat.py,sha256=RDV7ntaVdEmph7aHQzhL5vPRrlt9LLRj9Hqq9dQKKNs,74407
367
+ warp/tests/test_print.py,sha256=hmrpXdkzfJ3fDIy0mk7hzREh8UcxP-GF_UweXvIq3tY,1690
368
+ warp/tests/test_quat.py,sha256=msRi2U4eHXhrDgQbDqnWDEN9nstn6-UL93DHwvcWtLM,75167
290
369
  warp/tests/test_rand.py,sha256=QDNVdr0l92DFHUIej4skt8fB7IwzB40IXAafPkAsjUc,10095
291
370
  warp/tests/test_reload.py,sha256=IC8RpzNFx13pSDsZ4VpMIyAKK1Z79OMOCIWVtUwTgnk,5889
292
371
  warp/tests/test_rounding.py,sha256=_TyimmIimTyKh5Alxw6utO5Dm9ttmN5DrJDqAbzsnrE,5974
293
372
  warp/tests/test_runlength_encode.py,sha256=TVHyYgH1PuiYLJEDk8nCHJLyrR_4NYWI1t7ymDGfWMQ,7155
373
+ warp/tests/test_sim_kinematics.py,sha256=4Rd4H_DCSLYcvPH_AQ8lw9WeoWj0b62RJaAwIb2SMjo,2684
294
374
  warp/tests/test_smoothstep.py,sha256=mL68QQMtV1BsGby4Mywg9tiSx-2vjobTI7spEu-_nUY,4564
295
- warp/tests/test_snippet.py,sha256=m9DvTKlnehrGbKmO9hsauWeY6Ax9ts9-e8UkH2jHdfA,4220
375
+ warp/tests/test_snippet.py,sha256=6Gnjc0QOWQkQNtrFMj-GvqGhYgCnrlEsrh8kPNBhCZs,8471
296
376
  warp/tests/test_sparse.py,sha256=Rp6hb6wuBi3TJedy_QZ8znJC_DLTJPEUIN_Agsu17Ew,18333
297
377
  warp/tests/test_spatial.py,sha256=YJz7mHnycH8TYq8HTRIETS5jaFaBnOQTCepf6sw7UL4,78561
298
- warp/tests/test_streams.py,sha256=Ny-n3grNLvHvOqojvHBXL5KukNrUhw1CdECGBzy3dE8,14488
378
+ warp/tests/test_streams.py,sha256=RjCNlXJIA-f4Q0QXLfWMgGtO8UJ8Uy-KXWbpDj5P7q0,16059
299
379
  warp/tests/test_struct.py,sha256=CwsPU4ORD92NpbvVy7dlnhsAimOND2G7FVUvQJWcIFU,16471
300
380
  warp/tests/test_tape.py,sha256=NfLEzTkrXVOH1h_vAge-1byEkBZTS-qgTtX-eztUoA8,4717
301
- warp/tests/test_torch.py,sha256=6eI1Al6S5R9V7bFFx8r39x7q22tMuIiFOlckoKnWwFA,23015
381
+ warp/tests/test_torch.py,sha256=crs64uYepz-Fd58mKKnKspDgmH1UNjnzFzSjxDNJUNY,23303
302
382
  warp/tests/test_transient_module.py,sha256=z9B78a4B58PRc9b7GtTwSySvQe5IqpmmcZe_STWzCq8,2310
303
383
  warp/tests/test_types.py,sha256=k-CqtOhq6SKsqKhfZbs1ts3TZYPFE6DoqFO2psWnlXc,22622
304
- warp/tests/test_utils.py,sha256=ErROGfee2QebiuRdVVFc-VHFSQmL1N1lBeOk9E4NuA8,19442
384
+ warp/tests/test_utils.py,sha256=LF_ufrsI6A14Ykb4Z6QA_sGtJ9dWb_e63P-MKydab78,19412
305
385
  warp/tests/test_vec.py,sha256=MQic0V_1hYoEz81p5uo_e0ajhp-2XYGV7S7uRbrusvs,43762
306
386
  warp/tests/test_vec_lite.py,sha256=etjM5nRzFxpYCTKtdpr3Qp_HTv4mZRSDQ8JW6ZgxxkA,2427
307
387
  warp/tests/test_vec_scalar_ops.py,sha256=z8EDboIPbfA55DoIOhiW4H_VZhXc21AL7xB-aRfP4eM,87005
308
- warp/tests/test_volume.py,sha256=SYJR8j2Y_Pz4pSN3Ga8KmHUnNr7NJFJhS489Nh-uUqU,25706
388
+ warp/tests/test_verify_fp.py,sha256=FgIRgW_EeYZABHhQarBBIVXXlgjHx5ATmE56hOg0weY,1599
389
+ warp/tests/test_volume.py,sha256=hAiFGMvHpde2cE04e8R2V5_vPdhfOVBlGNcgtkXQ3WY,25709
309
390
  warp/tests/test_volume_write.py,sha256=A7f8M_djIX5jXIr_57l3HCvmIziuqX42S8qyyXgTC4I,9074
310
- warp/tests/unittest_serial.py,sha256=AJAZPuNwgMMJ_puCvZwgbFiQFN3ZNor95y27UyqkBI0,1145
311
- warp/tests/unittest_suites.py,sha256=zhZotQn9CV2RL8JKd-JCXPhR5gHmBE-uFbiyFO_x_nE,12738
312
- warp/tests/unittest_utils.py,sha256=jAVvX2_opz6-LyIjORtCFyDVE7MJbTyj8Z5TGhJksQ0,19846
391
+ warp/tests/unittest_serial.py,sha256=ThciVRjXCVp5_zcdgZxTduuGG7ZYLvsuf8uol0xNZoE,1158
392
+ warp/tests/unittest_suites.py,sha256=Oj5MNxsLVivJLmnSM_W9uxKsEV_DrsDMsXc96lTomSE,13184
393
+ warp/tests/unittest_utils.py,sha256=gHLIngDyT4dKdpw3g6Ns0nT7NZMYGBmhRLR5Us8xo2g,20110
313
394
  warp/tests/unused_test_misc.py,sha256=fyfOY3VpF1hSdgu_6kTz2kRSukUBl7LQm-r3-4adJVE,1534
314
- warp/tests/walkthough_debug.py,sha256=DsotsWkBvkK2hb-iWQRNbAOkK8KkgrdnmyofC5mPy8E,3136
395
+ warp/tests/walkthrough_debug.py,sha256=DsotsWkBvkK2hb-iWQRNbAOkK8KkgrdnmyofC5mPy8E,3136
315
396
  warp/tests/assets/curlnoise_golden.npy,sha256=ueBhVunJH9If7vdb0fqfxfNaj1fe5pHlKBKHA1TBDRQ,262272
316
397
  warp/tests/assets/mlp_golden.npy,sha256=-ynR9GhQN1HaGOYVdkAc-yVBouHN_2nBkW-4FawO8PE,29596
317
398
  warp/tests/assets/pnoise_golden.npy,sha256=ZAOYoLXb3C8De8JXo1qwRyUWKjAKmffxegJtzbU4i-k,262272
@@ -324,9 +405,9 @@ warp/tests/assets/torus.usda,sha256=rdJoYgz1fyw01sKDHeYIbuTMkq91UL2VlaHCtZ1cWtA,
324
405
  warp/thirdparty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
406
  warp/thirdparty/appdirs.py,sha256=6msNAwCSJ0eRTVmRVF98Uvd3trshrw5RRsVUM_hPPLE,24852
326
407
  warp/thirdparty/dlpack.py,sha256=Upx_8E-DR7TQTHUN0bNbfrilzFubRjxWvafV10ZXvqQ,4416
327
- warp/thirdparty/unittest_parallel.py,sha256=a1-hEqo_RimsK5ppAoLEuZZSqyCd3RbNF-jAcImc3FU,20933
328
- warp_lang-0.11.0.dist-info/LICENSE.md,sha256=-oj_azPLVWrkvvTDXjtMSiATqx18KpDmmwXsGmpPSEQ,4110
329
- warp_lang-0.11.0.dist-info/METADATA,sha256=2OivaC3iQ17HlZepW0cerg6meSubljq59MApq9YPoe8,12412
330
- warp_lang-0.11.0.dist-info/WHEEL,sha256=5zIMuEcQBP51tQKLCGHvUIyt6WyXoCqqHwQqkDIOwdw,110
331
- warp_lang-0.11.0.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
332
- warp_lang-0.11.0.dist-info/RECORD,,
408
+ warp/thirdparty/unittest_parallel.py,sha256=q3xAxXZlRPgrkCNrEFeuo9C1_Woe_1hRNukpq-JZ8eQ,21294
409
+ warp_lang-1.0.0.dist-info/LICENSE.md,sha256=u2rc7QfpJDdfpFCupwbH_yOx8P9dUfLmwtI4WicG5DQ,19391
410
+ warp_lang-1.0.0.dist-info/METADATA,sha256=ZVdOuaRHEB5PDMWact5q_lYxsySnsNWmpSXMkryGzvc,23088
411
+ warp_lang-1.0.0.dist-info/WHEEL,sha256=5zIMuEcQBP51tQKLCGHvUIyt6WyXoCqqHwQqkDIOwdw,110
412
+ warp_lang-1.0.0.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
413
+ warp_lang-1.0.0.dist-info/RECORD,,
warp/sim/optimizer.py DELETED
@@ -1,138 +0,0 @@
1
- # Copyright (c) 2022 NVIDIA CORPORATION. All rights reserved.
2
- # NVIDIA CORPORATION and its licensors retain all intellectual property
3
- # and proprietary rights in and to this software, related documentation
4
- # and any modifications thereto. Any use, reproduction, disclosure or
5
- # distribution of this software and related documentation without an express
6
- # license agreement from NVIDIA CORPORATION is strictly prohibited.
7
-
8
- from warp.context import synchronize
9
- import warp as wp
10
-
11
- import numpy as np
12
-
13
-
14
- @wp.kernel
15
- def gd_step(arr_x: wp.array(dtype=float), arr_dfdx: wp.array(dtype=float), alpha: float):
16
- tid = wp.tid()
17
-
18
- x = arr_x[tid]
19
- dfdx = arr_dfdx[tid]
20
-
21
- x = x - dfdx * alpha
22
-
23
- arr_x[tid] = x
24
-
25
-
26
- @wp.kernel
27
- def nesterov1(beta: float, x: wp.array(dtype=float), x_prev: wp.array(dtype=float), y: wp.array(dtype=float)):
28
- tid = wp.tid()
29
-
30
- y[tid] = x[tid] + beta * (x[tid] - x_prev[tid])
31
-
32
-
33
- @wp.kernel
34
- def nesterov2(
35
- alpha: float,
36
- beta: wp.array(dtype=float),
37
- eta: wp.array(dtype=float),
38
- x: wp.array(dtype=float),
39
- x_prev: wp.array(dtype=float),
40
- y: wp.array(dtype=float),
41
- dfdx: wp.array(dtype=float),
42
- ):
43
- # if (eta > 0.0):
44
- # # adaptive restart
45
- # x_prev = x
46
- # b = 0
47
- # else:
48
- # # nesterov update
49
- # x_prev = x
50
- # x = y - alpha*dfdx
51
-
52
- tid = wp.tid()
53
-
54
- x_prev[tid] = x[tid]
55
- x[tid] = y[tid] - alpha * dfdx[tid]
56
-
57
-
58
- def inner(a, b, out):
59
- from warp.utils import array_inner
60
-
61
- array_inner(a, b, out)
62
-
63
-
64
- class Optimizer:
65
- def __init__(self, n, mode, device):
66
- self.n = n
67
- self.mode = mode
68
- self.device = device
69
-
70
- # allocate space for residual buffers
71
- self.dfdx = wp.zeros(n, dtype=float, device=device)
72
-
73
- if mode == "nesterov":
74
- self.x_prev = wp.zeros(n, dtype=float, device=device)
75
- self.y = wp.zeros(n, dtype=float, device=device)
76
- self.eta = wp.zeros(1, dtype=float, device=device)
77
- self.eta_prev = wp.zeros(1, dtype=float, device=device)
78
- self.beta = wp.zeros(1, dtype=int, device=device)
79
-
80
- def solve(self, x, grad_func, max_iters=20, alpha=0.01, report=False):
81
- if report:
82
- stats = {}
83
-
84
- # reset stats
85
- stats["evals"] = 0
86
- stats["residual"] = []
87
-
88
- if self.mode == "gd":
89
- for i in range(max_iters):
90
- # compute residual
91
- grad_func(x, self.dfdx)
92
-
93
- # gradient step
94
- wp.launch(kernel=gd_step, dim=self.n, inputs=[x, self.dfdx, alpha], device=self.device)
95
-
96
- if report:
97
- stats["evals"] += 1
98
-
99
- r = np.linalg.norm(self.dfdx.to("cpu").numpy())
100
- stats["residual"].append(r)
101
-
102
- elif self.mode == "nesterov":
103
- wp.copy(self.x_prev, x)
104
-
105
- # momentum index (reset after restart)
106
- b = 0
107
- for iter in range(max_iters):
108
- beta = (b - 1.0) / (b + 2.0)
109
- b += 1
110
-
111
- # y = x + beta*(x - x_prev)
112
- wp.launch(kernel=nesterov1, dim=self.n, inputs=[beta, x, self.x_prev, self.y], device=self.device)
113
-
114
- # grad
115
- grad_func(self.y, self.dfdx)
116
-
117
- # inner()
118
- # np.dot(dfdx, x - x_prev)
119
-
120
- # x = y - alpha*dfdx
121
- wp.launch(
122
- kernel=nesterov2,
123
- dim=self.n,
124
- inputs=[alpha, None, None, x, self.x_prev, self.y, self.dfdx],
125
- device=self.device,
126
- )
127
-
128
- if report:
129
- stats["evals"] += 1
130
-
131
- r = np.linalg.norm(self.dfdx.to("cpu").numpy())
132
- stats["residual"].append(r)
133
-
134
- else:
135
- raise RuntimeError("Unknown optimizer")
136
-
137
- if report:
138
- print(stats)
@@ -1,36 +0,0 @@
1
- # NVIDIA Source Code License for Warp
2
-
3
- ## 1. Definitions
4
-
5
- “Licensor” means any person or entity that distributes its Work.
6
- “Software” means the original work of authorship made available under this License.
7
- “Work” means the Software and any additions to or derivative works of the Software that are made available under this License.
8
- The terms “reproduce,” “reproduction,” “derivative works,” and “distribution” have the meaning as provided under U.S. copyright law; provided, however, that for the purposes of this License, derivative works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work.
9
- Works, including the Software, are “made available” under this License by including in or with the Work either (a) a copyright notice referencing the applicability of this License to the Work, or (b) a copy of this License.
10
-
11
- ## 2. License Grant
12
-
13
- 2.1 Copyright Grant. Subject to the terms and conditions of this License, each Licensor grants to you a perpetual, worldwide, non-exclusive, royalty-free, copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense and distribute its Work and any resulting derivative works in any form.
14
-
15
- ## 3. Limitations
16
-
17
- 3.1 Redistribution. You may reproduce or distribute the Work only if (a) you do so under this License, (b) you include a complete copy of this License with your distribution, and (c) you retain without modification any copyright, patent, trademark, or attribution notices that are present in the Work.
18
-
19
- 3.2 Derivative Works. You may specify that additional or different terms apply to the use, reproduction, and distribution of your derivative works of the Work (“Your Terms”) only if (a) Your Terms provide that the use limitation in Section 3.3 applies to your derivative works, and (b) you identify the specific derivative works that are subject to Your Terms. Notwithstanding Your Terms, this License (including the redistribution requirements in Section 3.1) will continue to apply to the Work itself.
20
-
21
- 3.3 Use Limitation. The Work and any derivative works thereof only may be used or intended for use non-commercially. Notwithstanding the foregoing, NVIDIA and its affiliates may use the Work and any derivative works commercially. As used herein, “non-commercially” means for research or evaluation purposes only.
22
-
23
- 3.4 Patent Claims. If you bring or threaten to bring a patent claim against any Licensor (including any claim, cross-claim or counterclaim in a lawsuit) to enforce any patents that you allege are infringed by any Work, then your rights under this License from such Licensor (including the grant in Section 2.1) will terminate immediately.
24
-
25
- 3.5 Trademarks. This License does not grant any rights to use any Licensor’s or its affiliates’ names, logos, or trademarks, except as necessary to reproduce the notices described in this License.
26
-
27
- 3.6 Termination. If you violate any term of this License, then your rights under this License (including the grant in Section 2.1) will terminate immediately.
28
-
29
- ## 4. Disclaimer of Warranty.
30
-
31
- THE WORK IS PROVIDED “AS IS” WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OR CONDITIONS OF
32
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT. YOU BEAR THE RISK OF UNDERTAKING ANY ACTIVITIES UNDER THIS LICENSE.
33
-
34
- ## 5. Limitation of Liability.
35
-
36
- EXCEPT AS PROHIBITED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE SHALL ANY LICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATED TO THIS LICENSE, THE USE OR INABILITY TO USE THE WORK (INCLUDING BUT NOT LIMITED TO LOSS OF GOODWILL, BUSINESS INTERRUPTION, LOST PROFITS OR DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY OTHER COMM ERCIAL DAMAGES OR LOSSES), EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.