warp-lang 1.10.0__py3-none-macosx_11_0_arm64.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 (468) hide show
  1. warp/__init__.py +334 -0
  2. warp/__init__.pyi +5856 -0
  3. warp/_src/__init__.py +14 -0
  4. warp/_src/autograd.py +1077 -0
  5. warp/_src/build.py +620 -0
  6. warp/_src/build_dll.py +642 -0
  7. warp/_src/builtins.py +10555 -0
  8. warp/_src/codegen.py +4361 -0
  9. warp/_src/config.py +178 -0
  10. warp/_src/constants.py +59 -0
  11. warp/_src/context.py +8352 -0
  12. warp/_src/dlpack.py +464 -0
  13. warp/_src/fabric.py +362 -0
  14. warp/_src/fem/__init__.py +14 -0
  15. warp/_src/fem/adaptivity.py +510 -0
  16. warp/_src/fem/cache.py +689 -0
  17. warp/_src/fem/dirichlet.py +190 -0
  18. warp/_src/fem/domain.py +553 -0
  19. warp/_src/fem/field/__init__.py +131 -0
  20. warp/_src/fem/field/field.py +703 -0
  21. warp/_src/fem/field/nodal_field.py +403 -0
  22. warp/_src/fem/field/restriction.py +39 -0
  23. warp/_src/fem/field/virtual.py +1021 -0
  24. warp/_src/fem/geometry/__init__.py +32 -0
  25. warp/_src/fem/geometry/adaptive_nanogrid.py +782 -0
  26. warp/_src/fem/geometry/closest_point.py +99 -0
  27. warp/_src/fem/geometry/deformed_geometry.py +277 -0
  28. warp/_src/fem/geometry/element.py +854 -0
  29. warp/_src/fem/geometry/geometry.py +693 -0
  30. warp/_src/fem/geometry/grid_2d.py +478 -0
  31. warp/_src/fem/geometry/grid_3d.py +539 -0
  32. warp/_src/fem/geometry/hexmesh.py +956 -0
  33. warp/_src/fem/geometry/nanogrid.py +660 -0
  34. warp/_src/fem/geometry/partition.py +483 -0
  35. warp/_src/fem/geometry/quadmesh.py +597 -0
  36. warp/_src/fem/geometry/tetmesh.py +762 -0
  37. warp/_src/fem/geometry/trimesh.py +588 -0
  38. warp/_src/fem/integrate.py +2507 -0
  39. warp/_src/fem/linalg.py +385 -0
  40. warp/_src/fem/operator.py +398 -0
  41. warp/_src/fem/polynomial.py +231 -0
  42. warp/_src/fem/quadrature/__init__.py +17 -0
  43. warp/_src/fem/quadrature/pic_quadrature.py +318 -0
  44. warp/_src/fem/quadrature/quadrature.py +665 -0
  45. warp/_src/fem/space/__init__.py +248 -0
  46. warp/_src/fem/space/basis_function_space.py +499 -0
  47. warp/_src/fem/space/basis_space.py +681 -0
  48. warp/_src/fem/space/dof_mapper.py +253 -0
  49. warp/_src/fem/space/function_space.py +312 -0
  50. warp/_src/fem/space/grid_2d_function_space.py +179 -0
  51. warp/_src/fem/space/grid_3d_function_space.py +229 -0
  52. warp/_src/fem/space/hexmesh_function_space.py +255 -0
  53. warp/_src/fem/space/nanogrid_function_space.py +199 -0
  54. warp/_src/fem/space/partition.py +435 -0
  55. warp/_src/fem/space/quadmesh_function_space.py +222 -0
  56. warp/_src/fem/space/restriction.py +221 -0
  57. warp/_src/fem/space/shape/__init__.py +152 -0
  58. warp/_src/fem/space/shape/cube_shape_function.py +1107 -0
  59. warp/_src/fem/space/shape/shape_function.py +134 -0
  60. warp/_src/fem/space/shape/square_shape_function.py +928 -0
  61. warp/_src/fem/space/shape/tet_shape_function.py +829 -0
  62. warp/_src/fem/space/shape/triangle_shape_function.py +674 -0
  63. warp/_src/fem/space/tetmesh_function_space.py +270 -0
  64. warp/_src/fem/space/topology.py +461 -0
  65. warp/_src/fem/space/trimesh_function_space.py +193 -0
  66. warp/_src/fem/types.py +114 -0
  67. warp/_src/fem/utils.py +488 -0
  68. warp/_src/jax.py +188 -0
  69. warp/_src/jax_experimental/__init__.py +14 -0
  70. warp/_src/jax_experimental/custom_call.py +389 -0
  71. warp/_src/jax_experimental/ffi.py +1286 -0
  72. warp/_src/jax_experimental/xla_ffi.py +658 -0
  73. warp/_src/marching_cubes.py +710 -0
  74. warp/_src/math.py +416 -0
  75. warp/_src/optim/__init__.py +14 -0
  76. warp/_src/optim/adam.py +165 -0
  77. warp/_src/optim/linear.py +1608 -0
  78. warp/_src/optim/sgd.py +114 -0
  79. warp/_src/paddle.py +408 -0
  80. warp/_src/render/__init__.py +14 -0
  81. warp/_src/render/imgui_manager.py +291 -0
  82. warp/_src/render/render_opengl.py +3638 -0
  83. warp/_src/render/render_usd.py +939 -0
  84. warp/_src/render/utils.py +162 -0
  85. warp/_src/sparse.py +2718 -0
  86. warp/_src/tape.py +1208 -0
  87. warp/_src/thirdparty/__init__.py +0 -0
  88. warp/_src/thirdparty/appdirs.py +598 -0
  89. warp/_src/thirdparty/dlpack.py +145 -0
  90. warp/_src/thirdparty/unittest_parallel.py +676 -0
  91. warp/_src/torch.py +393 -0
  92. warp/_src/types.py +5888 -0
  93. warp/_src/utils.py +1695 -0
  94. warp/autograd.py +33 -0
  95. warp/bin/libwarp-clang.dylib +0 -0
  96. warp/bin/libwarp.dylib +0 -0
  97. warp/build.py +29 -0
  98. warp/build_dll.py +24 -0
  99. warp/codegen.py +24 -0
  100. warp/constants.py +24 -0
  101. warp/context.py +33 -0
  102. warp/dlpack.py +24 -0
  103. warp/examples/__init__.py +24 -0
  104. warp/examples/assets/bear.usd +0 -0
  105. warp/examples/assets/bunny.usd +0 -0
  106. warp/examples/assets/cube.usd +0 -0
  107. warp/examples/assets/nonuniform.usd +0 -0
  108. warp/examples/assets/nvidia_logo.png +0 -0
  109. warp/examples/assets/pixel.jpg +0 -0
  110. warp/examples/assets/rocks.nvdb +0 -0
  111. warp/examples/assets/rocks.usd +0 -0
  112. warp/examples/assets/sphere.usd +0 -0
  113. warp/examples/assets/square_cloth.usd +0 -0
  114. warp/examples/benchmarks/benchmark_api.py +389 -0
  115. warp/examples/benchmarks/benchmark_cloth.py +296 -0
  116. warp/examples/benchmarks/benchmark_cloth_cupy.py +96 -0
  117. warp/examples/benchmarks/benchmark_cloth_jax.py +105 -0
  118. warp/examples/benchmarks/benchmark_cloth_numba.py +161 -0
  119. warp/examples/benchmarks/benchmark_cloth_numpy.py +85 -0
  120. warp/examples/benchmarks/benchmark_cloth_paddle.py +94 -0
  121. warp/examples/benchmarks/benchmark_cloth_pytorch.py +94 -0
  122. warp/examples/benchmarks/benchmark_cloth_taichi.py +120 -0
  123. warp/examples/benchmarks/benchmark_cloth_warp.py +153 -0
  124. warp/examples/benchmarks/benchmark_gemm.py +164 -0
  125. warp/examples/benchmarks/benchmark_interop_paddle.py +166 -0
  126. warp/examples/benchmarks/benchmark_interop_torch.py +166 -0
  127. warp/examples/benchmarks/benchmark_launches.py +301 -0
  128. warp/examples/benchmarks/benchmark_tile_load_store.py +103 -0
  129. warp/examples/benchmarks/benchmark_tile_sort.py +155 -0
  130. warp/examples/browse.py +37 -0
  131. warp/examples/core/example_cupy.py +86 -0
  132. warp/examples/core/example_dem.py +241 -0
  133. warp/examples/core/example_fluid.py +299 -0
  134. warp/examples/core/example_graph_capture.py +150 -0
  135. warp/examples/core/example_marching_cubes.py +195 -0
  136. warp/examples/core/example_mesh.py +180 -0
  137. warp/examples/core/example_mesh_intersect.py +211 -0
  138. warp/examples/core/example_nvdb.py +182 -0
  139. warp/examples/core/example_raycast.py +111 -0
  140. warp/examples/core/example_raymarch.py +205 -0
  141. warp/examples/core/example_render_opengl.py +290 -0
  142. warp/examples/core/example_sample_mesh.py +300 -0
  143. warp/examples/core/example_sph.py +411 -0
  144. warp/examples/core/example_spin_lock.py +93 -0
  145. warp/examples/core/example_torch.py +211 -0
  146. warp/examples/core/example_wave.py +269 -0
  147. warp/examples/core/example_work_queue.py +118 -0
  148. warp/examples/distributed/example_jacobi_mpi.py +506 -0
  149. warp/examples/fem/example_adaptive_grid.py +286 -0
  150. warp/examples/fem/example_apic_fluid.py +469 -0
  151. warp/examples/fem/example_burgers.py +261 -0
  152. warp/examples/fem/example_convection_diffusion.py +181 -0
  153. warp/examples/fem/example_convection_diffusion_dg.py +225 -0
  154. warp/examples/fem/example_darcy_ls_optimization.py +489 -0
  155. warp/examples/fem/example_deformed_geometry.py +172 -0
  156. warp/examples/fem/example_diffusion.py +196 -0
  157. warp/examples/fem/example_diffusion_3d.py +225 -0
  158. warp/examples/fem/example_diffusion_mgpu.py +225 -0
  159. warp/examples/fem/example_distortion_energy.py +228 -0
  160. warp/examples/fem/example_elastic_shape_optimization.py +387 -0
  161. warp/examples/fem/example_magnetostatics.py +242 -0
  162. warp/examples/fem/example_mixed_elasticity.py +293 -0
  163. warp/examples/fem/example_navier_stokes.py +263 -0
  164. warp/examples/fem/example_nonconforming_contact.py +300 -0
  165. warp/examples/fem/example_stokes.py +213 -0
  166. warp/examples/fem/example_stokes_transfer.py +262 -0
  167. warp/examples/fem/example_streamlines.py +357 -0
  168. warp/examples/fem/utils.py +1047 -0
  169. warp/examples/interop/example_jax_callable.py +146 -0
  170. warp/examples/interop/example_jax_ffi_callback.py +132 -0
  171. warp/examples/interop/example_jax_kernel.py +232 -0
  172. warp/examples/optim/example_diffray.py +561 -0
  173. warp/examples/optim/example_fluid_checkpoint.py +497 -0
  174. warp/examples/tile/example_tile_block_cholesky.py +502 -0
  175. warp/examples/tile/example_tile_cholesky.py +88 -0
  176. warp/examples/tile/example_tile_convolution.py +66 -0
  177. warp/examples/tile/example_tile_fft.py +55 -0
  178. warp/examples/tile/example_tile_filtering.py +113 -0
  179. warp/examples/tile/example_tile_matmul.py +85 -0
  180. warp/examples/tile/example_tile_mcgp.py +191 -0
  181. warp/examples/tile/example_tile_mlp.py +385 -0
  182. warp/examples/tile/example_tile_nbody.py +199 -0
  183. warp/fabric.py +24 -0
  184. warp/fem/__init__.py +173 -0
  185. warp/fem/adaptivity.py +26 -0
  186. warp/fem/cache.py +30 -0
  187. warp/fem/dirichlet.py +24 -0
  188. warp/fem/field/__init__.py +24 -0
  189. warp/fem/field/field.py +26 -0
  190. warp/fem/geometry/__init__.py +21 -0
  191. warp/fem/geometry/closest_point.py +31 -0
  192. warp/fem/linalg.py +38 -0
  193. warp/fem/operator.py +32 -0
  194. warp/fem/polynomial.py +29 -0
  195. warp/fem/space/__init__.py +22 -0
  196. warp/fem/space/basis_space.py +24 -0
  197. warp/fem/space/shape/__init__.py +68 -0
  198. warp/fem/space/topology.py +24 -0
  199. warp/fem/types.py +24 -0
  200. warp/fem/utils.py +32 -0
  201. warp/jax.py +29 -0
  202. warp/jax_experimental/__init__.py +29 -0
  203. warp/jax_experimental/custom_call.py +29 -0
  204. warp/jax_experimental/ffi.py +39 -0
  205. warp/jax_experimental/xla_ffi.py +24 -0
  206. warp/marching_cubes.py +24 -0
  207. warp/math.py +37 -0
  208. warp/native/array.h +1687 -0
  209. warp/native/builtin.h +2327 -0
  210. warp/native/bvh.cpp +562 -0
  211. warp/native/bvh.cu +826 -0
  212. warp/native/bvh.h +555 -0
  213. warp/native/clang/clang.cpp +541 -0
  214. warp/native/coloring.cpp +622 -0
  215. warp/native/crt.cpp +51 -0
  216. warp/native/crt.h +568 -0
  217. warp/native/cuda_crt.h +1058 -0
  218. warp/native/cuda_util.cpp +677 -0
  219. warp/native/cuda_util.h +313 -0
  220. warp/native/error.cpp +77 -0
  221. warp/native/error.h +36 -0
  222. warp/native/exports.h +2023 -0
  223. warp/native/fabric.h +246 -0
  224. warp/native/hashgrid.cpp +311 -0
  225. warp/native/hashgrid.cu +89 -0
  226. warp/native/hashgrid.h +240 -0
  227. warp/native/initializer_array.h +41 -0
  228. warp/native/intersect.h +1253 -0
  229. warp/native/intersect_adj.h +375 -0
  230. warp/native/intersect_tri.h +348 -0
  231. warp/native/mat.h +5189 -0
  232. warp/native/mathdx.cpp +93 -0
  233. warp/native/matnn.h +221 -0
  234. warp/native/mesh.cpp +266 -0
  235. warp/native/mesh.cu +406 -0
  236. warp/native/mesh.h +2097 -0
  237. warp/native/nanovdb/GridHandle.h +533 -0
  238. warp/native/nanovdb/HostBuffer.h +591 -0
  239. warp/native/nanovdb/NanoVDB.h +6246 -0
  240. warp/native/nanovdb/NodeManager.h +323 -0
  241. warp/native/nanovdb/PNanoVDB.h +3390 -0
  242. warp/native/noise.h +859 -0
  243. warp/native/quat.h +1664 -0
  244. warp/native/rand.h +342 -0
  245. warp/native/range.h +145 -0
  246. warp/native/reduce.cpp +174 -0
  247. warp/native/reduce.cu +363 -0
  248. warp/native/runlength_encode.cpp +79 -0
  249. warp/native/runlength_encode.cu +61 -0
  250. warp/native/scan.cpp +47 -0
  251. warp/native/scan.cu +55 -0
  252. warp/native/scan.h +23 -0
  253. warp/native/solid_angle.h +466 -0
  254. warp/native/sort.cpp +251 -0
  255. warp/native/sort.cu +286 -0
  256. warp/native/sort.h +35 -0
  257. warp/native/sparse.cpp +241 -0
  258. warp/native/sparse.cu +435 -0
  259. warp/native/spatial.h +1306 -0
  260. warp/native/svd.h +727 -0
  261. warp/native/temp_buffer.h +46 -0
  262. warp/native/tile.h +4124 -0
  263. warp/native/tile_radix_sort.h +1112 -0
  264. warp/native/tile_reduce.h +838 -0
  265. warp/native/tile_scan.h +240 -0
  266. warp/native/tuple.h +189 -0
  267. warp/native/vec.h +2199 -0
  268. warp/native/version.h +23 -0
  269. warp/native/volume.cpp +501 -0
  270. warp/native/volume.cu +68 -0
  271. warp/native/volume.h +970 -0
  272. warp/native/volume_builder.cu +483 -0
  273. warp/native/volume_builder.h +52 -0
  274. warp/native/volume_impl.h +70 -0
  275. warp/native/warp.cpp +1143 -0
  276. warp/native/warp.cu +4604 -0
  277. warp/native/warp.h +358 -0
  278. warp/optim/__init__.py +20 -0
  279. warp/optim/adam.py +24 -0
  280. warp/optim/linear.py +35 -0
  281. warp/optim/sgd.py +24 -0
  282. warp/paddle.py +24 -0
  283. warp/py.typed +0 -0
  284. warp/render/__init__.py +22 -0
  285. warp/render/imgui_manager.py +29 -0
  286. warp/render/render_opengl.py +24 -0
  287. warp/render/render_usd.py +24 -0
  288. warp/render/utils.py +24 -0
  289. warp/sparse.py +51 -0
  290. warp/tape.py +24 -0
  291. warp/tests/__init__.py +1 -0
  292. warp/tests/__main__.py +4 -0
  293. warp/tests/assets/curlnoise_golden.npy +0 -0
  294. warp/tests/assets/mlp_golden.npy +0 -0
  295. warp/tests/assets/pixel.npy +0 -0
  296. warp/tests/assets/pnoise_golden.npy +0 -0
  297. warp/tests/assets/spiky.usd +0 -0
  298. warp/tests/assets/test_grid.nvdb +0 -0
  299. warp/tests/assets/test_index_grid.nvdb +0 -0
  300. warp/tests/assets/test_int32_grid.nvdb +0 -0
  301. warp/tests/assets/test_vec_grid.nvdb +0 -0
  302. warp/tests/assets/torus.nvdb +0 -0
  303. warp/tests/assets/torus.usda +105 -0
  304. warp/tests/aux_test_class_kernel.py +34 -0
  305. warp/tests/aux_test_compile_consts_dummy.py +18 -0
  306. warp/tests/aux_test_conditional_unequal_types_kernels.py +29 -0
  307. warp/tests/aux_test_dependent.py +29 -0
  308. warp/tests/aux_test_grad_customs.py +29 -0
  309. warp/tests/aux_test_instancing_gc.py +26 -0
  310. warp/tests/aux_test_module_aot.py +7 -0
  311. warp/tests/aux_test_module_unload.py +23 -0
  312. warp/tests/aux_test_name_clash1.py +40 -0
  313. warp/tests/aux_test_name_clash2.py +40 -0
  314. warp/tests/aux_test_reference.py +9 -0
  315. warp/tests/aux_test_reference_reference.py +8 -0
  316. warp/tests/aux_test_square.py +16 -0
  317. warp/tests/aux_test_unresolved_func.py +22 -0
  318. warp/tests/aux_test_unresolved_symbol.py +22 -0
  319. warp/tests/cuda/__init__.py +0 -0
  320. warp/tests/cuda/test_async.py +676 -0
  321. warp/tests/cuda/test_conditional_captures.py +1147 -0
  322. warp/tests/cuda/test_ipc.py +124 -0
  323. warp/tests/cuda/test_mempool.py +233 -0
  324. warp/tests/cuda/test_multigpu.py +169 -0
  325. warp/tests/cuda/test_peer.py +139 -0
  326. warp/tests/cuda/test_pinned.py +84 -0
  327. warp/tests/cuda/test_streams.py +691 -0
  328. warp/tests/geometry/__init__.py +0 -0
  329. warp/tests/geometry/test_bvh.py +335 -0
  330. warp/tests/geometry/test_hash_grid.py +259 -0
  331. warp/tests/geometry/test_marching_cubes.py +294 -0
  332. warp/tests/geometry/test_mesh.py +318 -0
  333. warp/tests/geometry/test_mesh_query_aabb.py +392 -0
  334. warp/tests/geometry/test_mesh_query_point.py +935 -0
  335. warp/tests/geometry/test_mesh_query_ray.py +323 -0
  336. warp/tests/geometry/test_volume.py +1103 -0
  337. warp/tests/geometry/test_volume_write.py +346 -0
  338. warp/tests/interop/__init__.py +0 -0
  339. warp/tests/interop/test_dlpack.py +730 -0
  340. warp/tests/interop/test_jax.py +1673 -0
  341. warp/tests/interop/test_paddle.py +800 -0
  342. warp/tests/interop/test_torch.py +1001 -0
  343. warp/tests/run_coverage_serial.py +39 -0
  344. warp/tests/test_adam.py +162 -0
  345. warp/tests/test_arithmetic.py +1096 -0
  346. warp/tests/test_array.py +3756 -0
  347. warp/tests/test_array_reduce.py +156 -0
  348. warp/tests/test_assert.py +303 -0
  349. warp/tests/test_atomic.py +336 -0
  350. warp/tests/test_atomic_bitwise.py +209 -0
  351. warp/tests/test_atomic_cas.py +312 -0
  352. warp/tests/test_bool.py +220 -0
  353. warp/tests/test_builtins_resolution.py +732 -0
  354. warp/tests/test_closest_point_edge_edge.py +327 -0
  355. warp/tests/test_codegen.py +974 -0
  356. warp/tests/test_codegen_instancing.py +1495 -0
  357. warp/tests/test_compile_consts.py +215 -0
  358. warp/tests/test_conditional.py +298 -0
  359. warp/tests/test_context.py +35 -0
  360. warp/tests/test_copy.py +319 -0
  361. warp/tests/test_ctypes.py +618 -0
  362. warp/tests/test_dense.py +73 -0
  363. warp/tests/test_devices.py +127 -0
  364. warp/tests/test_enum.py +136 -0
  365. warp/tests/test_examples.py +424 -0
  366. warp/tests/test_fabricarray.py +998 -0
  367. warp/tests/test_fast_math.py +72 -0
  368. warp/tests/test_fem.py +2204 -0
  369. warp/tests/test_fixedarray.py +229 -0
  370. warp/tests/test_fp16.py +136 -0
  371. warp/tests/test_func.py +501 -0
  372. warp/tests/test_future_annotations.py +100 -0
  373. warp/tests/test_generics.py +656 -0
  374. warp/tests/test_grad.py +893 -0
  375. warp/tests/test_grad_customs.py +339 -0
  376. warp/tests/test_grad_debug.py +341 -0
  377. warp/tests/test_implicit_init.py +411 -0
  378. warp/tests/test_import.py +45 -0
  379. warp/tests/test_indexedarray.py +1140 -0
  380. warp/tests/test_intersect.py +103 -0
  381. warp/tests/test_iter.py +76 -0
  382. warp/tests/test_large.py +177 -0
  383. warp/tests/test_launch.py +411 -0
  384. warp/tests/test_lerp.py +151 -0
  385. warp/tests/test_linear_solvers.py +223 -0
  386. warp/tests/test_lvalue.py +427 -0
  387. warp/tests/test_map.py +526 -0
  388. warp/tests/test_mat.py +3515 -0
  389. warp/tests/test_mat_assign_copy.py +178 -0
  390. warp/tests/test_mat_constructors.py +573 -0
  391. warp/tests/test_mat_lite.py +122 -0
  392. warp/tests/test_mat_scalar_ops.py +2913 -0
  393. warp/tests/test_math.py +212 -0
  394. warp/tests/test_module_aot.py +287 -0
  395. warp/tests/test_module_hashing.py +258 -0
  396. warp/tests/test_modules_lite.py +70 -0
  397. warp/tests/test_noise.py +252 -0
  398. warp/tests/test_operators.py +299 -0
  399. warp/tests/test_options.py +129 -0
  400. warp/tests/test_overwrite.py +551 -0
  401. warp/tests/test_print.py +408 -0
  402. warp/tests/test_quat.py +2653 -0
  403. warp/tests/test_quat_assign_copy.py +145 -0
  404. warp/tests/test_rand.py +339 -0
  405. warp/tests/test_reload.py +303 -0
  406. warp/tests/test_rounding.py +157 -0
  407. warp/tests/test_runlength_encode.py +196 -0
  408. warp/tests/test_scalar_ops.py +133 -0
  409. warp/tests/test_smoothstep.py +108 -0
  410. warp/tests/test_snippet.py +318 -0
  411. warp/tests/test_sparse.py +845 -0
  412. warp/tests/test_spatial.py +2859 -0
  413. warp/tests/test_spatial_assign_copy.py +160 -0
  414. warp/tests/test_special_values.py +361 -0
  415. warp/tests/test_static.py +640 -0
  416. warp/tests/test_struct.py +901 -0
  417. warp/tests/test_tape.py +242 -0
  418. warp/tests/test_transient_module.py +93 -0
  419. warp/tests/test_triangle_closest_point.py +192 -0
  420. warp/tests/test_tuple.py +361 -0
  421. warp/tests/test_types.py +615 -0
  422. warp/tests/test_utils.py +594 -0
  423. warp/tests/test_vec.py +1408 -0
  424. warp/tests/test_vec_assign_copy.py +143 -0
  425. warp/tests/test_vec_constructors.py +325 -0
  426. warp/tests/test_vec_lite.py +80 -0
  427. warp/tests/test_vec_scalar_ops.py +2327 -0
  428. warp/tests/test_verify_fp.py +100 -0
  429. warp/tests/test_version.py +75 -0
  430. warp/tests/tile/__init__.py +0 -0
  431. warp/tests/tile/test_tile.py +1519 -0
  432. warp/tests/tile/test_tile_atomic_bitwise.py +403 -0
  433. warp/tests/tile/test_tile_cholesky.py +608 -0
  434. warp/tests/tile/test_tile_load.py +724 -0
  435. warp/tests/tile/test_tile_mathdx.py +156 -0
  436. warp/tests/tile/test_tile_matmul.py +179 -0
  437. warp/tests/tile/test_tile_mlp.py +400 -0
  438. warp/tests/tile/test_tile_reduce.py +950 -0
  439. warp/tests/tile/test_tile_shared_memory.py +376 -0
  440. warp/tests/tile/test_tile_sort.py +121 -0
  441. warp/tests/tile/test_tile_view.py +173 -0
  442. warp/tests/unittest_serial.py +47 -0
  443. warp/tests/unittest_suites.py +430 -0
  444. warp/tests/unittest_utils.py +469 -0
  445. warp/tests/walkthrough_debug.py +95 -0
  446. warp/torch.py +24 -0
  447. warp/types.py +51 -0
  448. warp/utils.py +31 -0
  449. warp_lang-1.10.0.dist-info/METADATA +459 -0
  450. warp_lang-1.10.0.dist-info/RECORD +468 -0
  451. warp_lang-1.10.0.dist-info/WHEEL +5 -0
  452. warp_lang-1.10.0.dist-info/licenses/LICENSE.md +176 -0
  453. warp_lang-1.10.0.dist-info/licenses/licenses/Gaia-LICENSE.txt +6 -0
  454. warp_lang-1.10.0.dist-info/licenses/licenses/appdirs-LICENSE.txt +22 -0
  455. warp_lang-1.10.0.dist-info/licenses/licenses/asset_pixel_jpg-LICENSE.txt +3 -0
  456. warp_lang-1.10.0.dist-info/licenses/licenses/cuda-LICENSE.txt +1582 -0
  457. warp_lang-1.10.0.dist-info/licenses/licenses/dlpack-LICENSE.txt +201 -0
  458. warp_lang-1.10.0.dist-info/licenses/licenses/fp16-LICENSE.txt +28 -0
  459. warp_lang-1.10.0.dist-info/licenses/licenses/libmathdx-LICENSE.txt +220 -0
  460. warp_lang-1.10.0.dist-info/licenses/licenses/llvm-LICENSE.txt +279 -0
  461. warp_lang-1.10.0.dist-info/licenses/licenses/moller-LICENSE.txt +16 -0
  462. warp_lang-1.10.0.dist-info/licenses/licenses/nanovdb-LICENSE.txt +2 -0
  463. warp_lang-1.10.0.dist-info/licenses/licenses/nvrtc-LICENSE.txt +1592 -0
  464. warp_lang-1.10.0.dist-info/licenses/licenses/svd-LICENSE.txt +23 -0
  465. warp_lang-1.10.0.dist-info/licenses/licenses/unittest_parallel-LICENSE.txt +21 -0
  466. warp_lang-1.10.0.dist-info/licenses/licenses/usd-LICENSE.txt +213 -0
  467. warp_lang-1.10.0.dist-info/licenses/licenses/windingnumber-LICENSE.txt +21 -0
  468. warp_lang-1.10.0.dist-info/top_level.txt +1 -0
warp/__init__.py ADDED
@@ -0,0 +1,334 @@
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
+
16
+ # isort: skip_file
17
+
18
+ from warp._src.types import array as array
19
+ from warp._src.types import array1d as array1d
20
+ from warp._src.types import array2d as array2d
21
+ from warp._src.types import array3d as array3d
22
+ from warp._src.types import array4d as array4d
23
+ from warp._src.types import constant as constant
24
+ from warp._src.types import from_ptr as from_ptr
25
+ from warp._src.types import fixedarray as fixedarray
26
+ from warp._src.types import indexedarray as indexedarray
27
+ from warp._src.types import indexedarray1d as indexedarray1d
28
+ from warp._src.types import indexedarray2d as indexedarray2d
29
+ from warp._src.types import indexedarray3d as indexedarray3d
30
+ from warp._src.types import indexedarray4d as indexedarray4d
31
+ from warp._src.fabric import fabricarray as fabricarray
32
+ from warp._src.fabric import fabricarrayarray as fabricarrayarray
33
+ from warp._src.fabric import indexedfabricarray as indexedfabricarray
34
+ from warp._src.fabric import indexedfabricarrayarray as indexedfabricarrayarray
35
+ from warp._src.types import tile as tile
36
+
37
+ from warp._src.types import bool as bool
38
+ from warp._src.types import int8 as int8
39
+ from warp._src.types import uint8 as uint8
40
+ from warp._src.types import int16 as int16
41
+ from warp._src.types import uint16 as uint16
42
+ from warp._src.types import int32 as int32
43
+ from warp._src.types import uint32 as uint32
44
+ from warp._src.types import int64 as int64
45
+ from warp._src.types import uint64 as uint64
46
+ from warp._src.types import float16 as float16
47
+ from warp._src.types import float32 as float32
48
+ from warp._src.types import float64 as float64
49
+
50
+ from warp._src.types import vec2 as vec2
51
+ from warp._src.types import vec2b as vec2b
52
+ from warp._src.types import vec2ub as vec2ub
53
+ from warp._src.types import vec2s as vec2s
54
+ from warp._src.types import vec2us as vec2us
55
+ from warp._src.types import vec2i as vec2i
56
+ from warp._src.types import vec2ui as vec2ui
57
+ from warp._src.types import vec2l as vec2l
58
+ from warp._src.types import vec2ul as vec2ul
59
+ from warp._src.types import vec2h as vec2h
60
+ from warp._src.types import vec2f as vec2f
61
+ from warp._src.types import vec2d as vec2d
62
+
63
+ from warp._src.types import vec3 as vec3
64
+ from warp._src.types import vec3b as vec3b
65
+ from warp._src.types import vec3ub as vec3ub
66
+ from warp._src.types import vec3s as vec3s
67
+ from warp._src.types import vec3us as vec3us
68
+ from warp._src.types import vec3i as vec3i
69
+ from warp._src.types import vec3ui as vec3ui
70
+ from warp._src.types import vec3l as vec3l
71
+ from warp._src.types import vec3ul as vec3ul
72
+ from warp._src.types import vec3h as vec3h
73
+ from warp._src.types import vec3f as vec3f
74
+ from warp._src.types import vec3d as vec3d
75
+
76
+ from warp._src.types import vec4 as vec4
77
+ from warp._src.types import vec4b as vec4b
78
+ from warp._src.types import vec4ub as vec4ub
79
+ from warp._src.types import vec4s as vec4s
80
+ from warp._src.types import vec4us as vec4us
81
+ from warp._src.types import vec4i as vec4i
82
+ from warp._src.types import vec4ui as vec4ui
83
+ from warp._src.types import vec4l as vec4l
84
+ from warp._src.types import vec4ul as vec4ul
85
+ from warp._src.types import vec4h as vec4h
86
+ from warp._src.types import vec4f as vec4f
87
+ from warp._src.types import vec4d as vec4d
88
+
89
+ from warp._src.types import mat22 as mat22
90
+ from warp._src.types import mat22h as mat22h
91
+ from warp._src.types import mat22f as mat22f
92
+ from warp._src.types import mat22d as mat22d
93
+
94
+ from warp._src.types import mat33 as mat33
95
+ from warp._src.types import mat33h as mat33h
96
+ from warp._src.types import mat33f as mat33f
97
+ from warp._src.types import mat33d as mat33d
98
+
99
+ from warp._src.types import mat44 as mat44
100
+ from warp._src.types import mat44h as mat44h
101
+ from warp._src.types import mat44f as mat44f
102
+ from warp._src.types import mat44d as mat44d
103
+
104
+ from warp._src.types import quat as quat
105
+ from warp._src.types import quath as quath
106
+ from warp._src.types import quatf as quatf
107
+ from warp._src.types import quatd as quatd
108
+
109
+ from warp._src.types import transform as transform
110
+ from warp._src.types import transformh as transformh
111
+ from warp._src.types import transformf as transformf
112
+ from warp._src.types import transformd as transformd
113
+
114
+ from warp._src.types import spatial_vector as spatial_vector
115
+ from warp._src.types import spatial_vectorh as spatial_vectorh
116
+ from warp._src.types import spatial_vectorf as spatial_vectorf
117
+ from warp._src.types import spatial_vectord as spatial_vectord
118
+
119
+ from warp._src.types import spatial_matrix as spatial_matrix
120
+ from warp._src.types import spatial_matrixh as spatial_matrixh
121
+ from warp._src.types import spatial_matrixf as spatial_matrixf
122
+ from warp._src.types import spatial_matrixd as spatial_matrixd
123
+
124
+ # annotation types
125
+ from warp._src.types import Int as Int
126
+ from warp._src.types import Float as Float
127
+ from warp._src.types import Scalar as Scalar
128
+
129
+ # geometry types
130
+ from warp._src.types import Bvh as Bvh
131
+ from warp._src.types import Mesh as Mesh
132
+ from warp._src.types import HashGrid as HashGrid
133
+ from warp._src.types import Volume as Volume
134
+ from warp._src.types import BvhQuery as BvhQuery
135
+ from warp._src.types import HashGridQuery as HashGridQuery
136
+ from warp._src.types import MeshQueryAABB as MeshQueryAABB
137
+ from warp._src.types import MeshQueryPoint as MeshQueryPoint
138
+ from warp._src.types import MeshQueryRay as MeshQueryRay
139
+
140
+ # discouraged, users should use wp.types.vector, wp.types.matrix
141
+ from warp._src.types import vector as vec
142
+ from warp._src.types import matrix as mat
143
+
144
+ # matrix construction
145
+ from warp._src.types import matrix_from_cols as matrix_from_cols
146
+ from warp._src.types import matrix_from_rows as matrix_from_rows
147
+
148
+ # numpy interop
149
+ from warp._src.types import dtype_from_numpy as dtype_from_numpy
150
+ from warp._src.types import dtype_to_numpy as dtype_to_numpy
151
+
152
+ # ipc interop
153
+ from warp._src.types import from_ipc_handle as from_ipc_handle
154
+
155
+ from warp._src.context import init as init
156
+ from warp._src.context import func as func
157
+ from warp._src.context import func_grad as func_grad
158
+ from warp._src.context import func_replay as func_replay
159
+ from warp._src.context import func_native as func_native
160
+ from warp._src.context import kernel as kernel
161
+ from warp._src.context import struct as struct
162
+ from warp._src.context import overload as overload
163
+
164
+ from warp._src.context import is_cpu_available as is_cpu_available
165
+ from warp._src.context import is_cuda_available as is_cuda_available
166
+ from warp._src.context import is_device_available as is_device_available
167
+ from warp._src.context import get_cuda_supported_archs as get_cuda_supported_archs
168
+ from warp._src.context import get_devices as get_devices
169
+ from warp._src.context import get_preferred_device as get_preferred_device
170
+ from warp._src.context import get_cuda_devices as get_cuda_devices
171
+ from warp._src.context import get_cuda_device_count as get_cuda_device_count
172
+ from warp._src.context import get_cuda_device as get_cuda_device
173
+ from warp._src.context import map_cuda_device as map_cuda_device
174
+ from warp._src.context import unmap_cuda_device as unmap_cuda_device
175
+ from warp._src.context import get_device as get_device
176
+ from warp._src.context import set_device as set_device
177
+ from warp._src.context import synchronize_device as synchronize_device
178
+
179
+ # tensor creation
180
+ from warp._src.context import zeros as zeros
181
+ from warp._src.context import zeros_like as zeros_like
182
+ from warp._src.context import ones as ones
183
+ from warp._src.context import ones_like as ones_like
184
+ from warp._src.context import full as full
185
+ from warp._src.context import full_like as full_like
186
+ from warp._src.context import clone as clone
187
+ from warp._src.context import empty as empty
188
+ from warp._src.context import empty_like as empty_like
189
+ from warp._src.context import copy as copy
190
+ from warp._src.context import from_numpy as from_numpy
191
+
192
+ from warp._src.context import launch as launch
193
+ from warp._src.context import launch_tiled as launch_tiled
194
+ from warp._src.context import synchronize as synchronize
195
+ from warp._src.context import compile_aot_module as compile_aot_module
196
+ from warp._src.context import force_load as force_load
197
+ from warp._src.context import load_module as load_module
198
+ from warp._src.context import load_aot_module as load_aot_module
199
+ from warp._src.context import event_from_ipc_handle as event_from_ipc_handle
200
+
201
+ from warp._src.context import set_module_options as set_module_options
202
+ from warp._src.context import get_module_options as get_module_options
203
+ from warp._src.context import get_module as get_module
204
+
205
+ from warp._src.context import capture_begin as capture_begin
206
+ from warp._src.context import capture_end as capture_end
207
+ from warp._src.context import capture_launch as capture_launch
208
+ from warp._src.context import capture_if as capture_if
209
+ from warp._src.context import capture_while as capture_while
210
+ from warp._src.context import capture_debug_dot_print as capture_debug_dot_print
211
+
212
+ from warp._src.context import Kernel as Kernel
213
+ from warp._src.context import Function as Function
214
+ from warp._src.context import Launch as Launch
215
+
216
+ from warp._src.context import Stream as Stream
217
+ from warp._src.context import get_stream as get_stream
218
+ from warp._src.context import set_stream as set_stream
219
+ from warp._src.context import wait_stream as wait_stream
220
+ from warp._src.context import synchronize_stream as synchronize_stream
221
+
222
+ from warp._src.context import Event as Event
223
+ from warp._src.context import record_event as record_event
224
+ from warp._src.context import wait_event as wait_event
225
+ from warp._src.context import synchronize_event as synchronize_event
226
+ from warp._src.context import get_event_elapsed_time as get_event_elapsed_time
227
+
228
+ from warp._src.context import RegisteredGLBuffer as RegisteredGLBuffer
229
+
230
+ from warp._src.context import is_mempool_supported as is_mempool_supported
231
+ from warp._src.context import is_mempool_enabled as is_mempool_enabled
232
+ from warp._src.context import set_mempool_enabled as set_mempool_enabled
233
+
234
+ from warp._src.context import set_mempool_release_threshold as set_mempool_release_threshold
235
+ from warp._src.context import get_mempool_release_threshold as get_mempool_release_threshold
236
+ from warp._src.context import get_mempool_used_mem_current as get_mempool_used_mem_current
237
+ from warp._src.context import get_mempool_used_mem_high as get_mempool_used_mem_high
238
+
239
+ from warp._src.context import is_mempool_access_supported as is_mempool_access_supported
240
+ from warp._src.context import is_mempool_access_enabled as is_mempool_access_enabled
241
+ from warp._src.context import set_mempool_access_enabled as set_mempool_access_enabled
242
+
243
+ from warp._src.context import is_peer_access_supported as is_peer_access_supported
244
+ from warp._src.context import is_peer_access_enabled as is_peer_access_enabled
245
+ from warp._src.context import set_peer_access_enabled as set_peer_access_enabled
246
+
247
+ from warp._src.tape import Tape as Tape
248
+
249
+ from warp._src.utils import ScopedTimer as ScopedTimer
250
+ from warp._src.utils import ScopedDevice as ScopedDevice
251
+ from warp._src.utils import ScopedStream as ScopedStream
252
+ from warp._src.utils import ScopedMempool as ScopedMempool
253
+ from warp._src.utils import ScopedMempoolAccess as ScopedMempoolAccess
254
+ from warp._src.utils import ScopedPeerAccess as ScopedPeerAccess
255
+ from warp._src.utils import ScopedCapture as ScopedCapture
256
+
257
+ from warp._src.utils import transform_expand as transform_expand
258
+ from warp._src.utils import quat_between_vectors as quat_between_vectors
259
+
260
+ from warp._src.utils import TimingResult as TimingResult
261
+ from warp._src.utils import timing_begin as timing_begin
262
+ from warp._src.utils import timing_end as timing_end
263
+ from warp._src.utils import timing_print as timing_print
264
+
265
+ from warp._src.utils import TIMING_KERNEL as TIMING_KERNEL
266
+ from warp._src.utils import TIMING_KERNEL_BUILTIN as TIMING_KERNEL_BUILTIN
267
+ from warp._src.utils import TIMING_MEMCPY as TIMING_MEMCPY
268
+ from warp._src.utils import TIMING_MEMSET as TIMING_MEMSET
269
+ from warp._src.utils import TIMING_GRAPH as TIMING_GRAPH
270
+ from warp._src.utils import TIMING_ALL as TIMING_ALL
271
+
272
+ from warp._src.utils import map as map
273
+
274
+ from warp._src.marching_cubes import MarchingCubes as MarchingCubes
275
+
276
+ from warp._src.torch import from_torch as from_torch
277
+ from warp._src.torch import to_torch as to_torch
278
+ from warp._src.torch import dtype_from_torch as dtype_from_torch
279
+ from warp._src.torch import dtype_to_torch as dtype_to_torch
280
+ from warp._src.torch import device_from_torch as device_from_torch
281
+ from warp._src.torch import device_to_torch as device_to_torch
282
+ from warp._src.torch import stream_from_torch as stream_from_torch
283
+ from warp._src.torch import stream_to_torch as stream_to_torch
284
+
285
+ from warp._src.jax import from_jax as from_jax
286
+ from warp._src.jax import to_jax as to_jax
287
+ from warp._src.jax import dtype_from_jax as dtype_from_jax
288
+ from warp._src.jax import dtype_to_jax as dtype_to_jax
289
+ from warp._src.jax import device_from_jax as device_from_jax
290
+ from warp._src.jax import device_to_jax as device_to_jax
291
+
292
+ from warp._src.dlpack import from_dlpack as from_dlpack
293
+ from warp._src.dlpack import to_dlpack as to_dlpack
294
+
295
+ from warp._src.paddle import from_paddle as from_paddle
296
+ from warp._src.paddle import to_paddle as to_paddle
297
+ from warp._src.paddle import dtype_from_paddle as dtype_from_paddle
298
+ from warp._src.paddle import dtype_to_paddle as dtype_to_paddle
299
+ from warp._src.paddle import device_from_paddle as device_from_paddle
300
+ from warp._src.paddle import device_to_paddle as device_to_paddle
301
+ from warp._src.paddle import stream_from_paddle as stream_from_paddle
302
+
303
+ from warp._src.build import clear_kernel_cache as clear_kernel_cache
304
+ from warp._src.build import clear_lto_cache as clear_lto_cache
305
+
306
+ from warp._src.builtins import static as static
307
+
308
+ from warp._src.constants import *
309
+
310
+ from warp._src.math import *
311
+
312
+ from warp._src import builtins as builtins
313
+ from warp._src import config as config
314
+
315
+ __version__ = config.version
316
+
317
+
318
+ # TODO: Remove after cleaning up the public API.
319
+
320
+ from . import build as build
321
+ from . import codegen as codegen
322
+ from . import constants as constants
323
+ from . import context as context
324
+ from . import dlpack as dlpack
325
+ from . import fabric as fabric
326
+ from . import jax as jax
327
+ from . import marching_cubes as marching_cubes
328
+ from . import math as math
329
+ from . import paddle as paddle
330
+ from . import sparse as sparse
331
+ from . import tape as tape
332
+ from . import torch as torch
333
+ from . import types as types
334
+ from . import utils as utils