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
@@ -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
 
warp/tests/test_ipc.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 multiprocessing as mp
9
17
  import unittest
warp/tests/test_iter.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 unittest
9
17
 
warp/tests/test_jax.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 os
9
17
  import unittest
warp/tests/test_large.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
  import unittest
warp/tests/test_launch.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
 
@@ -46,6 +54,12 @@ def kernel4d(a: wp.array(dtype=int, ndim=4)):
46
54
  wp.expect_eq(a[i, j, k, l], i * dim_y * dim_z * dim_w + j * dim_z * dim_w + k * dim_w + l)
47
55
 
48
56
 
57
+ @wp.kernel
58
+ def square_kernel(input: wp.array(dtype=float), output: wp.array(dtype=float)):
59
+ i = wp.tid()
60
+ output[i] = input[i] * input[i]
61
+
62
+
49
63
  def test1d(test, device):
50
64
  a = np.arange(0, dim_x).reshape(dim_x)
51
65
 
@@ -98,8 +112,19 @@ def kernel_cmd(params: Params, i: int, f: float, v: wp.vec3, m: wp.mat33, out: w
98
112
 
99
113
 
100
114
  def test_launch_cmd(test, device):
115
+ """Tests recording and executing a kernel launch command.
116
+
117
+ Verifies that:
118
+ - A kernel can be recorded as a command without immediate execution
119
+ - The recorded command can be launched later
120
+ - Parameters are correctly passed to the kernel
121
+ - Output matches expected results for both immediate and delayed launches
122
+
123
+ Args:
124
+ test: Test context
125
+ device: Device to run the test on
126
+ """
101
127
  n = 1
102
-
103
128
  ref = np.arange(0, n)
104
129
  out = wp.zeros(n, dtype=int, device=device)
105
130
 
@@ -274,12 +299,62 @@ def test_launch_cmd_empty(test, device):
274
299
  assert_np_equal(out.numpy(), ref)
275
300
 
276
301
 
302
+ def test_launch_cmd_adjoint(test, device):
303
+ """Test recording an adjoint launch with record_cmd=True."""
304
+ input_arr = wp.array([1.0, 2.0, 3.0], dtype=float, requires_grad=True, device=device)
305
+ output_arr = wp.empty_like(input_arr)
306
+
307
+ output_arr.grad.fill_(1.0)
308
+
309
+ cmd = wp.launch(
310
+ square_kernel,
311
+ dim=input_arr.size,
312
+ inputs=[input_arr, output_arr],
313
+ adj_inputs=[None, None],
314
+ adjoint=True,
315
+ device=device,
316
+ record_cmd=True,
317
+ )
318
+
319
+ cmd.launch()
320
+
321
+ assert_np_equal(input_arr.grad.numpy(), np.array([2.0, 4.0, 6.0]))
322
+
323
+
324
+ def test_launch_cmd_adjoint_empty(test, device):
325
+ """Test constructing a Launch object for an adjoint kernel."""
326
+ input_arr = wp.array([1.0, 2.0, 3.0], dtype=float, requires_grad=True, device=device)
327
+ output_arr = wp.empty_like(input_arr)
328
+ output_arr.grad.fill_(1.0)
329
+
330
+ cmd = wp.Launch(square_kernel, device, adjoint=True)
331
+ cmd.set_param_by_name("input", input_arr)
332
+ cmd.set_param_by_name("output", output_arr)
333
+ cmd.set_dim(input_arr.size)
334
+ cmd.launch()
335
+
336
+ assert_np_equal(input_arr.grad.numpy(), np.array([2.0, 4.0, 6.0]))
337
+
338
+ # Now update the launch object's parameters with arrays of different sizes and values
339
+ # and check that the adjoints are correctly computed
340
+ input_arr_updated = wp.array([4.0, 5.0, 6.0, 7.0], dtype=float, device=device)
341
+ input_arr_updated_grad = wp.zeros_like(input_arr_updated)
342
+
343
+ output_arr_updated = wp.empty_like(input_arr_updated)
344
+ output_arr_updated_grad = wp.full_like(output_arr_updated, 1.0)
345
+
346
+ cmd.set_param_by_name("input", input_arr_updated)
347
+ cmd.set_param_by_name("output", output_arr_updated)
348
+ cmd.set_param_by_name("input", input_arr_updated_grad, adjoint=True)
349
+ cmd.set_param_by_name("output", output_arr_updated_grad, adjoint=True)
350
+ cmd.set_dim(input_arr_updated.size)
351
+ cmd.launch()
352
+
353
+ assert_np_equal(input_arr_updated_grad.numpy(), np.array([8.0, 10.0, 12.0, 14.0]))
354
+
355
+
277
356
  @wp.kernel
278
- def kernel_mul(
279
- values: wp.array(dtype=int),
280
- coeff: int,
281
- out: wp.array(dtype=int),
282
- ):
357
+ def kernel_mul(values: wp.array(dtype=int), coeff: int, out: wp.array(dtype=int)):
283
358
  tid = wp.tid()
284
359
  out[tid] = values[tid] * coeff
285
360
 
@@ -301,28 +376,10 @@ def test_launch_tuple_args(test, device):
301
376
  )
302
377
  assert_np_equal(out.numpy(), np.array((0, 3, 6, 9)))
303
378
 
304
- wp.launch(
305
- kernel_mul,
306
- dim=len(values),
307
- inputs=(
308
- values,
309
- coeff,
310
- out,
311
- ),
312
- device=device,
313
- )
379
+ wp.launch(kernel_mul, dim=len(values), inputs=(values, coeff, out), device=device)
314
380
  assert_np_equal(out.numpy(), np.array((0, 3, 6, 9)))
315
381
 
316
- wp.launch(
317
- kernel_mul,
318
- dim=len(values),
319
- outputs=(
320
- values,
321
- coeff,
322
- out,
323
- ),
324
- device=device,
325
- )
382
+ wp.launch(kernel_mul, dim=len(values), outputs=(values, coeff, out), device=device)
326
383
  assert_np_equal(out.numpy(), np.array((0, 3, 6, 9)))
327
384
 
328
385
 
@@ -343,6 +400,8 @@ add_function_test(TestLaunch, "test_launch_cmd_set_param", test_launch_cmd_set_p
343
400
  add_function_test(TestLaunch, "test_launch_cmd_set_ctype", test_launch_cmd_set_ctype, devices=devices)
344
401
  add_function_test(TestLaunch, "test_launch_cmd_set_dim", test_launch_cmd_set_dim, devices=devices)
345
402
  add_function_test(TestLaunch, "test_launch_cmd_empty", test_launch_cmd_empty, devices=devices)
403
+ add_function_test(TestLaunch, "test_launch_cmd_adjoint", test_launch_cmd_adjoint, devices=devices)
404
+ add_function_test(TestLaunch, "test_launch_cmd_adjoint_empty", test_launch_cmd_adjoint_empty, devices=devices)
346
405
 
347
406
  add_function_test(TestLaunch, "test_launch_tuple_args", test_launch_tuple_args, devices=devices)
348
407
 
warp/tests/test_lerp.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 dataclasses import dataclass
@@ -1,3 +1,18 @@
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.
15
+
1
16
  import unittest
2
17
 
3
18
  import numpy as np
warp/tests/test_lvalue.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
 
@@ -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
 
warp/tests/test_mat.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
@@ -384,6 +392,77 @@ def test_negation(test, device, dtype, register_kernels=False):
384
392
  idx = idx + 1
385
393
 
386
394
 
395
+ def test_matmul(test, device, dtype, register_kernels=False):
396
+ rng = np.random.default_rng(123)
397
+
398
+ tol = {
399
+ np.float16: 5.0e-3,
400
+ np.float32: 1.0e-6,
401
+ np.float64: 1.0e-12,
402
+ }.get(dtype, 0)
403
+
404
+ wptype = wp.types.np_dtype_to_warp_type[np.dtype(dtype)]
405
+ mat22 = wp.types.matrix(shape=(2, 2), dtype=wptype)
406
+ mat33 = wp.types.matrix(shape=(3, 3), dtype=wptype)
407
+ mat23 = wp.types.matrix(shape=(2, 3), dtype=wptype)
408
+ mat32 = wp.types.matrix(shape=(3, 2), dtype=wptype)
409
+ mat44 = wp.types.matrix(shape=(4, 4), dtype=wptype)
410
+
411
+ output_select_kernel = get_select_kernel(wptype)
412
+
413
+ def check_mat_mul(
414
+ i23: wp.array(dtype=mat23),
415
+ i32: wp.array(dtype=mat32),
416
+ i44: wp.array(dtype=mat44),
417
+ o22: wp.array(dtype=mat22),
418
+ o33: wp.array(dtype=mat33),
419
+ o44: wp.array(dtype=mat44),
420
+ ):
421
+ i = wp.tid()
422
+ o22[i] = i23[i] @ i32[i]
423
+ o33[i] = i32[i] @ i23[i]
424
+ o44[i] = i44[i] @ i44[i]
425
+
426
+ kernel = getkernel(check_mat_mul, suffix=dtype.__name__)
427
+
428
+ if register_kernels:
429
+ return
430
+
431
+ test_adj = dtype in np_float_types
432
+
433
+ i23 = wp.array(randvals(rng, [1, 2, 3], dtype), dtype=mat23, requires_grad=test_adj, device=device)
434
+ i32 = wp.array(randvals(rng, [1, 3, 2], dtype), dtype=mat32, requires_grad=test_adj, device=device)
435
+ i44 = wp.array(randvals(rng, [1, 4, 4], dtype), dtype=mat44, requires_grad=test_adj, device=device)
436
+ o22 = wp.array(randvals(rng, [1, 2, 2], dtype), dtype=mat22, requires_grad=test_adj, device=device)
437
+ o33 = wp.array(randvals(rng, [1, 3, 3], dtype), dtype=mat33, requires_grad=test_adj, device=device)
438
+ o44 = wp.array(randvals(rng, [1, 4, 4], dtype), dtype=mat44, requires_grad=test_adj, device=device)
439
+
440
+ tape = wp.Tape()
441
+ with tape:
442
+ wp.launch(
443
+ kernel,
444
+ dim=1,
445
+ inputs=[i23, i32, i44],
446
+ outputs=[o22, o33, o44],
447
+ device=device,
448
+ )
449
+
450
+ assert_np_equal(o22.numpy(), i23.numpy() @ i32.numpy(), tol=tol)
451
+ assert_np_equal(o33.numpy(), i32.numpy() @ i23.numpy(), tol=tol)
452
+ assert_np_equal(o44.numpy(), i44.numpy() @ i44.numpy(), tol=tol)
453
+
454
+ if test_adj:
455
+ o22.grad.assign([np.eye(2)])
456
+ o33.grad.assign([np.eye(3)])
457
+ o44.grad.assign([np.eye(4)])
458
+
459
+ tape.backward()
460
+
461
+ assert_np_equal(i23.grad.numpy(), 2.0 * i32.numpy().T, tol=tol)
462
+ assert_np_equal(i32.grad.numpy(), 2.0 * i23.numpy().T, tol=tol)
463
+ assert_np_equal(i44.grad.numpy(), 2.0 * i44.numpy().T, tol=tol)
464
+
465
+
387
466
  def test_subtraction(test, device, dtype, register_kernels=False):
388
467
  rng = np.random.default_rng(123)
389
468
 
@@ -874,7 +953,7 @@ def test_svd(test, device, dtype, register_kernels=False):
874
953
  tol = {
875
954
  np.float16: 1.0e-3,
876
955
  np.float32: 1.0e-6,
877
- np.float64: 1.0e-6,
956
+ np.float64: 1.0e-12,
878
957
  }.get(dtype, 0)
879
958
 
880
959
  wptype = wp.types.np_dtype_to_warp_type[np.dtype(dtype)]
@@ -1765,6 +1844,9 @@ for dtype in np_signed_int_types + np_float_types:
1765
1844
  add_function_test_register_kernel(
1766
1845
  TestMat, f"test_subtraction_{dtype.__name__}", test_subtraction, devices=devices, dtype=dtype
1767
1846
  )
1847
+ add_function_test_register_kernel(
1848
+ TestMat, f"test_matmul_{dtype.__name__}", test_matmul, devices=devices, dtype=dtype
1849
+ )
1768
1850
 
1769
1851
  add_function_test(
1770
1852
  TestMat,
@@ -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) 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
 
warp/tests/test_math.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
  from typing import Any, NamedTuple
warp/tests/test_matmul.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 itertools
9
17
  import unittest
@@ -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