warp-lang 1.5.1__py3-none-win_amd64.whl → 1.6.1__py3-none-win_amd64.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 (131) hide show
  1. warp/__init__.py +5 -0
  2. warp/autograd.py +414 -191
  3. warp/bin/warp-clang.dll +0 -0
  4. warp/bin/warp.dll +0 -0
  5. warp/build.py +40 -12
  6. warp/build_dll.py +13 -6
  7. warp/builtins.py +1077 -481
  8. warp/codegen.py +250 -122
  9. warp/config.py +65 -21
  10. warp/context.py +500 -149
  11. warp/examples/assets/square_cloth.usd +0 -0
  12. warp/examples/benchmarks/benchmark_gemm.py +27 -18
  13. warp/examples/benchmarks/benchmark_interop_paddle.py +3 -3
  14. warp/examples/benchmarks/benchmark_interop_torch.py +3 -3
  15. warp/examples/core/example_marching_cubes.py +1 -1
  16. warp/examples/core/example_mesh.py +1 -1
  17. warp/examples/core/example_torch.py +18 -34
  18. warp/examples/core/example_wave.py +1 -1
  19. warp/examples/fem/example_apic_fluid.py +1 -0
  20. warp/examples/fem/example_mixed_elasticity.py +1 -1
  21. warp/examples/optim/example_bounce.py +1 -1
  22. warp/examples/optim/example_cloth_throw.py +1 -1
  23. warp/examples/optim/example_diffray.py +4 -15
  24. warp/examples/optim/example_drone.py +1 -1
  25. warp/examples/optim/example_softbody_properties.py +392 -0
  26. warp/examples/optim/example_trajectory.py +1 -3
  27. warp/examples/optim/example_walker.py +5 -0
  28. warp/examples/sim/example_cartpole.py +0 -2
  29. warp/examples/sim/example_cloth_self_contact.py +314 -0
  30. warp/examples/sim/example_granular_collision_sdf.py +4 -5
  31. warp/examples/sim/example_jacobian_ik.py +0 -2
  32. warp/examples/sim/example_quadruped.py +5 -2
  33. warp/examples/tile/example_tile_cholesky.py +79 -0
  34. warp/examples/tile/example_tile_convolution.py +2 -2
  35. warp/examples/tile/example_tile_fft.py +2 -2
  36. warp/examples/tile/example_tile_filtering.py +3 -3
  37. warp/examples/tile/example_tile_matmul.py +4 -4
  38. warp/examples/tile/example_tile_mlp.py +12 -12
  39. warp/examples/tile/example_tile_nbody.py +191 -0
  40. warp/examples/tile/example_tile_walker.py +319 -0
  41. warp/math.py +147 -0
  42. warp/native/array.h +12 -0
  43. warp/native/builtin.h +0 -1
  44. warp/native/bvh.cpp +149 -70
  45. warp/native/bvh.cu +287 -68
  46. warp/native/bvh.h +195 -85
  47. warp/native/clang/clang.cpp +6 -2
  48. warp/native/crt.h +1 -0
  49. warp/native/cuda_util.cpp +35 -0
  50. warp/native/cuda_util.h +5 -0
  51. warp/native/exports.h +40 -40
  52. warp/native/intersect.h +17 -0
  53. warp/native/mat.h +57 -3
  54. warp/native/mathdx.cpp +19 -0
  55. warp/native/mesh.cpp +25 -8
  56. warp/native/mesh.cu +153 -101
  57. warp/native/mesh.h +482 -403
  58. warp/native/quat.h +40 -0
  59. warp/native/solid_angle.h +7 -0
  60. warp/native/sort.cpp +85 -0
  61. warp/native/sort.cu +34 -0
  62. warp/native/sort.h +3 -1
  63. warp/native/spatial.h +11 -0
  64. warp/native/tile.h +1189 -664
  65. warp/native/tile_reduce.h +8 -6
  66. warp/native/vec.h +41 -0
  67. warp/native/warp.cpp +8 -1
  68. warp/native/warp.cu +263 -40
  69. warp/native/warp.h +19 -5
  70. warp/optim/linear.py +22 -4
  71. warp/render/render_opengl.py +132 -59
  72. warp/render/render_usd.py +10 -2
  73. warp/sim/__init__.py +6 -1
  74. warp/sim/collide.py +289 -32
  75. warp/sim/import_urdf.py +20 -5
  76. warp/sim/integrator_euler.py +25 -7
  77. warp/sim/integrator_featherstone.py +147 -35
  78. warp/sim/integrator_vbd.py +842 -40
  79. warp/sim/model.py +173 -112
  80. warp/sim/render.py +2 -2
  81. warp/stubs.py +249 -116
  82. warp/tape.py +28 -30
  83. warp/tests/aux_test_module_unload.py +15 -0
  84. warp/tests/{test_sim_grad.py → flaky_test_sim_grad.py} +104 -63
  85. warp/tests/test_array.py +100 -0
  86. warp/tests/test_assert.py +242 -0
  87. warp/tests/test_codegen.py +14 -61
  88. warp/tests/test_collision.py +8 -8
  89. warp/tests/test_examples.py +16 -1
  90. warp/tests/test_grad_debug.py +87 -2
  91. warp/tests/test_hash_grid.py +1 -1
  92. warp/tests/test_ipc.py +116 -0
  93. warp/tests/test_launch.py +77 -26
  94. warp/tests/test_mat.py +213 -168
  95. warp/tests/test_math.py +47 -1
  96. warp/tests/test_matmul.py +11 -7
  97. warp/tests/test_matmul_lite.py +4 -4
  98. warp/tests/test_mesh.py +84 -60
  99. warp/tests/test_mesh_query_aabb.py +165 -0
  100. warp/tests/test_mesh_query_point.py +328 -286
  101. warp/tests/test_mesh_query_ray.py +134 -121
  102. warp/tests/test_mlp.py +2 -2
  103. warp/tests/test_operators.py +43 -0
  104. warp/tests/test_overwrite.py +6 -5
  105. warp/tests/test_quat.py +77 -0
  106. warp/tests/test_reload.py +29 -0
  107. warp/tests/test_sim_grad_bounce_linear.py +204 -0
  108. warp/tests/test_static.py +16 -0
  109. warp/tests/test_tape.py +25 -0
  110. warp/tests/test_tile.py +134 -191
  111. warp/tests/test_tile_load.py +399 -0
  112. warp/tests/test_tile_mathdx.py +61 -8
  113. warp/tests/test_tile_mlp.py +17 -17
  114. warp/tests/test_tile_reduce.py +24 -18
  115. warp/tests/test_tile_shared_memory.py +66 -17
  116. warp/tests/test_tile_view.py +165 -0
  117. warp/tests/test_torch.py +35 -0
  118. warp/tests/test_utils.py +36 -24
  119. warp/tests/test_vec.py +110 -0
  120. warp/tests/unittest_suites.py +29 -4
  121. warp/tests/unittest_utils.py +30 -11
  122. warp/thirdparty/unittest_parallel.py +5 -2
  123. warp/types.py +419 -111
  124. warp/utils.py +9 -5
  125. {warp_lang-1.5.1.dist-info → warp_lang-1.6.1.dist-info}/METADATA +86 -45
  126. {warp_lang-1.5.1.dist-info → warp_lang-1.6.1.dist-info}/RECORD +129 -118
  127. {warp_lang-1.5.1.dist-info → warp_lang-1.6.1.dist-info}/WHEEL +1 -1
  128. warp/examples/benchmarks/benchmark_tile.py +0 -179
  129. warp/native/tile_gemm.h +0 -341
  130. {warp_lang-1.5.1.dist-info → warp_lang-1.6.1.dist-info}/LICENSE.md +0 -0
  131. {warp_lang-1.5.1.dist-info → warp_lang-1.6.1.dist-info}/top_level.txt +0 -0
warp/config.py CHANGED
@@ -7,64 +7,108 @@
7
7
 
8
8
  from typing import Optional
9
9
 
10
- version: str = "1.5.1"
10
+ version: str = "1.6.1"
11
11
  """Warp version string"""
12
12
 
13
13
  verify_fp: bool = False
14
- """If `True`, Warp will check that inputs and outputs are finite before and/or after various operations.
15
- Has performance implications.
14
+ """Enable floating-point verification for inputs and outputs.
15
+
16
+ When enabled, checks if all values are finite before and after operations.
17
+
18
+ Note: Enabling this flag impacts performance.
16
19
  """
17
20
 
18
21
  verify_cuda: bool = False
19
- """If `True`, Warp will check for CUDA errors after every launch operation.
20
- CUDA error verification cannot be used during graph capture. Has performance implications.
22
+ """Enable CUDA error checking after kernel launches.
23
+
24
+ This setting cannot be used during graph capture
25
+
26
+ Note: Enabling this flag impacts performance
21
27
  """
22
28
 
23
29
  print_launches: bool = False
24
- """If `True`, Warp will print details of every kernel launch to standard out
25
- (e.g. launch dimensions, inputs, outputs, device, etc.). Has performance implications
30
+ """Enable detailed kernel launch logging.
31
+
32
+ Prints information about each kernel launch including:
33
+
34
+ - Launch dimensions
35
+ - Input/output parameters
36
+ - Target device
37
+
38
+ Note: Enabling this flag impacts performance.
26
39
  """
27
40
 
28
41
  mode: str = "release"
29
- """Controls whether to compile Warp kernels in debug or release mode.
30
- Valid choices are `"release"` or `"debug"`. Has performance implications.
42
+ """Compilation mode for Warp kernels.
43
+
44
+ Args:
45
+ mode: Either ``"release"`` or ``"debug"``.
46
+
47
+ Note: Debug mode may impact performance.
31
48
  """
32
49
 
33
50
  verbose: bool = False
34
- """If `True`, additional information will be printed to standard out during code generation, compilation, etc."""
51
+ """Enable detailed logging during code generation and compilation."""
35
52
 
36
53
  verbose_warnings: bool = False
37
- """If `True`, Warp warnings will include extra information such as the source file and line number."""
54
+ """Enable extended warning messages with source location information."""
38
55
 
39
56
  quiet: bool = False
40
- """Suppress all output except errors and warnings."""
57
+ """Disable Warp module initialization messages.
58
+
59
+ Error messages and warnings remain unaffected.
60
+ """
41
61
 
42
62
  verify_autograd_array_access: bool = False
43
- """print warnings related to array overwrites that may result in incorrect gradients"""
63
+ """Enable warnings for array overwrites that may affect gradient computation."""
64
+
65
+ enable_vector_component_overwrites: bool = False
66
+ """Allow multiple writes to vector/matrix/quaternion components.
67
+
68
+ Note: Enabling this may significantly increase kernel compilation time.
69
+ """
44
70
 
45
71
  cache_kernels: bool = True
46
- """If `True`, kernels that have already been compiled from previous application launches will not be recompiled."""
72
+ """Enable kernel caching between application launches."""
47
73
 
48
74
  kernel_cache_dir: Optional[str] = None
49
- """Path to kernel cache directory, if `None`, a default path will be used."""
75
+ """Directory path for storing compiled kernel cache.
76
+
77
+ If ``None``, the path is determined in the following order:
78
+
79
+ 1. ``WARP_CACHE_PATH`` environment variable.
80
+ 2. System's user cache directory (via ``appdirs.user_cache_directory``).
81
+
82
+ Note: Subdirectories prefixed with ``wp_`` will be created in this location.
83
+ """
50
84
 
51
85
  cuda_output: Optional[str] = None
52
- """Preferred CUDA output format for kernels (`"ptx"` or `"cubin"`), determined automatically if unspecified"""
86
+ """Preferred CUDA output format for kernel compilation.
87
+
88
+ Args:
89
+ cuda_output: One of {``None``, ``"ptx"``, ``"cubin"``}. If ``None``, format is auto-determined.
90
+ """
53
91
 
54
92
  ptx_target_arch: int = 75
55
- """Target architecture for PTX generation, defaults to the lowest architecture that supports all of Warp's features."""
93
+ """Target architecture version for PTX generation.
94
+
95
+ Defaults to minimum architecture version supporting all Warp features.
96
+ """
56
97
 
57
98
  enable_backward: bool = True
58
- """Whether to compiler the backward passes of the kernels."""
99
+ """Enable compilation of kernel backward passes."""
59
100
 
60
101
  llvm_cuda: bool = False
61
- """Use Clang/LLVM instead of NVRTC to compile CUDA."""
102
+ """Use Clang/LLVM compiler instead of NVRTC for CUDA compilation."""
62
103
 
63
104
  enable_graph_capture_module_load_by_default: bool = True
64
- """Default value of `force_module_load` for `capture_begin()` if CUDA driver does not support at least CUDA 12.3."""
105
+ """Enable automatic module loading before graph capture.
106
+
107
+ Only affects systems with CUDA driver versions below 12.3.
108
+ """
65
109
 
66
110
  enable_mempools_at_init: bool = True
67
- """Whether CUDA devices will be initialized with mempools enabled (if supported)."""
111
+ """Enable CUDA memory pools during device initialization when supported."""
68
112
 
69
113
  max_unroll: int = 16
70
114
  """Maximum unroll factor for loops."""