warp-lang 1.6.0__py3-none-manylinux2014_aarch64.whl → 1.6.2__py3-none-manylinux2014_aarch64.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.so +0 -0
  4. warp/bin/warp.so +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/tests/test_types.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 unittest
9
17
 
warp/tests/test_utils.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 contextlib
9
17
  import inspect
warp/tests/test_vbd.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 contextlib
9
17
  import io
warp/tests/test_vec.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 unittest
9
17
  from typing import Any
@@ -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 unittest
9
17
 
@@ -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 unittest
9
17
 
@@ -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 unittest
9
17
 
warp/tests/test_volume.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 os
9
17
  import tempfile
@@ -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 unittest
9
17
 
@@ -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 unittest
9
17
 
@@ -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
  """Warp Test Suites
9
17
 
@@ -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 ctypes.util
@@ -1,9 +1,17 @@
1
- # Copyright (c) 2021 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) 2021 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 numpy as np
9
17
 
@@ -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
  ####################################################################################################
9
17
  #
@@ -2,14 +2,19 @@
2
2
  # https://github.com/craigahobbs/unittest-parallel/blob/main/LICENSE
3
3
 
4
4
  # SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5
- # SPDX-License-Identifier: LicenseRef-NvidiaProprietary
5
+ # SPDX-License-Identifier: Apache-2.0
6
6
  #
7
- # NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
8
- # property and proprietary rights in and to this material, related
9
- # documentation and any modifications thereto. Any use, reproduction,
10
- # disclosure or distribution of this material and related documentation
11
- # without an express license agreement from NVIDIA CORPORATION or
12
- # its affiliates is strictly prohibited.
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
13
18
 
14
19
  """
15
20
  unittest-parallel command-line script main module
@@ -554,6 +559,9 @@ def initialize_test_process(lock, shared_index, args, temp_dir):
554
559
  wp.config.kernel_cache_dir = cache_root_dir
555
560
 
556
561
  wp.build.clear_kernel_cache()
562
+ elif "WARP_CACHE_ROOT" in os.environ:
563
+ # Using a shared cache for all test processes
564
+ wp.config.kernel_cache_dir = os.path.join(os.getenv("WARP_CACHE_ROOT"), wp.config.version)
557
565
 
558
566
 
559
567
  if __name__ == "__main__": # pragma: no cover
warp/torch.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
 
warp/types.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
 
@@ -1768,77 +1776,75 @@ class array(Array):
1768
1776
  dtype_ndim = 0
1769
1777
  scalar_dtype = dtype
1770
1778
 
1771
- if hasattr(data, "__cuda_array_interface__"):
1772
- try:
1773
- # Performance note: try first, ask questions later
1774
- device = warp.context.runtime.get_device(device)
1775
- except Exception:
1776
- # Fallback to using the public API for retrieving the device,
1777
- # which takes take of initializing Warp if needed.
1778
- device = warp.context.get_device(device)
1779
-
1780
- if device.is_cuda:
1781
- desc = data.__cuda_array_interface__
1782
- data_shape = desc.get("shape")
1783
- data_strides = desc.get("strides")
1784
- data_dtype = np.dtype(desc.get("typestr"))
1785
- data_ptr = desc.get("data")[0]
1786
-
1787
- if dtype == Any:
1788
- dtype = np_dtype_to_warp_type[data_dtype]
1789
-
1790
- data_ndim = len(data_shape)
1791
-
1792
- # determine whether the input needs reshaping
1793
- target_npshape = None
1794
- if shape is not None:
1795
- target_npshape = (*shape, *dtype_shape)
1796
- elif dtype_ndim > 0:
1797
- # prune inner dimensions of length 1
1798
- while data_ndim > 1 and data_shape[-1] == 1:
1799
- data_shape = data_shape[:-1]
1800
- # if the inner dims don't match exactly, check if the innermost dim is a multiple of type length
1801
- if data_ndim < dtype_ndim or data_shape[-dtype_ndim:] != dtype_shape:
1802
- if data_shape[-1] == dtype._length_:
1803
- target_npshape = (*data_shape[:-1], *dtype_shape)
1804
- elif data_shape[-1] % dtype._length_ == 0:
1805
- target_npshape = (*data_shape[:-1], data_shape[-1] // dtype._length_, *dtype_shape)
1779
+ try:
1780
+ # Performance note: try first, ask questions later
1781
+ device = warp.context.runtime.get_device(device)
1782
+ except Exception:
1783
+ # Fallback to using the public API for retrieving the device,
1784
+ # which takes take of initializing Warp if needed.
1785
+ device = warp.context.get_device(device)
1786
+
1787
+ if device.is_cuda and hasattr(data, "__cuda_array_interface__"):
1788
+ desc = data.__cuda_array_interface__
1789
+ data_shape = desc.get("shape")
1790
+ data_strides = desc.get("strides")
1791
+ data_dtype = np.dtype(desc.get("typestr"))
1792
+ data_ptr = desc.get("data")[0]
1793
+
1794
+ if dtype == Any:
1795
+ dtype = np_dtype_to_warp_type[data_dtype]
1796
+
1797
+ if data_strides is None:
1798
+ data_strides = strides_from_shape(data_shape, dtype)
1799
+
1800
+ data_ndim = len(data_shape)
1801
+
1802
+ # determine whether the input needs reshaping
1803
+ target_npshape = None
1804
+ if shape is not None:
1805
+ target_npshape = (*shape, *dtype_shape)
1806
+ elif dtype_ndim > 0:
1807
+ # prune inner dimensions of length 1
1808
+ while data_ndim > 1 and data_shape[-1] == 1:
1809
+ data_shape = data_shape[:-1]
1810
+ # if the inner dims don't match exactly, check if the innermost dim is a multiple of type length
1811
+ if data_ndim < dtype_ndim or data_shape[-dtype_ndim:] != dtype_shape:
1812
+ if data_shape[-1] == dtype._length_:
1813
+ target_npshape = (*data_shape[:-1], *dtype_shape)
1814
+ elif data_shape[-1] % dtype._length_ == 0:
1815
+ target_npshape = (*data_shape[:-1], data_shape[-1] // dtype._length_, *dtype_shape)
1816
+ else:
1817
+ if dtype_ndim == 1:
1818
+ raise RuntimeError(
1819
+ f"The inner dimensions of the input data are not compatible with the requested vector type {warp.context.type_str(dtype)}: expected an inner dimension that is a multiple of {dtype._length_}"
1820
+ )
1806
1821
  else:
1807
- if dtype_ndim == 1:
1808
- raise RuntimeError(
1809
- f"The inner dimensions of the input data are not compatible with the requested vector type {warp.context.type_str(dtype)}: expected an inner dimension that is a multiple of {dtype._length_}"
1810
- )
1811
- else:
1812
- raise RuntimeError(
1813
- f"The inner dimensions of the input data are not compatible with the requested matrix type {warp.context.type_str(dtype)}: expected inner dimensions {dtype._shape_} or a multiple of {dtype._length_}"
1814
- )
1815
-
1816
- if target_npshape is None:
1817
- target_npshape = data_shape if shape is None else shape
1818
-
1819
- # determine final shape and strides
1820
- if dtype_ndim > 0:
1821
- # make sure the inner dims are contiguous for vector/matrix types
1822
- scalar_size = type_size_in_bytes(dtype._wp_scalar_type_)
1823
- inner_contiguous = data_strides[-1] == scalar_size
1824
- if inner_contiguous and dtype_ndim > 1:
1825
- inner_contiguous = data_strides[-2] == scalar_size * dtype_shape[-1]
1826
-
1827
- shape = target_npshape[:-dtype_ndim] or (1,)
1828
- strides = data_strides if shape == data_shape else strides_from_shape(shape, dtype)
1829
- else:
1830
- shape = target_npshape or (1,)
1831
- strides = data_strides if shape == data_shape else strides_from_shape(shape, dtype)
1822
+ raise RuntimeError(
1823
+ f"The inner dimensions of the input data are not compatible with the requested matrix type {warp.context.type_str(dtype)}: expected inner dimensions {dtype._shape_} or a multiple of {dtype._length_}"
1824
+ )
1825
+
1826
+ if target_npshape is None:
1827
+ target_npshape = data_shape if shape is None else shape
1828
+
1829
+ # determine final shape and strides
1830
+ if dtype_ndim > 0:
1831
+ # make sure the inner dims are contiguous for vector/matrix types
1832
+ scalar_size = type_size_in_bytes(dtype._wp_scalar_type_)
1833
+ inner_contiguous = data_strides[-1] == scalar_size
1834
+ if inner_contiguous and dtype_ndim > 1:
1835
+ inner_contiguous = data_strides[-2] == scalar_size * dtype_shape[-1]
1836
+
1837
+ shape = target_npshape[:-dtype_ndim] or (1,)
1838
+ strides = data_strides if shape == data_shape else strides_from_shape(shape, dtype)
1839
+ else:
1840
+ shape = target_npshape or (1,)
1841
+ strides = data_strides if shape == data_shape else strides_from_shape(shape, dtype)
1832
1842
 
1833
- self._init_from_ptr(data_ptr, dtype, shape, strides, None, device, False, None)
1843
+ self._init_from_ptr(data_ptr, dtype, shape, strides, None, device, False, None)
1834
1844
 
1835
- # keep a ref to the source data to keep allocation alive
1836
- self._ref = data
1837
- return
1838
- else:
1839
- raise RuntimeError(
1840
- f"Trying to construct a Warp array from data argument's __cuda_array_interface__ but {device} is not CUDA-capable"
1841
- )
1845
+ # keep a ref to the source data to keep allocation alive
1846
+ self._ref = data
1847
+ return
1842
1848
 
1843
1849
  # convert input data to ndarray (handles lists, tuples, etc.) and determine dtype
1844
1850
  if dtype == Any:
warp/utils.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 cProfile
9
17
  import ctypes