warp-lang 1.4.2__py3-none-macosx_10_13_universal2.whl → 1.5.1__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 (165) hide show
  1. warp/__init__.py +4 -0
  2. warp/autograd.py +43 -8
  3. warp/bin/libwarp.dylib +0 -0
  4. warp/build.py +21 -2
  5. warp/build_dll.py +23 -6
  6. warp/builtins.py +1819 -7
  7. warp/codegen.py +197 -61
  8. warp/config.py +2 -2
  9. warp/context.py +379 -107
  10. warp/examples/assets/pixel.jpg +0 -0
  11. warp/examples/benchmarks/benchmark_cloth_paddle.py +86 -0
  12. warp/examples/benchmarks/benchmark_gemm.py +121 -0
  13. warp/examples/benchmarks/benchmark_interop_paddle.py +158 -0
  14. warp/examples/benchmarks/benchmark_tile.py +179 -0
  15. warp/examples/fem/example_adaptive_grid.py +37 -10
  16. warp/examples/fem/example_apic_fluid.py +3 -2
  17. warp/examples/fem/example_convection_diffusion_dg.py +4 -5
  18. warp/examples/fem/example_deformed_geometry.py +1 -1
  19. warp/examples/fem/example_diffusion_3d.py +47 -4
  20. warp/examples/fem/example_distortion_energy.py +220 -0
  21. warp/examples/fem/example_magnetostatics.py +127 -85
  22. warp/examples/fem/example_nonconforming_contact.py +5 -5
  23. warp/examples/fem/example_stokes.py +3 -1
  24. warp/examples/fem/example_streamlines.py +12 -19
  25. warp/examples/fem/utils.py +38 -15
  26. warp/examples/sim/example_cloth.py +4 -25
  27. warp/examples/sim/example_quadruped.py +2 -1
  28. warp/examples/tile/example_tile_convolution.py +58 -0
  29. warp/examples/tile/example_tile_fft.py +47 -0
  30. warp/examples/tile/example_tile_filtering.py +105 -0
  31. warp/examples/tile/example_tile_matmul.py +79 -0
  32. warp/examples/tile/example_tile_mlp.py +375 -0
  33. warp/fem/__init__.py +8 -0
  34. warp/fem/cache.py +16 -12
  35. warp/fem/dirichlet.py +1 -1
  36. warp/fem/domain.py +44 -1
  37. warp/fem/field/__init__.py +1 -2
  38. warp/fem/field/field.py +31 -19
  39. warp/fem/field/nodal_field.py +101 -49
  40. warp/fem/field/virtual.py +794 -0
  41. warp/fem/geometry/__init__.py +2 -2
  42. warp/fem/geometry/deformed_geometry.py +3 -105
  43. warp/fem/geometry/element.py +13 -0
  44. warp/fem/geometry/geometry.py +165 -7
  45. warp/fem/geometry/grid_2d.py +3 -6
  46. warp/fem/geometry/grid_3d.py +31 -28
  47. warp/fem/geometry/hexmesh.py +3 -46
  48. warp/fem/geometry/nanogrid.py +3 -2
  49. warp/fem/geometry/{quadmesh_2d.py → quadmesh.py} +280 -159
  50. warp/fem/geometry/tetmesh.py +2 -43
  51. warp/fem/geometry/{trimesh_2d.py → trimesh.py} +354 -186
  52. warp/fem/integrate.py +683 -261
  53. warp/fem/linalg.py +404 -0
  54. warp/fem/operator.py +101 -18
  55. warp/fem/polynomial.py +5 -5
  56. warp/fem/quadrature/quadrature.py +45 -21
  57. warp/fem/space/__init__.py +45 -11
  58. warp/fem/space/basis_function_space.py +451 -0
  59. warp/fem/space/basis_space.py +58 -11
  60. warp/fem/space/function_space.py +146 -5
  61. warp/fem/space/grid_2d_function_space.py +80 -66
  62. warp/fem/space/grid_3d_function_space.py +113 -68
  63. warp/fem/space/hexmesh_function_space.py +96 -108
  64. warp/fem/space/nanogrid_function_space.py +62 -110
  65. warp/fem/space/quadmesh_function_space.py +208 -0
  66. warp/fem/space/shape/__init__.py +45 -7
  67. warp/fem/space/shape/cube_shape_function.py +328 -54
  68. warp/fem/space/shape/shape_function.py +10 -1
  69. warp/fem/space/shape/square_shape_function.py +328 -60
  70. warp/fem/space/shape/tet_shape_function.py +269 -19
  71. warp/fem/space/shape/triangle_shape_function.py +238 -19
  72. warp/fem/space/tetmesh_function_space.py +69 -37
  73. warp/fem/space/topology.py +38 -0
  74. warp/fem/space/trimesh_function_space.py +179 -0
  75. warp/fem/utils.py +6 -331
  76. warp/jax_experimental.py +3 -1
  77. warp/native/array.h +15 -0
  78. warp/native/builtin.h +66 -26
  79. warp/native/bvh.h +4 -0
  80. warp/native/coloring.cpp +604 -0
  81. warp/native/cuda_util.cpp +68 -51
  82. warp/native/cuda_util.h +2 -1
  83. warp/native/fabric.h +8 -0
  84. warp/native/hashgrid.h +4 -0
  85. warp/native/marching.cu +8 -0
  86. warp/native/mat.h +14 -3
  87. warp/native/mathdx.cpp +59 -0
  88. warp/native/mesh.h +4 -0
  89. warp/native/range.h +13 -1
  90. warp/native/reduce.cpp +9 -1
  91. warp/native/reduce.cu +7 -0
  92. warp/native/runlength_encode.cpp +9 -1
  93. warp/native/runlength_encode.cu +7 -1
  94. warp/native/scan.cpp +8 -0
  95. warp/native/scan.cu +8 -0
  96. warp/native/scan.h +8 -1
  97. warp/native/sparse.cpp +8 -0
  98. warp/native/sparse.cu +8 -0
  99. warp/native/temp_buffer.h +7 -0
  100. warp/native/tile.h +1854 -0
  101. warp/native/tile_gemm.h +341 -0
  102. warp/native/tile_reduce.h +210 -0
  103. warp/native/volume_builder.cu +8 -0
  104. warp/native/volume_builder.h +8 -0
  105. warp/native/warp.cpp +10 -2
  106. warp/native/warp.cu +369 -15
  107. warp/native/warp.h +12 -2
  108. warp/optim/adam.py +39 -4
  109. warp/paddle.py +29 -12
  110. warp/render/render_opengl.py +140 -67
  111. warp/sim/graph_coloring.py +292 -0
  112. warp/sim/import_urdf.py +8 -8
  113. warp/sim/integrator_euler.py +4 -2
  114. warp/sim/integrator_featherstone.py +115 -44
  115. warp/sim/integrator_vbd.py +6 -0
  116. warp/sim/model.py +109 -32
  117. warp/sparse.py +1 -1
  118. warp/stubs.py +569 -4
  119. warp/tape.py +12 -7
  120. warp/tests/assets/pixel.npy +0 -0
  121. warp/tests/aux_test_instancing_gc.py +18 -0
  122. warp/tests/test_array.py +39 -0
  123. warp/tests/test_codegen.py +81 -1
  124. warp/tests/test_codegen_instancing.py +30 -0
  125. warp/tests/test_collision.py +110 -0
  126. warp/tests/test_coloring.py +251 -0
  127. warp/tests/test_context.py +34 -0
  128. warp/tests/test_examples.py +21 -5
  129. warp/tests/test_fem.py +453 -113
  130. warp/tests/test_func.py +34 -4
  131. warp/tests/test_generics.py +52 -0
  132. warp/tests/test_iter.py +68 -0
  133. warp/tests/test_lerp.py +13 -87
  134. warp/tests/test_mat_scalar_ops.py +1 -1
  135. warp/tests/test_matmul.py +6 -9
  136. warp/tests/test_matmul_lite.py +6 -11
  137. warp/tests/test_mesh_query_point.py +1 -1
  138. warp/tests/test_module_hashing.py +23 -0
  139. warp/tests/test_overwrite.py +45 -0
  140. warp/tests/test_paddle.py +27 -87
  141. warp/tests/test_print.py +56 -1
  142. warp/tests/test_smoothstep.py +17 -83
  143. warp/tests/test_spatial.py +1 -1
  144. warp/tests/test_static.py +3 -3
  145. warp/tests/test_tile.py +744 -0
  146. warp/tests/test_tile_mathdx.py +144 -0
  147. warp/tests/test_tile_mlp.py +383 -0
  148. warp/tests/test_tile_reduce.py +374 -0
  149. warp/tests/test_tile_shared_memory.py +190 -0
  150. warp/tests/test_vbd.py +12 -20
  151. warp/tests/test_volume.py +43 -0
  152. warp/tests/unittest_suites.py +19 -2
  153. warp/tests/unittest_utils.py +4 -2
  154. warp/types.py +340 -74
  155. warp/utils.py +23 -3
  156. {warp_lang-1.4.2.dist-info → warp_lang-1.5.1.dist-info}/METADATA +32 -7
  157. {warp_lang-1.4.2.dist-info → warp_lang-1.5.1.dist-info}/RECORD +160 -133
  158. {warp_lang-1.4.2.dist-info → warp_lang-1.5.1.dist-info}/WHEEL +1 -1
  159. warp/fem/field/test.py +0 -180
  160. warp/fem/field/trial.py +0 -183
  161. warp/fem/space/collocated_function_space.py +0 -102
  162. warp/fem/space/quadmesh_2d_function_space.py +0 -261
  163. warp/fem/space/trimesh_2d_function_space.py +0 -153
  164. {warp_lang-1.4.2.dist-info → warp_lang-1.5.1.dist-info}/LICENSE.md +0 -0
  165. {warp_lang-1.4.2.dist-info → warp_lang-1.5.1.dist-info}/top_level.txt +0 -0
@@ -165,7 +165,9 @@ def add_example_test(
165
165
 
166
166
  # with wp.ScopedTimer(f"{name}_{sanitize_identifier(device)}"):
167
167
  # Run the script as a subprocess
168
- result = subprocess.run(command, capture_output=True, text=True, env=env_vars, timeout=test_timeout)
168
+ result = subprocess.run(
169
+ command, capture_output=True, text=True, env=env_vars, timeout=test_timeout, check=False
170
+ )
169
171
 
170
172
  # Check the return code (0 is standard for success)
171
173
  test.assertEqual(
@@ -316,7 +318,7 @@ add_example_test(
316
318
  name="sim.example_cloth",
317
319
  devices=test_devices,
318
320
  test_options={"usd_required": True},
319
- test_options_cpu={"num_frames": 10},
321
+ test_options_cpu={"num_frames": 10, "test_timeout": 600},
320
322
  )
321
323
  add_example_test(
322
324
  TestSimExamples, name="sim.example_granular", devices=test_devices, test_options_cpu={"num_frames": 10}
@@ -365,9 +367,15 @@ if check_p2p():
365
367
  add_example_test(
366
368
  TestFemExamples,
367
369
  name="fem.example_apic_fluid",
368
- devices=get_selected_cuda_test_devices(),
370
+ devices=get_selected_cuda_test_devices(mode="basic"),
369
371
  test_options={"num_frames": 5, "voxel_size": 2.0},
370
372
  )
373
+ add_example_test(
374
+ TestFemExamples,
375
+ name="fem.example_adaptive_grid",
376
+ devices=get_selected_cuda_test_devices(mode="basic"),
377
+ test_options={"headless": True, "div_conforming": True},
378
+ )
371
379
 
372
380
  # The following examples do not need CUDA
373
381
  add_example_test(
@@ -390,18 +398,20 @@ add_example_test(
390
398
  name="fem.example_convection_diffusion",
391
399
  devices=test_devices,
392
400
  test_options={"resolution": 20, "headless": True},
401
+ test_options_cpu={"test_timeout": 600},
393
402
  )
394
403
  add_example_test(
395
404
  TestFemExamples,
396
405
  name="fem.example_burgers",
397
406
  devices=test_devices,
398
407
  test_options={"resolution": 20, "num_frames": 25, "degree": 1, "headless": True},
408
+ test_options_cpu={"test_timeout": 600},
399
409
  )
400
410
  add_example_test(
401
411
  TestFemExamples,
402
412
  name="fem.example_convection_diffusion_dg",
403
413
  devices=test_devices,
404
- test_options={"resolution": 20, "num_frames": 25, "mesh": "quad", "headless": True},
414
+ test_options={"resolution": 20, "num_frames": 25, "headless": True},
405
415
  test_options_cpu={"test_timeout": 600},
406
416
  )
407
417
  add_example_test(
@@ -429,9 +439,15 @@ add_example_test(
429
439
  add_example_test(
430
440
  TestFemExamples,
431
441
  name="fem.example_streamlines",
432
- devices=test_devices,
442
+ devices=get_selected_cuda_test_devices(),
433
443
  test_options={"headless": True},
434
444
  )
445
+ add_example_test(
446
+ TestFemExamples,
447
+ name="fem.example_distortion_energy",
448
+ devices=get_selected_cuda_test_devices(),
449
+ test_options={"headless": True, "resolution": 16},
450
+ )
435
451
  add_example_test(
436
452
  TestFemExamples,
437
453
  name="fem.example_magnetostatics",