warp-lang 0.9.0__py3-none-win_amd64.whl → 0.11.0__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of warp-lang might be problematic. Click here for more details.
- warp/__init__.py +15 -7
- warp/__init__.pyi +1 -0
- warp/bin/warp-clang.dll +0 -0
- warp/bin/warp.dll +0 -0
- warp/build.py +22 -443
- warp/build_dll.py +384 -0
- warp/builtins.py +998 -488
- warp/codegen.py +1307 -739
- warp/config.py +5 -3
- warp/constants.py +6 -0
- warp/context.py +1291 -548
- warp/dlpack.py +31 -31
- warp/fabric.py +326 -0
- warp/fem/__init__.py +27 -0
- warp/fem/cache.py +389 -0
- warp/fem/dirichlet.py +181 -0
- warp/fem/domain.py +263 -0
- warp/fem/field/__init__.py +101 -0
- warp/fem/field/field.py +149 -0
- warp/fem/field/nodal_field.py +299 -0
- warp/fem/field/restriction.py +21 -0
- warp/fem/field/test.py +181 -0
- warp/fem/field/trial.py +183 -0
- warp/fem/geometry/__init__.py +19 -0
- warp/fem/geometry/closest_point.py +70 -0
- warp/fem/geometry/deformed_geometry.py +271 -0
- warp/fem/geometry/element.py +744 -0
- warp/fem/geometry/geometry.py +186 -0
- warp/fem/geometry/grid_2d.py +373 -0
- warp/fem/geometry/grid_3d.py +435 -0
- warp/fem/geometry/hexmesh.py +953 -0
- warp/fem/geometry/partition.py +376 -0
- warp/fem/geometry/quadmesh_2d.py +532 -0
- warp/fem/geometry/tetmesh.py +840 -0
- warp/fem/geometry/trimesh_2d.py +577 -0
- warp/fem/integrate.py +1616 -0
- warp/fem/operator.py +191 -0
- warp/fem/polynomial.py +213 -0
- warp/fem/quadrature/__init__.py +2 -0
- warp/fem/quadrature/pic_quadrature.py +245 -0
- warp/fem/quadrature/quadrature.py +294 -0
- warp/fem/space/__init__.py +292 -0
- warp/fem/space/basis_space.py +489 -0
- warp/fem/space/collocated_function_space.py +105 -0
- warp/fem/space/dof_mapper.py +236 -0
- warp/fem/space/function_space.py +145 -0
- warp/fem/space/grid_2d_function_space.py +267 -0
- warp/fem/space/grid_3d_function_space.py +306 -0
- warp/fem/space/hexmesh_function_space.py +352 -0
- warp/fem/space/partition.py +350 -0
- warp/fem/space/quadmesh_2d_function_space.py +369 -0
- warp/fem/space/restriction.py +160 -0
- warp/fem/space/shape/__init__.py +15 -0
- warp/fem/space/shape/cube_shape_function.py +738 -0
- warp/fem/space/shape/shape_function.py +103 -0
- warp/fem/space/shape/square_shape_function.py +611 -0
- warp/fem/space/shape/tet_shape_function.py +567 -0
- warp/fem/space/shape/triangle_shape_function.py +429 -0
- warp/fem/space/tetmesh_function_space.py +292 -0
- warp/fem/space/topology.py +295 -0
- warp/fem/space/trimesh_2d_function_space.py +221 -0
- warp/fem/types.py +77 -0
- warp/fem/utils.py +495 -0
- warp/native/array.h +164 -55
- warp/native/builtin.h +150 -174
- warp/native/bvh.cpp +75 -328
- warp/native/bvh.cu +406 -23
- warp/native/bvh.h +37 -45
- warp/native/clang/clang.cpp +136 -24
- warp/native/crt.cpp +1 -76
- warp/native/crt.h +111 -104
- warp/native/cuda_crt.h +1049 -0
- warp/native/cuda_util.cpp +15 -3
- warp/native/cuda_util.h +3 -1
- warp/native/cutlass/tools/library/scripts/conv2d_operation.py +463 -0
- warp/native/cutlass/tools/library/scripts/conv3d_operation.py +321 -0
- warp/native/cutlass/tools/library/scripts/gemm_operation.py +988 -0
- warp/native/cutlass/tools/library/scripts/generator.py +4625 -0
- warp/native/cutlass/tools/library/scripts/library.py +799 -0
- warp/native/cutlass/tools/library/scripts/manifest.py +402 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/docs/source/conf.py +96 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/profile/conv/conv2d_f16_sm80.py +106 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/profile/gemm/gemm_f32_sm80.py +91 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/setup.py +80 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/__init__.py +48 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/arguments.py +118 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/c_types.py +241 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/compiler.py +432 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/conv2d_operation.py +631 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/epilogue.py +1026 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/frontend.py +104 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/gemm_operation.py +1276 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/library.py +744 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/memory_manager.py +74 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/operation.py +110 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/parser.py +619 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/reduction_operation.py +398 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/tensor_ref.py +70 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/test/__init__.py +4 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/test/conv2d_testbed.py +646 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/test/gemm_grouped_testbed.py +235 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/test/gemm_testbed.py +557 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/test/profiler.py +70 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/type_hint.py +39 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/utils/__init__.py +1 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/utils/device.py +76 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/src/pycutlass/utils/reference_model.py +255 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/__init__.py +0 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_dgrad_implicit_gemm_f16nhwc_f16nhwc_f16nhwc_tensor_op_f16_sm80.py +201 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_dgrad_implicit_gemm_f16nhwc_f16nhwc_f32nhwc_tensor_op_f32_sm80.py +177 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_dgrad_implicit_gemm_f32nhwc_f32nhwc_f32nhwc_simt_f32_sm80.py +98 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_dgrad_implicit_gemm_tf32nhwc_tf32nhwc_f32nhwc_tensor_op_f32_sm80.py +95 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_few_channels_f16nhwc_f16nhwc_f16nhwc_tensor_op_f32_sm80.py +163 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_fixed_channels_f16nhwc_f16nhwc_f16nhwc_tensor_op_f32_sm80.py +187 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_implicit_gemm_f16nhwc_f16nhwc_f16nhwc_tensor_op_f16_sm80.py +309 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_implicit_gemm_f16nhwc_f16nhwc_f32nhwc_tensor_op_f32_sm80.py +54 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_implicit_gemm_f32nhwc_f32nhwc_f32nhwc_simt_f32_sm80.py +96 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_fprop_implicit_gemm_tf32nhwc_tf32nhwc_f32nhwc_tensor_op_f32_sm80.py +107 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_strided_dgrad_implicit_gemm_f16nhwc_f16nhwc_f32nhwc_tensor_op_f32_sm80.py +253 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_wgrad_implicit_gemm_f16nhwc_f16nhwc_f16nhwc_tensor_op_f16_sm80.py +97 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_wgrad_implicit_gemm_f16nhwc_f16nhwc_f32nhwc_tensor_op_f32_sm80.py +242 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_wgrad_implicit_gemm_f32nhwc_f32nhwc_f32nhwc_simt_f32_sm80.py +96 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/conv2d_wgrad_implicit_gemm_tf32nhwc_tf32nhwc_f32nhwc_tensor_op_f32_sm80.py +107 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/conv/run_all_tests.py +10 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/frontend/test_frontend.py +146 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/__init__.py +0 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_bf16_sm80.py +96 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_f16_sm80.py +447 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_f32_sm80.py +146 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_f64_sm80.py +102 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_grouped_sm80.py +203 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/gemm_s8_sm80.py +229 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/gemm/run_all_tests.py +9 -0
- warp/native/cutlass/tools/library/scripts/pycutlass/test/unit/test_sm80.py +453 -0
- warp/native/cutlass/tools/library/scripts/rank_2k_operation.py +398 -0
- warp/native/cutlass/tools/library/scripts/rank_k_operation.py +387 -0
- warp/native/cutlass/tools/library/scripts/rt.py +796 -0
- warp/native/cutlass/tools/library/scripts/symm_operation.py +400 -0
- warp/native/cutlass/tools/library/scripts/trmm_operation.py +407 -0
- warp/native/cutlass_gemm.cu +5 -3
- warp/native/exports.h +1240 -949
- warp/native/fabric.h +228 -0
- warp/native/hashgrid.cpp +4 -4
- warp/native/hashgrid.h +22 -2
- warp/native/initializer_array.h +2 -2
- warp/native/intersect.h +22 -7
- warp/native/intersect_adj.h +8 -8
- warp/native/intersect_tri.h +13 -16
- warp/native/marching.cu +157 -161
- warp/native/mat.h +119 -19
- warp/native/matnn.h +2 -2
- warp/native/mesh.cpp +108 -83
- warp/native/mesh.cu +243 -6
- warp/native/mesh.h +1547 -458
- warp/native/nanovdb/NanoVDB.h +1 -1
- warp/native/noise.h +272 -329
- warp/native/quat.h +51 -8
- warp/native/rand.h +45 -35
- warp/native/range.h +6 -2
- warp/native/reduce.cpp +157 -0
- warp/native/reduce.cu +348 -0
- warp/native/runlength_encode.cpp +62 -0
- warp/native/runlength_encode.cu +46 -0
- warp/native/scan.cu +11 -13
- warp/native/scan.h +1 -0
- warp/native/solid_angle.h +442 -0
- warp/native/sort.cpp +13 -0
- warp/native/sort.cu +9 -1
- warp/native/sparse.cpp +338 -0
- warp/native/sparse.cu +545 -0
- warp/native/spatial.h +2 -2
- warp/native/temp_buffer.h +30 -0
- warp/native/vec.h +126 -24
- warp/native/volume.h +120 -0
- warp/native/warp.cpp +658 -53
- warp/native/warp.cu +660 -68
- warp/native/warp.h +112 -12
- warp/optim/__init__.py +1 -0
- warp/optim/linear.py +922 -0
- warp/optim/sgd.py +92 -0
- warp/render/render_opengl.py +392 -152
- warp/render/render_usd.py +11 -11
- warp/sim/__init__.py +2 -2
- warp/sim/articulation.py +385 -185
- warp/sim/collide.py +21 -8
- warp/sim/import_mjcf.py +297 -106
- warp/sim/import_urdf.py +389 -210
- warp/sim/import_usd.py +198 -97
- warp/sim/inertia.py +17 -18
- warp/sim/integrator_euler.py +14 -8
- warp/sim/integrator_xpbd.py +161 -19
- warp/sim/model.py +795 -291
- warp/sim/optimizer.py +2 -6
- warp/sim/render.py +65 -3
- warp/sim/utils.py +3 -0
- warp/sparse.py +1227 -0
- warp/stubs.py +665 -223
- warp/tape.py +66 -15
- warp/tests/__main__.py +3 -6
- warp/tests/assets/curlnoise_golden.npy +0 -0
- warp/tests/assets/pnoise_golden.npy +0 -0
- warp/tests/assets/torus.usda +105 -105
- warp/tests/{test_class_kernel.py → aux_test_class_kernel.py} +9 -1
- warp/tests/aux_test_conditional_unequal_types_kernels.py +21 -0
- warp/tests/{test_dependent.py → aux_test_dependent.py} +2 -2
- warp/tests/{test_reference.py → aux_test_reference.py} +1 -1
- warp/tests/aux_test_unresolved_func.py +14 -0
- warp/tests/aux_test_unresolved_symbol.py +14 -0
- warp/tests/disabled_kinematics.py +239 -0
- warp/tests/run_coverage_serial.py +31 -0
- warp/tests/test_adam.py +103 -106
- warp/tests/test_arithmetic.py +128 -74
- warp/tests/test_array.py +1497 -211
- warp/tests/test_array_reduce.py +150 -0
- warp/tests/test_atomic.py +64 -28
- warp/tests/test_bool.py +99 -0
- warp/tests/test_builtins_resolution.py +1292 -0
- warp/tests/test_bvh.py +75 -43
- warp/tests/test_closest_point_edge_edge.py +54 -57
- warp/tests/test_codegen.py +233 -128
- warp/tests/test_compile_consts.py +28 -20
- warp/tests/test_conditional.py +108 -24
- warp/tests/test_copy.py +10 -12
- warp/tests/test_ctypes.py +112 -88
- warp/tests/test_dense.py +21 -14
- warp/tests/test_devices.py +98 -0
- warp/tests/test_dlpack.py +136 -108
- warp/tests/test_examples.py +277 -0
- warp/tests/test_fabricarray.py +955 -0
- warp/tests/test_fast_math.py +15 -11
- warp/tests/test_fem.py +1271 -0
- warp/tests/test_fp16.py +53 -19
- warp/tests/test_func.py +187 -74
- warp/tests/test_generics.py +194 -49
- warp/tests/test_grad.py +180 -116
- warp/tests/test_grad_customs.py +176 -0
- warp/tests/test_hash_grid.py +52 -37
- warp/tests/test_import.py +10 -23
- warp/tests/test_indexedarray.py +577 -24
- warp/tests/test_intersect.py +18 -9
- warp/tests/test_large.py +141 -0
- warp/tests/test_launch.py +251 -15
- warp/tests/test_lerp.py +64 -65
- warp/tests/test_linear_solvers.py +154 -0
- warp/tests/test_lvalue.py +493 -0
- warp/tests/test_marching_cubes.py +12 -13
- warp/tests/test_mat.py +508 -2778
- warp/tests/test_mat_lite.py +115 -0
- warp/tests/test_mat_scalar_ops.py +2889 -0
- warp/tests/test_math.py +103 -9
- warp/tests/test_matmul.py +305 -69
- warp/tests/test_matmul_lite.py +410 -0
- warp/tests/test_mesh.py +71 -14
- warp/tests/test_mesh_query_aabb.py +41 -25
- warp/tests/test_mesh_query_point.py +325 -34
- warp/tests/test_mesh_query_ray.py +39 -22
- warp/tests/test_mlp.py +30 -22
- warp/tests/test_model.py +92 -89
- warp/tests/test_modules_lite.py +39 -0
- warp/tests/test_multigpu.py +88 -114
- warp/tests/test_noise.py +12 -11
- warp/tests/test_operators.py +16 -20
- warp/tests/test_options.py +11 -11
- warp/tests/test_pinned.py +17 -18
- warp/tests/test_print.py +32 -11
- warp/tests/test_quat.py +275 -129
- warp/tests/test_rand.py +18 -16
- warp/tests/test_reload.py +38 -34
- warp/tests/test_rounding.py +50 -43
- warp/tests/test_runlength_encode.py +190 -0
- warp/tests/test_smoothstep.py +9 -11
- warp/tests/test_snippet.py +143 -0
- warp/tests/test_sparse.py +460 -0
- warp/tests/test_spatial.py +276 -243
- warp/tests/test_streams.py +110 -85
- warp/tests/test_struct.py +331 -85
- warp/tests/test_tape.py +39 -21
- warp/tests/test_torch.py +118 -89
- warp/tests/test_transient_module.py +12 -13
- warp/tests/test_types.py +614 -0
- warp/tests/test_utils.py +494 -0
- warp/tests/test_vec.py +354 -1987
- warp/tests/test_vec_lite.py +73 -0
- warp/tests/test_vec_scalar_ops.py +2099 -0
- warp/tests/test_volume.py +457 -293
- warp/tests/test_volume_write.py +124 -134
- warp/tests/unittest_serial.py +35 -0
- warp/tests/unittest_suites.py +341 -0
- warp/tests/unittest_utils.py +568 -0
- warp/tests/unused_test_misc.py +71 -0
- warp/tests/{test_debug.py → walkthough_debug.py} +3 -17
- warp/thirdparty/appdirs.py +36 -45
- warp/thirdparty/unittest_parallel.py +549 -0
- warp/torch.py +72 -30
- warp/types.py +1744 -713
- warp/utils.py +360 -350
- warp_lang-0.11.0.dist-info/LICENSE.md +36 -0
- warp_lang-0.11.0.dist-info/METADATA +238 -0
- warp_lang-0.11.0.dist-info/RECORD +332 -0
- {warp_lang-0.9.0.dist-info → warp_lang-0.11.0.dist-info}/WHEEL +1 -1
- warp/bin/warp-clang.exp +0 -0
- warp/bin/warp-clang.lib +0 -0
- warp/bin/warp.exp +0 -0
- warp/bin/warp.lib +0 -0
- warp/tests/test_all.py +0 -215
- warp/tests/test_array_scan.py +0 -60
- warp/tests/test_base.py +0 -208
- warp/tests/test_unresolved_func.py +0 -7
- warp/tests/test_unresolved_symbol.py +0 -7
- warp_lang-0.9.0.dist-info/METADATA +0 -20
- warp_lang-0.9.0.dist-info/RECORD +0 -177
- /warp/tests/{test_compile_consts_dummy.py → aux_test_compile_consts_dummy.py} +0 -0
- /warp/tests/{test_reference_reference.py → aux_test_reference_reference.py} +0 -0
- /warp/tests/{test_square.py → aux_test_square.py} +0 -0
- {warp_lang-0.9.0.dist-info → warp_lang-0.11.0.dist-info}/top_level.txt +0 -0
warp/native/warp.h
CHANGED
|
@@ -32,10 +32,12 @@ extern "C"
|
|
|
32
32
|
WP_API void* alloc_host(size_t s);
|
|
33
33
|
WP_API void* alloc_pinned(size_t s);
|
|
34
34
|
WP_API void* alloc_device(void* context, size_t s);
|
|
35
|
+
WP_API void* alloc_temp_device(void* context, size_t s);
|
|
35
36
|
|
|
36
37
|
WP_API void free_host(void* ptr);
|
|
37
38
|
WP_API void free_pinned(void* ptr);
|
|
38
39
|
WP_API void free_device(void* context, void* ptr);
|
|
40
|
+
WP_API void free_temp_device(void* context, void* ptr);
|
|
39
41
|
|
|
40
42
|
// all memcpys are performed asynchronously
|
|
41
43
|
WP_API void memcpy_h2h(void* dest, void* src, size_t n);
|
|
@@ -49,24 +51,24 @@ extern "C"
|
|
|
49
51
|
WP_API void memset_device(void* context, void* dest, int value, size_t n);
|
|
50
52
|
|
|
51
53
|
// takes srcsize bytes starting at src and repeats them n times at dst (writes srcsize * n bytes in total):
|
|
52
|
-
WP_API void memtile_host(void* dest, void
|
|
53
|
-
WP_API void memtile_device(void* context, void* dest, void
|
|
54
|
+
WP_API void memtile_host(void* dest, const void* src, size_t srcsize, size_t n);
|
|
55
|
+
WP_API void memtile_device(void* context, void* dest, const void* src, size_t srcsize, size_t n);
|
|
54
56
|
|
|
55
|
-
WP_API uint64_t bvh_create_host(wp::vec3* lowers, wp::vec3* uppers, int
|
|
57
|
+
WP_API uint64_t bvh_create_host(wp::vec3* lowers, wp::vec3* uppers, int num_items);
|
|
56
58
|
WP_API void bvh_destroy_host(uint64_t id);
|
|
57
59
|
WP_API void bvh_refit_host(uint64_t id);
|
|
58
60
|
|
|
59
|
-
WP_API uint64_t bvh_create_device(void* context, wp::vec3* lowers, wp::vec3* uppers, int
|
|
61
|
+
WP_API uint64_t bvh_create_device(void* context, wp::vec3* lowers, wp::vec3* uppers, int num_items);
|
|
60
62
|
WP_API void bvh_destroy_device(uint64_t id);
|
|
61
63
|
WP_API void bvh_refit_device(uint64_t id);
|
|
62
64
|
|
|
63
65
|
// create a user-accessible copy of the mesh, it is the
|
|
64
66
|
// users responsibility to keep-alive the points/tris data for the duration of the mesh lifetime
|
|
65
|
-
WP_API uint64_t mesh_create_host(wp::array_t<wp::vec3> points, wp::array_t<wp::vec3> velocities, wp::array_t<int> tris, int num_points, int num_tris);
|
|
67
|
+
WP_API uint64_t mesh_create_host(wp::array_t<wp::vec3> points, wp::array_t<wp::vec3> velocities, wp::array_t<int> tris, int num_points, int num_tris, int support_winding_number);
|
|
66
68
|
WP_API void mesh_destroy_host(uint64_t id);
|
|
67
69
|
WP_API void mesh_refit_host(uint64_t id);
|
|
68
70
|
|
|
69
|
-
WP_API uint64_t mesh_create_device(void* context, wp::array_t<wp::vec3> points, wp::array_t<wp::vec3> velocities, wp::array_t<int> tris, int num_points, int num_tris);
|
|
71
|
+
WP_API uint64_t mesh_create_device(void* context, wp::array_t<wp::vec3> points, wp::array_t<wp::vec3> velocities, wp::array_t<int> tris, int num_points, int num_tris, int support_winding_number);
|
|
70
72
|
WP_API void mesh_destroy_device(uint64_t id);
|
|
71
73
|
WP_API void mesh_refit_device(uint64_t id);
|
|
72
74
|
|
|
@@ -107,11 +109,19 @@ extern "C"
|
|
|
107
109
|
WP_API size_t array_copy_host(void* dst, void* src, int dst_type, int src_type, int elem_size);
|
|
108
110
|
WP_API size_t array_copy_device(void* context, void* dst, void* src, int dst_type, int src_type, int elem_size);
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
WP_API void
|
|
112
|
+
// generic fill for non-contiguous arrays
|
|
113
|
+
WP_API void array_fill_host(void* arr, int arr_type, const void* value, int value_size);
|
|
114
|
+
WP_API void array_fill_device(void* context, void* arr, int arr_type, const void* value, int value_size);
|
|
112
115
|
|
|
113
|
-
WP_API void
|
|
114
|
-
WP_API void
|
|
116
|
+
WP_API void array_inner_float_host(uint64_t a, uint64_t b, uint64_t out, int count, int stride_a, int stride_b, int type_len);
|
|
117
|
+
WP_API void array_inner_double_host(uint64_t a, uint64_t b, uint64_t out, int count, int stride_a, int stride_b, int type_len);
|
|
118
|
+
WP_API void array_inner_float_device(uint64_t a, uint64_t b, uint64_t out, int count, int stride_a, int stride_b, int type_len);
|
|
119
|
+
WP_API void array_inner_double_device(uint64_t a, uint64_t b, uint64_t out, int count, int stride_a, int stride_b, int type_len);
|
|
120
|
+
|
|
121
|
+
WP_API void array_sum_float_device(uint64_t a, uint64_t out, int count, int stride, int type_len);
|
|
122
|
+
WP_API void array_sum_float_host(uint64_t a, uint64_t out, int count, int stride, int type_len);
|
|
123
|
+
WP_API void array_sum_double_host(uint64_t a, uint64_t out, int count, int stride, int type_len);
|
|
124
|
+
WP_API void array_sum_double_device(uint64_t a, uint64_t out, int count, int stride, int type_len);
|
|
115
125
|
|
|
116
126
|
WP_API void array_scan_int_host(uint64_t in, uint64_t out, int len, bool inclusive);
|
|
117
127
|
WP_API void array_scan_float_host(uint64_t in, uint64_t out, int len, bool inclusive);
|
|
@@ -119,8 +129,92 @@ extern "C"
|
|
|
119
129
|
WP_API void array_scan_int_device(uint64_t in, uint64_t out, int len, bool inclusive);
|
|
120
130
|
WP_API void array_scan_float_device(uint64_t in, uint64_t out, int len, bool inclusive);
|
|
121
131
|
|
|
132
|
+
WP_API void radix_sort_pairs_int_host(uint64_t keys, uint64_t values, int n);
|
|
133
|
+
WP_API void radix_sort_pairs_int_device(uint64_t keys, uint64_t values, int n);
|
|
134
|
+
|
|
135
|
+
WP_API void runlength_encode_int_host(uint64_t values, uint64_t run_values, uint64_t run_lengths, uint64_t run_count, int n);
|
|
136
|
+
WP_API void runlength_encode_int_device(uint64_t values, uint64_t run_values, uint64_t run_lengths, uint64_t run_count, int n);
|
|
137
|
+
|
|
138
|
+
WP_API int bsr_matrix_from_triplets_float_host(
|
|
139
|
+
int rows_per_block,
|
|
140
|
+
int cols_per_block,
|
|
141
|
+
int row_count,
|
|
142
|
+
int nnz,
|
|
143
|
+
uint64_t tpl_rows,
|
|
144
|
+
uint64_t tpl_columns,
|
|
145
|
+
uint64_t tpl_values,
|
|
146
|
+
uint64_t bsr_offsets,
|
|
147
|
+
uint64_t bsr_columns,
|
|
148
|
+
uint64_t bsr_values);
|
|
149
|
+
WP_API int bsr_matrix_from_triplets_double_host(
|
|
150
|
+
int rows_per_block,
|
|
151
|
+
int cols_per_block,
|
|
152
|
+
int row_count,
|
|
153
|
+
int nnz,
|
|
154
|
+
uint64_t tpl_rows,
|
|
155
|
+
uint64_t tpl_columns,
|
|
156
|
+
uint64_t tpl_values,
|
|
157
|
+
uint64_t bsr_offsets,
|
|
158
|
+
uint64_t bsr_columns,
|
|
159
|
+
uint64_t bsr_values);
|
|
160
|
+
|
|
161
|
+
WP_API int bsr_matrix_from_triplets_float_device(
|
|
162
|
+
int rows_per_block,
|
|
163
|
+
int cols_per_block,
|
|
164
|
+
int row_count,
|
|
165
|
+
int nnz,
|
|
166
|
+
uint64_t tpl_rows,
|
|
167
|
+
uint64_t tpl_columns,
|
|
168
|
+
uint64_t tpl_values,
|
|
169
|
+
uint64_t bsr_offsets,
|
|
170
|
+
uint64_t bsr_columns,
|
|
171
|
+
uint64_t bsr_values);
|
|
172
|
+
WP_API int bsr_matrix_from_triplets_double_device(
|
|
173
|
+
int rows_per_block,
|
|
174
|
+
int cols_per_block,
|
|
175
|
+
int row_count,
|
|
176
|
+
int nnz,
|
|
177
|
+
uint64_t tpl_rows,
|
|
178
|
+
uint64_t tpl_columns,
|
|
179
|
+
uint64_t tpl_values,
|
|
180
|
+
uint64_t bsr_offsets,
|
|
181
|
+
uint64_t bsr_columns,
|
|
182
|
+
uint64_t bsr_values);
|
|
183
|
+
|
|
184
|
+
WP_API void bsr_transpose_float_host(int rows_per_block, int cols_per_block,
|
|
185
|
+
int row_count, int col_count, int nnz,
|
|
186
|
+
uint64_t bsr_offsets, uint64_t bsr_columns,
|
|
187
|
+
uint64_t bsr_values,
|
|
188
|
+
uint64_t transposed_bsr_offsets,
|
|
189
|
+
uint64_t transposed_bsr_columns,
|
|
190
|
+
uint64_t transposed_bsr_values);
|
|
191
|
+
WP_API void bsr_transpose_double_host(int rows_per_block, int cols_per_block,
|
|
192
|
+
int row_count, int col_count, int nnz,
|
|
193
|
+
uint64_t bsr_offsets, uint64_t bsr_columns,
|
|
194
|
+
uint64_t bsr_values,
|
|
195
|
+
uint64_t transposed_bsr_offsets,
|
|
196
|
+
uint64_t transposed_bsr_columns,
|
|
197
|
+
uint64_t transposed_bsr_values);
|
|
198
|
+
|
|
199
|
+
WP_API void bsr_transpose_float_device(int rows_per_block, int cols_per_block,
|
|
200
|
+
int row_count, int col_count, int nnz,
|
|
201
|
+
uint64_t bsr_offsets, uint64_t bsr_columns,
|
|
202
|
+
uint64_t bsr_values,
|
|
203
|
+
uint64_t transposed_bsr_offsets,
|
|
204
|
+
uint64_t transposed_bsr_columns,
|
|
205
|
+
uint64_t transposed_bsr_values);
|
|
206
|
+
WP_API void bsr_transpose_double_device(int rows_per_block, int cols_per_block,
|
|
207
|
+
int row_count, int col_count, int nnz,
|
|
208
|
+
uint64_t bsr_offsets, uint64_t bsr_columns,
|
|
209
|
+
uint64_t bsr_values,
|
|
210
|
+
uint64_t transposed_bsr_offsets,
|
|
211
|
+
uint64_t transposed_bsr_columns,
|
|
212
|
+
uint64_t transposed_bsr_values);
|
|
213
|
+
|
|
214
|
+
|
|
122
215
|
WP_API int cuda_driver_version(); // CUDA driver version
|
|
123
216
|
WP_API int cuda_toolkit_version(); // CUDA Toolkit version used to build Warp
|
|
217
|
+
WP_API bool cuda_driver_is_initialized();
|
|
124
218
|
|
|
125
219
|
WP_API int nvrtc_supported_arch_count();
|
|
126
220
|
WP_API void nvrtc_supported_archs(int* archs);
|
|
@@ -130,7 +224,12 @@ extern "C"
|
|
|
130
224
|
WP_API void cuda_device_primary_context_release(int ordinal);
|
|
131
225
|
WP_API const char* cuda_device_get_name(int ordinal);
|
|
132
226
|
WP_API int cuda_device_get_arch(int ordinal);
|
|
227
|
+
WP_API void cuda_device_get_uuid(int ordinal, char uuid[16]);
|
|
228
|
+
WP_API int cuda_device_get_pci_domain_id(int ordinal);
|
|
229
|
+
WP_API int cuda_device_get_pci_bus_id(int ordinal);
|
|
230
|
+
WP_API int cuda_device_get_pci_device_id(int ordinal);
|
|
133
231
|
WP_API int cuda_device_is_uva(int ordinal);
|
|
232
|
+
WP_API int cuda_device_is_memory_pool_supported(int ordinal);
|
|
134
233
|
|
|
135
234
|
WP_API void* cuda_context_get_current();
|
|
136
235
|
WP_API void cuda_context_set_current(void* context);
|
|
@@ -140,6 +239,7 @@ extern "C"
|
|
|
140
239
|
WP_API void cuda_context_destroy(void* context);
|
|
141
240
|
WP_API int cuda_context_get_device_ordinal(void* context);
|
|
142
241
|
WP_API int cuda_context_is_primary(void* context);
|
|
242
|
+
WP_API int cuda_context_is_memory_pool_supported(void* context);
|
|
143
243
|
WP_API void* cuda_context_get_stream(void* context);
|
|
144
244
|
WP_API void cuda_context_set_stream(void* context, void* stream);
|
|
145
245
|
WP_API int cuda_context_can_access_peer(void* context, void* peer_context);
|
|
@@ -172,7 +272,7 @@ extern "C"
|
|
|
172
272
|
WP_API void* cuda_load_module(void* context, const char* ptx);
|
|
173
273
|
WP_API void cuda_unload_module(void* context, void* module);
|
|
174
274
|
WP_API void* cuda_get_kernel(void* context, void* module, const char* name);
|
|
175
|
-
WP_API size_t cuda_launch_kernel(void* context, void* kernel, size_t dim, void** args);
|
|
275
|
+
WP_API size_t cuda_launch_kernel(void* context, void* kernel, size_t dim, int max_blocks, void** args);
|
|
176
276
|
|
|
177
277
|
WP_API void cuda_set_context_restore_policy(bool always_restore);
|
|
178
278
|
WP_API int cuda_get_context_restore_policy();
|
|
@@ -184,4 +284,4 @@ extern "C"
|
|
|
184
284
|
WP_API void cuda_graphics_unregister_resource(void* context, void* resource);
|
|
185
285
|
|
|
186
286
|
} // extern "C"
|
|
187
|
-
|
|
287
|
+
|
warp/optim/__init__.py
CHANGED