warp-lang 1.6.0__py3-none-win_amd64.whl → 1.6.2__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 (385) hide show
  1. warp/__init__.py +14 -6
  2. warp/autograd.py +14 -6
  3. warp/bin/warp-clang.dll +0 -0
  4. warp/bin/warp.dll +0 -0
  5. warp/build.py +14 -6
  6. warp/build_dll.py +14 -6
  7. warp/builtins.py +16 -7
  8. warp/codegen.py +24 -9
  9. warp/config.py +79 -27
  10. warp/constants.py +14 -6
  11. warp/context.py +236 -71
  12. warp/dlpack.py +14 -6
  13. warp/examples/__init__.py +14 -6
  14. warp/examples/benchmarks/benchmark_api.py +14 -6
  15. warp/examples/benchmarks/benchmark_cloth.py +14 -6
  16. warp/examples/benchmarks/benchmark_cloth_cupy.py +14 -6
  17. warp/examples/benchmarks/benchmark_cloth_jax.py +14 -6
  18. warp/examples/benchmarks/benchmark_cloth_numba.py +15 -0
  19. warp/examples/benchmarks/benchmark_cloth_numpy.py +14 -6
  20. warp/examples/benchmarks/benchmark_cloth_paddle.py +14 -6
  21. warp/examples/benchmarks/benchmark_cloth_pytorch.py +14 -6
  22. warp/examples/benchmarks/benchmark_cloth_taichi.py +14 -6
  23. warp/examples/benchmarks/benchmark_cloth_warp.py +14 -6
  24. warp/examples/benchmarks/benchmark_gemm.py +82 -48
  25. warp/examples/benchmarks/benchmark_interop_paddle.py +14 -6
  26. warp/examples/benchmarks/benchmark_interop_torch.py +14 -6
  27. warp/examples/benchmarks/benchmark_launches.py +14 -6
  28. warp/examples/browse.py +14 -6
  29. warp/examples/core/example_cupy.py +14 -6
  30. warp/examples/core/example_dem.py +14 -6
  31. warp/examples/core/example_fluid.py +14 -6
  32. warp/examples/core/example_graph_capture.py +14 -6
  33. warp/examples/core/example_marching_cubes.py +15 -7
  34. warp/examples/core/example_mesh.py +15 -7
  35. warp/examples/core/example_mesh_intersect.py +14 -6
  36. warp/examples/core/example_nvdb.py +14 -6
  37. warp/examples/core/example_raycast.py +14 -6
  38. warp/examples/core/example_raymarch.py +14 -6
  39. warp/examples/core/example_render_opengl.py +14 -6
  40. warp/examples/core/example_sph.py +14 -6
  41. warp/examples/core/example_torch.py +14 -6
  42. warp/examples/core/example_wave.py +15 -7
  43. warp/examples/fem/example_adaptive_grid.py +14 -6
  44. warp/examples/fem/example_apic_fluid.py +14 -6
  45. warp/examples/fem/example_burgers.py +14 -6
  46. warp/examples/fem/example_convection_diffusion.py +14 -6
  47. warp/examples/fem/example_convection_diffusion_dg.py +14 -6
  48. warp/examples/fem/example_deformed_geometry.py +14 -6
  49. warp/examples/fem/example_diffusion.py +14 -6
  50. warp/examples/fem/example_diffusion_3d.py +14 -6
  51. warp/examples/fem/example_diffusion_mgpu.py +14 -6
  52. warp/examples/fem/example_distortion_energy.py +14 -6
  53. warp/examples/fem/example_magnetostatics.py +14 -6
  54. warp/examples/fem/example_mixed_elasticity.py +14 -6
  55. warp/examples/fem/example_navier_stokes.py +14 -6
  56. warp/examples/fem/example_nonconforming_contact.py +14 -6
  57. warp/examples/fem/example_stokes.py +14 -6
  58. warp/examples/fem/example_stokes_transfer.py +14 -6
  59. warp/examples/fem/example_streamlines.py +14 -6
  60. warp/examples/fem/utils.py +15 -0
  61. warp/examples/optim/example_bounce.py +14 -6
  62. warp/examples/optim/example_cloth_throw.py +14 -6
  63. warp/examples/optim/example_diffray.py +14 -6
  64. warp/examples/optim/example_drone.py +14 -6
  65. warp/examples/optim/example_inverse_kinematics.py +14 -6
  66. warp/examples/optim/example_inverse_kinematics_torch.py +14 -6
  67. warp/examples/optim/example_softbody_properties.py +14 -6
  68. warp/examples/optim/example_spring_cage.py +14 -6
  69. warp/examples/optim/example_trajectory.py +14 -6
  70. warp/examples/optim/example_walker.py +14 -6
  71. warp/examples/sim/example_cartpole.py +14 -6
  72. warp/examples/sim/example_cloth.py +14 -6
  73. warp/examples/sim/example_cloth_self_contact.py +95 -33
  74. warp/examples/sim/example_granular.py +14 -6
  75. warp/examples/sim/example_granular_collision_sdf.py +14 -6
  76. warp/examples/sim/example_jacobian_ik.py +14 -6
  77. warp/examples/sim/example_particle_chain.py +14 -6
  78. warp/examples/sim/example_quadruped.py +14 -6
  79. warp/examples/sim/example_rigid_chain.py +14 -6
  80. warp/examples/sim/example_rigid_contact.py +14 -6
  81. warp/examples/sim/example_rigid_force.py +14 -6
  82. warp/examples/sim/example_rigid_gyroscopic.py +14 -6
  83. warp/examples/sim/example_rigid_soft_contact.py +14 -6
  84. warp/examples/sim/example_soft_body.py +14 -6
  85. warp/examples/tile/example_tile_cholesky.py +14 -6
  86. warp/examples/tile/example_tile_convolution.py +14 -6
  87. warp/examples/tile/example_tile_fft.py +14 -6
  88. warp/examples/tile/example_tile_filtering.py +14 -6
  89. warp/examples/tile/example_tile_matmul.py +14 -6
  90. warp/examples/tile/example_tile_mlp.py +14 -6
  91. warp/examples/tile/example_tile_nbody.py +40 -21
  92. warp/examples/tile/example_tile_walker.py +14 -6
  93. warp/fabric.py +15 -0
  94. warp/fem/__init__.py +15 -0
  95. warp/fem/adaptivity.py +15 -0
  96. warp/fem/cache.py +15 -0
  97. warp/fem/dirichlet.py +15 -0
  98. warp/fem/domain.py +15 -0
  99. warp/fem/field/__init__.py +15 -0
  100. warp/fem/field/field.py +15 -0
  101. warp/fem/field/nodal_field.py +15 -0
  102. warp/fem/field/restriction.py +15 -0
  103. warp/fem/field/virtual.py +15 -0
  104. warp/fem/geometry/__init__.py +15 -0
  105. warp/fem/geometry/adaptive_nanogrid.py +15 -0
  106. warp/fem/geometry/closest_point.py +15 -0
  107. warp/fem/geometry/deformed_geometry.py +15 -0
  108. warp/fem/geometry/element.py +15 -0
  109. warp/fem/geometry/geometry.py +15 -0
  110. warp/fem/geometry/grid_2d.py +15 -0
  111. warp/fem/geometry/grid_3d.py +15 -0
  112. warp/fem/geometry/hexmesh.py +15 -0
  113. warp/fem/geometry/nanogrid.py +15 -0
  114. warp/fem/geometry/partition.py +15 -0
  115. warp/fem/geometry/quadmesh.py +15 -0
  116. warp/fem/geometry/tetmesh.py +15 -0
  117. warp/fem/geometry/trimesh.py +15 -0
  118. warp/fem/integrate.py +15 -0
  119. warp/fem/linalg.py +15 -0
  120. warp/fem/operator.py +15 -0
  121. warp/fem/polynomial.py +15 -0
  122. warp/fem/quadrature/__init__.py +15 -0
  123. warp/fem/quadrature/pic_quadrature.py +15 -0
  124. warp/fem/quadrature/quadrature.py +15 -0
  125. warp/fem/space/__init__.py +15 -0
  126. warp/fem/space/basis_function_space.py +15 -0
  127. warp/fem/space/basis_space.py +15 -0
  128. warp/fem/space/dof_mapper.py +15 -0
  129. warp/fem/space/function_space.py +15 -0
  130. warp/fem/space/grid_2d_function_space.py +15 -0
  131. warp/fem/space/grid_3d_function_space.py +15 -0
  132. warp/fem/space/hexmesh_function_space.py +15 -0
  133. warp/fem/space/nanogrid_function_space.py +15 -0
  134. warp/fem/space/partition.py +15 -0
  135. warp/fem/space/quadmesh_function_space.py +15 -0
  136. warp/fem/space/restriction.py +15 -0
  137. warp/fem/space/shape/__init__.py +15 -0
  138. warp/fem/space/shape/cube_shape_function.py +15 -0
  139. warp/fem/space/shape/shape_function.py +15 -0
  140. warp/fem/space/shape/square_shape_function.py +15 -0
  141. warp/fem/space/shape/tet_shape_function.py +15 -0
  142. warp/fem/space/shape/triangle_shape_function.py +15 -0
  143. warp/fem/space/tetmesh_function_space.py +15 -0
  144. warp/fem/space/topology.py +15 -0
  145. warp/fem/space/trimesh_function_space.py +15 -0
  146. warp/fem/types.py +15 -0
  147. warp/fem/utils.py +15 -0
  148. warp/jax.py +14 -6
  149. warp/jax_experimental.py +14 -6
  150. warp/math.py +14 -6
  151. warp/native/array.h +15 -6
  152. warp/native/builtin.h +15 -6
  153. warp/native/bvh.cpp +15 -6
  154. warp/native/bvh.cu +15 -6
  155. warp/native/bvh.h +15 -6
  156. warp/native/clang/clang.cpp +16 -7
  157. warp/native/coloring.cpp +15 -6
  158. warp/native/crt.cpp +15 -6
  159. warp/native/crt.h +16 -6
  160. warp/native/cuda_crt.h +15 -6
  161. warp/native/cuda_util.cpp +15 -6
  162. warp/native/cuda_util.h +15 -6
  163. warp/native/cutlass_gemm.cpp +15 -6
  164. warp/native/cutlass_gemm.cu +16 -7
  165. warp/native/error.cpp +15 -6
  166. warp/native/error.h +15 -6
  167. warp/native/exports.h +17 -0
  168. warp/native/fabric.h +15 -6
  169. warp/native/hashgrid.cpp +15 -6
  170. warp/native/hashgrid.cu +15 -6
  171. warp/native/hashgrid.h +15 -6
  172. warp/native/initializer_array.h +15 -6
  173. warp/native/intersect.h +15 -6
  174. warp/native/intersect_adj.h +15 -6
  175. warp/native/intersect_tri.h +17 -0
  176. warp/native/marching.cpp +16 -0
  177. warp/native/marching.cu +15 -6
  178. warp/native/marching.h +17 -0
  179. warp/native/mat.h +31 -9
  180. warp/native/mathdx.cpp +15 -6
  181. warp/native/matnn.h +15 -6
  182. warp/native/mesh.cpp +15 -6
  183. warp/native/mesh.cu +15 -6
  184. warp/native/mesh.h +15 -6
  185. warp/native/noise.h +15 -6
  186. warp/native/quat.h +15 -6
  187. warp/native/rand.h +15 -6
  188. warp/native/range.h +15 -6
  189. warp/native/reduce.cpp +15 -6
  190. warp/native/reduce.cu +15 -6
  191. warp/native/runlength_encode.cpp +15 -6
  192. warp/native/runlength_encode.cu +15 -6
  193. warp/native/scan.cpp +15 -6
  194. warp/native/scan.cu +15 -6
  195. warp/native/scan.h +15 -6
  196. warp/native/solid_angle.h +17 -0
  197. warp/native/sort.cpp +15 -6
  198. warp/native/sort.cu +15 -6
  199. warp/native/sort.h +15 -6
  200. warp/native/sparse.cpp +15 -6
  201. warp/native/sparse.cu +15 -6
  202. warp/native/spatial.h +15 -6
  203. warp/native/svd.h +15 -6
  204. warp/native/temp_buffer.h +15 -6
  205. warp/native/tile.h +27 -14
  206. warp/native/tile_reduce.h +15 -6
  207. warp/native/vec.h +15 -6
  208. warp/native/volume.cpp +15 -6
  209. warp/native/volume.cu +15 -6
  210. warp/native/volume.h +15 -6
  211. warp/native/volume_builder.cu +15 -6
  212. warp/native/volume_builder.h +15 -6
  213. warp/native/volume_impl.h +15 -6
  214. warp/native/warp.cpp +15 -6
  215. warp/native/warp.cu +15 -6
  216. warp/native/warp.h +15 -6
  217. warp/optim/__init__.py +14 -6
  218. warp/optim/adam.py +14 -6
  219. warp/optim/linear.py +15 -0
  220. warp/optim/sgd.py +14 -6
  221. warp/paddle.py +14 -6
  222. warp/render/__init__.py +14 -6
  223. warp/render/render_opengl.py +37 -21
  224. warp/render/render_usd.py +24 -8
  225. warp/render/utils.py +14 -6
  226. warp/sim/__init__.py +14 -7
  227. warp/sim/articulation.py +14 -6
  228. warp/sim/collide.py +43 -22
  229. warp/sim/graph_coloring.py +14 -6
  230. warp/sim/import_mjcf.py +14 -7
  231. warp/sim/import_snu.py +14 -7
  232. warp/sim/import_urdf.py +34 -11
  233. warp/sim/import_usd.py +14 -7
  234. warp/sim/inertia.py +14 -6
  235. warp/sim/integrator.py +14 -6
  236. warp/sim/integrator_euler.py +14 -6
  237. warp/sim/integrator_featherstone.py +18 -17
  238. warp/sim/integrator_vbd.py +15 -6
  239. warp/sim/integrator_xpbd.py +14 -6
  240. warp/sim/model.py +76 -65
  241. warp/sim/particles.py +14 -6
  242. warp/sim/render.py +16 -8
  243. warp/sim/utils.py +15 -0
  244. warp/sparse.py +15 -0
  245. warp/stubs.py +16 -1
  246. warp/tape.py +14 -6
  247. warp/tests/__main__.py +15 -0
  248. warp/tests/aux_test_class_kernel.py +14 -6
  249. warp/tests/aux_test_compile_consts_dummy.py +14 -6
  250. warp/tests/aux_test_conditional_unequal_types_kernels.py +14 -6
  251. warp/tests/aux_test_dependent.py +14 -6
  252. warp/tests/aux_test_grad_customs.py +14 -6
  253. warp/tests/aux_test_instancing_gc.py +14 -6
  254. warp/tests/aux_test_module_unload.py +14 -6
  255. warp/tests/aux_test_name_clash1.py +14 -6
  256. warp/tests/aux_test_name_clash2.py +14 -6
  257. warp/tests/aux_test_unresolved_func.py +14 -6
  258. warp/tests/aux_test_unresolved_symbol.py +14 -6
  259. warp/tests/disabled_kinematics.py +14 -6
  260. warp/tests/flaky_test_sim_grad.py +14 -6
  261. warp/tests/run_coverage_serial.py +14 -6
  262. warp/tests/test_adam.py +14 -6
  263. warp/tests/test_arithmetic.py +14 -6
  264. warp/tests/test_array.py +40 -6
  265. warp/tests/test_array_reduce.py +14 -6
  266. warp/tests/test_assert.py +14 -6
  267. warp/tests/test_async.py +14 -6
  268. warp/tests/test_atomic.py +14 -6
  269. warp/tests/test_bool.py +14 -6
  270. warp/tests/test_builtins_resolution.py +14 -6
  271. warp/tests/test_bvh.py +14 -6
  272. warp/tests/test_closest_point_edge_edge.py +14 -6
  273. warp/tests/test_codegen.py +14 -6
  274. warp/tests/test_codegen_instancing.py +14 -6
  275. warp/tests/test_collision.py +20 -12
  276. warp/tests/test_coloring.py +14 -7
  277. warp/tests/test_compile_consts.py +14 -6
  278. warp/tests/test_conditional.py +14 -6
  279. warp/tests/test_context.py +14 -6
  280. warp/tests/test_copy.py +14 -6
  281. warp/tests/test_ctypes.py +14 -6
  282. warp/tests/test_dense.py +14 -6
  283. warp/tests/test_devices.py +14 -6
  284. warp/tests/test_dlpack.py +14 -6
  285. warp/tests/test_examples.py +21 -7
  286. warp/tests/test_fabricarray.py +14 -6
  287. warp/tests/test_fast_math.py +14 -6
  288. warp/tests/test_fem.py +14 -6
  289. warp/tests/test_fp16.py +14 -6
  290. warp/tests/test_func.py +14 -6
  291. warp/tests/test_future_annotations.py +14 -6
  292. warp/tests/test_generics.py +14 -6
  293. warp/tests/test_grad.py +14 -6
  294. warp/tests/test_grad_customs.py +14 -6
  295. warp/tests/test_grad_debug.py +14 -6
  296. warp/tests/test_hash_grid.py +14 -6
  297. warp/tests/test_implicit_init.py +14 -6
  298. warp/tests/test_import.py +14 -6
  299. warp/tests/test_indexedarray.py +14 -6
  300. warp/tests/test_intersect.py +14 -6
  301. warp/tests/test_ipc.py +14 -6
  302. warp/tests/test_iter.py +14 -6
  303. warp/tests/test_jax.py +14 -6
  304. warp/tests/test_large.py +14 -6
  305. warp/tests/test_launch.py +91 -32
  306. warp/tests/test_lerp.py +14 -6
  307. warp/tests/test_linear_solvers.py +15 -0
  308. warp/tests/test_lvalue.py +14 -6
  309. warp/tests/test_marching_cubes.py +14 -6
  310. warp/tests/test_mat.py +89 -7
  311. warp/tests/test_mat_lite.py +14 -6
  312. warp/tests/test_mat_scalar_ops.py +14 -6
  313. warp/tests/test_math.py +14 -6
  314. warp/tests/test_matmul.py +14 -6
  315. warp/tests/test_matmul_lite.py +14 -6
  316. warp/tests/test_mempool.py +14 -6
  317. warp/tests/test_mesh.py +14 -6
  318. warp/tests/test_mesh_query_aabb.py +14 -6
  319. warp/tests/test_mesh_query_point.py +14 -6
  320. warp/tests/test_mesh_query_ray.py +14 -6
  321. warp/tests/test_mlp.py +14 -6
  322. warp/tests/test_model.py +14 -6
  323. warp/tests/test_module_hashing.py +14 -6
  324. warp/tests/test_modules_lite.py +14 -6
  325. warp/tests/test_multigpu.py +14 -6
  326. warp/tests/test_noise.py +14 -6
  327. warp/tests/test_operators.py +14 -6
  328. warp/tests/test_options.py +14 -6
  329. warp/tests/test_overwrite.py +19 -3
  330. warp/tests/test_paddle.py +14 -6
  331. warp/tests/test_peer.py +14 -6
  332. warp/tests/test_pinned.py +14 -6
  333. warp/tests/test_print.py +14 -6
  334. warp/tests/test_quat.py +14 -6
  335. warp/tests/test_rand.py +14 -6
  336. warp/tests/test_reload.py +14 -6
  337. warp/tests/test_rounding.py +14 -6
  338. warp/tests/test_runlength_encode.py +14 -6
  339. warp/tests/test_scalar_ops.py +14 -6
  340. warp/tests/test_sim_grad_bounce_linear.py +14 -6
  341. warp/tests/test_sim_kinematics.py +14 -6
  342. warp/tests/test_smoothstep.py +14 -6
  343. warp/tests/test_snippet.py +15 -0
  344. warp/tests/test_sparse.py +14 -6
  345. warp/tests/test_spatial.py +14 -6
  346. warp/tests/test_special_values.py +14 -6
  347. warp/tests/test_static.py +14 -6
  348. warp/tests/test_streams.py +14 -6
  349. warp/tests/test_struct.py +14 -6
  350. warp/tests/test_tape.py +14 -6
  351. warp/tests/test_tile.py +14 -6
  352. warp/tests/test_tile_load.py +58 -7
  353. warp/tests/test_tile_mathdx.py +14 -6
  354. warp/tests/test_tile_mlp.py +14 -6
  355. warp/tests/test_tile_reduce.py +14 -6
  356. warp/tests/test_tile_shared_memory.py +14 -6
  357. warp/tests/test_tile_view.py +14 -6
  358. warp/tests/test_torch.py +14 -6
  359. warp/tests/test_transient_module.py +14 -6
  360. warp/tests/test_triangle_closest_point.py +14 -6
  361. warp/tests/test_types.py +14 -6
  362. warp/tests/test_utils.py +14 -6
  363. warp/tests/test_vbd.py +14 -6
  364. warp/tests/test_vec.py +14 -6
  365. warp/tests/test_vec_lite.py +14 -6
  366. warp/tests/test_vec_scalar_ops.py +14 -6
  367. warp/tests/test_verify_fp.py +14 -6
  368. warp/tests/test_volume.py +14 -6
  369. warp/tests/test_volume_write.py +14 -6
  370. warp/tests/unittest_serial.py +14 -6
  371. warp/tests/unittest_suites.py +14 -6
  372. warp/tests/unittest_utils.py +14 -6
  373. warp/tests/unused_test_misc.py +14 -6
  374. warp/tests/walkthrough_debug.py +14 -6
  375. warp/thirdparty/unittest_parallel.py +15 -7
  376. warp/torch.py +14 -6
  377. warp/types.py +80 -74
  378. warp/utils.py +14 -6
  379. warp_lang-1.6.2.dist-info/LICENSE.md +202 -0
  380. {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/METADATA +44 -22
  381. warp_lang-1.6.2.dist-info/RECORD +419 -0
  382. {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/WHEEL +1 -1
  383. warp_lang-1.6.0.dist-info/LICENSE.md +0 -126
  384. warp_lang-1.6.0.dist-info/RECORD +0 -419
  385. {warp_lang-1.6.0.dist-info → warp_lang-1.6.2.dist-info}/top_level.txt +0 -0
warp/__init__.py CHANGED
@@ -1,9 +1,17 @@
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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  # isort: skip_file
9
17
 
warp/autograd.py CHANGED
@@ -1,9 +1,17 @@
1
- # Copyright (c) 2024 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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  import inspect
9
17
  import itertools
warp/bin/warp-clang.dll CHANGED
Binary file
warp/bin/warp.dll CHANGED
Binary file
warp/build.py CHANGED
@@ -1,9 +1,17 @@
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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  import ctypes
9
17
  import os
warp/build_dll.py CHANGED
@@ -1,9 +1,17 @@
1
- # Copyright (c) 2023 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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  import os
9
17
  import platform
warp/builtins.py CHANGED
@@ -1,9 +1,18 @@
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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
7
16
  import builtins
8
17
  import functools
9
18
  import tempfile
@@ -4173,7 +4182,7 @@ add_builtin(
4173
4182
  input_types={"state": uint32},
4174
4183
  value_type=int,
4175
4184
  group="Random",
4176
- doc="Return a random integer in the range [0, 2^32).",
4185
+ doc="Return a random integer in the range [-2^31, 2^31).",
4177
4186
  )
4178
4187
  add_builtin(
4179
4188
  "randi",
warp/codegen.py CHANGED
@@ -1,9 +1,17 @@
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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  from __future__ import annotations
9
17
 
@@ -2278,15 +2286,22 @@ class Adjoint:
2278
2286
  out = adj.add_call(func, args, kwargs, type_args, min_outputs=min_outputs)
2279
2287
 
2280
2288
  if warp.config.verify_autograd_array_access:
2289
+ # Extract the types and values passed as arguments to the function call.
2290
+ arg_types = tuple(strip_reference(get_arg_type(x)) for x in args)
2291
+ kwarg_types = {k: strip_reference(get_arg_type(v)) for k, v in kwargs.items()}
2292
+
2293
+ # Resolve the exact function signature among any existing overload.
2294
+ resolved_func = adj.resolve_func(func, arg_types, kwarg_types, min_outputs)
2295
+
2281
2296
  # update arg read/write states according to what happens to that arg in the called function
2282
- if hasattr(func, "adj"):
2297
+ if hasattr(resolved_func, "adj"):
2283
2298
  for i, arg in enumerate(args):
2284
- if func.adj.args[i].is_write:
2299
+ if resolved_func.adj.args[i].is_write:
2285
2300
  kernel_name = adj.fun_name
2286
2301
  filename = adj.filename
2287
2302
  lineno = adj.lineno + adj.fun_lineno
2288
2303
  arg.mark_write(kernel_name=kernel_name, filename=filename, lineno=lineno)
2289
- if func.adj.args[i].is_read:
2304
+ if resolved_func.adj.args[i].is_read:
2290
2305
  arg.mark_read()
2291
2306
 
2292
2307
  return out
warp/config.py CHANGED
@@ -1,70 +1,122 @@
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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  from typing import Optional
9
17
 
10
- version: str = "1.6.0"
18
+ version: str = "1.6.2"
11
19
  """Warp version string"""
12
20
 
13
21
  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.
22
+ """Enable floating-point verification for inputs and outputs.
23
+
24
+ When enabled, checks if all values are finite before and after operations.
25
+
26
+ Note: Enabling this flag impacts performance.
16
27
  """
17
28
 
18
29
  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.
30
+ """Enable CUDA error checking after kernel launches.
31
+
32
+ This setting cannot be used during graph capture
33
+
34
+ Note: Enabling this flag impacts performance
21
35
  """
22
36
 
23
37
  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
38
+ """Enable detailed kernel launch logging.
39
+
40
+ Prints information about each kernel launch including:
41
+
42
+ - Launch dimensions
43
+ - Input/output parameters
44
+ - Target device
45
+
46
+ Note: Enabling this flag impacts performance.
26
47
  """
27
48
 
28
49
  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.
50
+ """Compilation mode for Warp kernels.
51
+
52
+ Args:
53
+ mode: Either ``"release"`` or ``"debug"``.
54
+
55
+ Note: Debug mode may impact performance.
31
56
  """
32
57
 
33
58
  verbose: bool = False
34
- """If `True`, additional information will be printed to standard out during code generation, compilation, etc."""
59
+ """Enable detailed logging during code generation and compilation."""
35
60
 
36
61
  verbose_warnings: bool = False
37
- """If `True`, Warp warnings will include extra information such as the source file and line number."""
62
+ """Enable extended warning messages with source location information."""
38
63
 
39
64
  quiet: bool = False
40
- """Suppress all output except errors and warnings."""
65
+ """Disable Warp module initialization messages.
66
+
67
+ Error messages and warnings remain unaffected.
68
+ """
41
69
 
42
70
  verify_autograd_array_access: bool = False
43
- """print warnings related to array overwrites that may result in incorrect gradients"""
71
+ """Enable warnings for array overwrites that may affect gradient computation."""
72
+
73
+ enable_vector_component_overwrites: bool = False
74
+ """Allow multiple writes to vector/matrix/quaternion components.
75
+
76
+ Note: Enabling this may significantly increase kernel compilation time.
77
+ """
44
78
 
45
79
  cache_kernels: bool = True
46
- """If `True`, kernels that have already been compiled from previous application launches will not be recompiled."""
80
+ """Enable kernel caching between application launches."""
47
81
 
48
82
  kernel_cache_dir: Optional[str] = None
49
- """Path to kernel cache directory, if `None`, a default path will be used."""
83
+ """Directory path for storing compiled kernel cache.
84
+
85
+ If ``None``, the path is determined in the following order:
86
+
87
+ 1. ``WARP_CACHE_PATH`` environment variable.
88
+ 2. System's user cache directory (via ``appdirs.user_cache_directory``).
89
+
90
+ Note: Subdirectories prefixed with ``wp_`` will be created in this location.
91
+ """
50
92
 
51
93
  cuda_output: Optional[str] = None
52
- """Preferred CUDA output format for kernels (`"ptx"` or `"cubin"`), determined automatically if unspecified"""
94
+ """Preferred CUDA output format for kernel compilation.
95
+
96
+ Args:
97
+ cuda_output: One of {``None``, ``"ptx"``, ``"cubin"``}. If ``None``, format is auto-determined.
98
+ """
53
99
 
54
100
  ptx_target_arch: int = 75
55
- """Target architecture for PTX generation, defaults to the lowest architecture that supports all of Warp's features."""
101
+ """Target architecture version for PTX generation.
102
+
103
+ Defaults to minimum architecture version supporting all Warp features.
104
+ """
56
105
 
57
106
  enable_backward: bool = True
58
- """Whether to compiler the backward passes of the kernels."""
107
+ """Enable compilation of kernel backward passes."""
59
108
 
60
109
  llvm_cuda: bool = False
61
- """Use Clang/LLVM instead of NVRTC to compile CUDA."""
110
+ """Use Clang/LLVM compiler instead of NVRTC for CUDA compilation."""
62
111
 
63
112
  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."""
113
+ """Enable automatic module loading before graph capture.
114
+
115
+ Only affects systems with CUDA driver versions below 12.3.
116
+ """
65
117
 
66
118
  enable_mempools_at_init: bool = True
67
- """Whether CUDA devices will be initialized with mempools enabled (if supported)."""
119
+ """Enable CUDA memory pools during device initialization when supported."""
68
120
 
69
121
  max_unroll: int = 16
70
122
  """Maximum unroll factor for loops."""
warp/constants.py CHANGED
@@ -1,9 +1,17 @@
1
- # Copyright (c) 2023 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.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
7
15
 
8
16
  import math
9
17