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 paddle
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 torch
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 numpy as np
9
17
  import taichi as ti
@@ -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 warp as wp
9
17
 
@@ -1,17 +1,33 @@
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
+
16
+ """Compare GEMM performance between Torch and Warp (Tiled).
17
+
18
+ This script can be used to identify optimal tile parameters for a fixed-size
19
+ matrix multiplication.
20
+ """
21
+
1
22
  from itertools import product
23
+ from statistics import mean, stdev
24
+ from typing import List
2
25
 
3
26
  import numpy as np
4
- import torch as tc
27
+ import torch
5
28
 
6
29
  import warp as wp
7
30
 
8
- tc.backends.cuda.matmul.allow_tf32 = False # Disable TF32 for matrix multiplications
9
- tc.backends.cudnn.allow_tf32 = False # Disable TF32 for cuDNN operations
10
-
11
- wp.init()
12
- wp.clear_kernel_cache()
13
- wp.set_module_options({"fast_math": True, "enable_backward": False})
14
-
15
31
 
16
32
  # returns a kernel to compute a GEMM given m,n,k tile sizes
17
33
  def create_gemm_kernel(m, n, k):
@@ -37,24 +53,30 @@ def create_gemm_kernel(m, n, k):
37
53
  return gemm
38
54
 
39
55
 
40
- def benchmark_torch(A, B, warm_up, iterations):
56
+ def benchmark_torch(A: torch.Tensor, B: torch.Tensor, warm_up: int, iterations: int):
41
57
  # warm-up
42
58
  for _ in range(warm_up):
43
- tc.matmul(A, B)
59
+ torch.matmul(A, B)
44
60
 
45
- timers = {}
46
- tc.cuda.synchronize()
61
+ torch.cuda.synchronize()
47
62
 
48
- with wp.ScopedTimer("torch", print=False, dict=timers, synchronize=True):
49
- for _ in range(iterations):
50
- tc.matmul(A, B)
63
+ start_event = torch.cuda.Event(enable_timing=True)
64
+ end_event = torch.cuda.Event(enable_timing=True)
51
65
 
52
- tc.cuda.synchronize()
66
+ timing_results = []
53
67
 
54
- return timers["torch"][0]
68
+ for _i in range(iterations):
69
+ start_event.record()
70
+ torch.matmul(A, B)
71
+ end_event.record()
55
72
 
73
+ torch.cuda.synchronize()
74
+ timing_results.append(start_event.elapsed_time(end_event))
56
75
 
57
- def benchmark_warp(A, B, config, warm_up, iterations):
76
+ return mean(timing_results), stdev(timing_results)
77
+
78
+
79
+ def benchmark_warp(A: wp.array, B: wp.array, config: List[int], warm_up: int, iterations: int):
58
80
  TILE_M = config[0]
59
81
  TILE_N = config[1]
60
82
  TILE_K = config[2]
@@ -82,49 +104,61 @@ def benchmark_warp(A, B, config, warm_up, iterations):
82
104
 
83
105
  # check output
84
106
  if warm_up > 0:
85
- assert np.allclose(output.numpy(), A.numpy() @ B.numpy(), atol=1e-3, rtol=1e-3)
107
+ try:
108
+ np.testing.assert_allclose(output.numpy(), A.numpy() @ B.numpy(), atol=1e-3, rtol=1e-3)
109
+ except AssertionError as e:
110
+ print(f"Failed with {TILE_M=}, {TILE_N=}, {TILE_K=}, {BLOCK_DIM=}")
111
+ raise e
86
112
 
87
113
  # benchmark
88
- timers = {}
89
- with wp.ScopedTimer("warp", print=False, dict=timers, synchronize=True):
114
+ with wp.ScopedTimer("warp", print=False, synchronize=True, cuda_filter=wp.TIMING_KERNEL) as timer:
90
115
  for _ in range(iterations):
91
116
  cmd.launch()
92
117
 
93
- return timers["warp"][0]
118
+ timing_results = [result.elapsed for result in timer.timing_results]
94
119
 
120
+ return mean(timing_results), stdev(timing_results)
95
121
 
96
- tile_m = [8, 16, 32, 64]
97
- tile_n = [8, 16, 32, 64]
98
- tile_k = [8, 16, 64]
99
- block = [32, 64, 128]
100
122
 
101
- M = 1024
102
- N = 1024
103
- K = 1024
123
+ if __name__ == "__main__":
124
+ torch.backends.cuda.matmul.allow_tf32 = False # Disable TF32 for matrix multiplications
125
+ torch.backends.cudnn.allow_tf32 = False # Disable TF32 for cuDNN operations
104
126
 
105
- A = tc.randn(M, K).cuda()
106
- B = tc.randn(K, N).cuda()
127
+ wp.init()
128
+ wp.clear_kernel_cache()
129
+ wp.set_module_options({"fast_math": True, "enable_backward": False})
107
130
 
108
- iterations = 1000
109
- warm_up = 10
131
+ tile_m = [8, 16, 32, 64]
132
+ tile_n = [8, 16, 32, 64]
133
+ tile_k = [8, 16, 64]
134
+ block = [32, 64, 128]
110
135
 
111
- time_torch = benchmark_torch(A, B, warm_up, iterations)
112
- print(f"Torch: {time_torch}")
136
+ M = 1024
137
+ N = 1024
138
+ K = 1024
139
+ print(f"{M=}, {N=}, {K=}")
113
140
 
114
- configs = list(product(tile_m, tile_n, tile_k, block))
141
+ A = torch.randn(M, K).cuda()
142
+ B = torch.randn(K, N).cuda()
115
143
 
116
- wp.config.quiet = True
144
+ iterations = 100
145
+ warm_up = 5
117
146
 
118
- # header
119
- print(
120
- "{:<{}} {:<{}} {:<{}} {:<{}} {:<{}} {:<{}}".format(
121
- "TILE_M", 12, "TILE_N", 12, "TILE_K", 12, "BLOCK", 12, "Time", 12, "Relative", 12
122
- )
123
- )
124
- for c in configs:
125
- time_warp = benchmark_warp(wp.from_torch(A), wp.from_torch(B), c, warm_up, iterations)
147
+ time_torch_mean, time_torch_std = benchmark_torch(A, B, warm_up, iterations)
148
+ print(f"Torch: {time_torch_mean:.6g}±{time_torch_std:.2g} ms")
149
+
150
+ configs = list(product(tile_m, tile_n, tile_k, block))
151
+
152
+ wp.config.quiet = True
153
+
154
+ # header
126
155
  print(
127
- "{:<{}} {:<{}} {:<{}} {:<{}} {:<{}} {:<{}}".format(
128
- c[0], 12, c[1], 12, c[2], 12, c[3], 12, time_warp, 12, time_warp / time_torch, 12
129
- )
156
+ f"{'TILE_M':<8s} {'TILE_N':<8s} {'TILE_K':<8s} {'BLOCK':<8s} {'Time (ms)':<10s} {'Std dev (ms)':<14s} {'Warp/Torch':<12s}"
130
157
  )
158
+ print("-" * 79)
159
+
160
+ for c in configs:
161
+ time_mean, time_std = benchmark_warp(wp.from_torch(A), wp.from_torch(B), c, warm_up, iterations)
162
+ print(
163
+ f"{c[0]:<8d} {c[1]:<8d} {c[2]:<8d} {c[3]:<8d} {time_mean:<10.6g} {time_std:<#14.2g} {time_mean / time_torch_mean:<12.6g}"
164
+ )
@@ -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 time
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 time
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
  # Benchmarks for kernel launches with different types of args
warp/examples/browse.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 subprocess
@@ -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
  ###########################################################################
9
17
  # Example CuPy
@@ -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
  ###########################################################################
9
17
  # Example DEM
@@ -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
  ###########################################################################
9
17
  # Example Fluid
@@ -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
  ###########################################################################
9
17
  # Example Graph Capture
@@ -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
  ###########################################################################
9
17
  # Example Marching Cubes
@@ -153,7 +161,7 @@ class Example:
153
161
  "surface",
154
162
  self.mc.verts.numpy(),
155
163
  self.mc.indices.numpy(),
156
- colors=((0.35, 0.55, 0.9),) * len(self.mc.verts),
164
+ colors=(0.35, 0.55, 0.9),
157
165
  update_topology=True,
158
166
  )
159
167
  self.renderer.end_frame()
@@ -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
  ###########################################################################
9
17
  # Example Mesh
@@ -138,7 +146,7 @@ class Example:
138
146
  name="mesh",
139
147
  points=self.mesh.points.numpy(),
140
148
  indices=self.mesh.indices.numpy(),
141
- colors=((0.35, 0.55, 0.9),) * len(self.mesh.points),
149
+ colors=(0.35, 0.55, 0.9),
142
150
  )
143
151
  self.renderer.render_points(
144
152
  name="points", points=self.positions.numpy(), radius=self.sim_margin, colors=(0.8, 0.3, 0.2)
@@ -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
  #############################################################################
9
17
  # Example Mesh Intersection
@@ -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
  ###########################################################################
9
17
  # Example NanoVDB
@@ -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
  #############################################################################
9
17
  # Example Ray Cast