nvmath-python 1.0.0__cp314-cp314t-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.
- nvmath/__init__.pxd +0 -0
- nvmath/__init__.py +45 -0
- nvmath/_internal/__init__.py +0 -0
- nvmath/_internal/attribute_ifc_factory.py +330 -0
- nvmath/_internal/layout.py +70 -0
- nvmath/_internal/templates.py +130 -0
- nvmath/_internal/threadsafe.py +106 -0
- nvmath/_internal/utils.py +43 -0
- nvmath/_internal/workspace.py +490 -0
- nvmath/_utils.py +147 -0
- nvmath/bindings/__init__.py +60 -0
- nvmath/bindings/_internal/__init__.pxd +0 -0
- nvmath/bindings/_internal/__init__.py +0 -0
- nvmath/bindings/_internal/common_types.pxd +31 -0
- nvmath/bindings/_internal/cublas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cublas.pxd +530 -0
- nvmath/bindings/_internal/cublasLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cublasLt.pxd +59 -0
- nvmath/bindings/_internal/cublasMp.pxd +52 -0
- nvmath/bindings/_internal/cudss.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cudss.pxd +54 -0
- nvmath/bindings/_internal/cufft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cufft.pxd +70 -0
- nvmath/bindings/_internal/cufftMp.pxd +77 -0
- nvmath/bindings/_internal/curand.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/curand.pxd +42 -0
- nvmath/bindings/_internal/cusolver.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cusolver.pxd +15 -0
- nvmath/bindings/_internal/cusolverDn.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cusolverDn.pxd +406 -0
- nvmath/bindings/_internal/cusolverMp.pxd +71 -0
- nvmath/bindings/_internal/cusolverSp.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cusolverSp.pxd +75 -0
- nvmath/bindings/_internal/cusparse.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cusparse.pxd +471 -0
- nvmath/bindings/_internal/cusparseLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cusparseLt.pxd +48 -0
- nvmath/bindings/_internal/cutensor.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/cutensor.pxd +58 -0
- nvmath/bindings/_internal/mathdx.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/mathdx.pxd +116 -0
- nvmath/bindings/_internal/nvshmem.pxd +29 -0
- nvmath/bindings/_internal/utils.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/_internal/utils.pxd +174 -0
- nvmath/bindings/_internal/utils.pyi +10 -0
- nvmath/bindings/cublas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cublas.pxd +558 -0
- nvmath/bindings/cublas.pyi +812 -0
- nvmath/bindings/cublasLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cublasLt.pxd +109 -0
- nvmath/bindings/cublasLt.pyi +1461 -0
- nvmath/bindings/cublasMp.pxd +85 -0
- nvmath/bindings/cublasMp.pyi +267 -0
- nvmath/bindings/cudss.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cudss.pxd +98 -0
- nvmath/bindings/cudss.pyi +443 -0
- nvmath/bindings/cufft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cufft.pxd +118 -0
- nvmath/bindings/cufft.pyi +301 -0
- nvmath/bindings/cufftMp.pxd +124 -0
- nvmath/bindings/cufftMp.pyi +326 -0
- nvmath/bindings/curand.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/curand.pxd +71 -0
- nvmath/bindings/curand.pyi +189 -0
- nvmath/bindings/cusolver.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cusolver.pxd +62 -0
- nvmath/bindings/cusolver.pyi +320 -0
- nvmath/bindings/cusolverDn.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cusolverDn.pxd +430 -0
- nvmath/bindings/cusolverDn.pyi +422 -0
- nvmath/bindings/cusolverMp.pxd +98 -0
- nvmath/bindings/cusolverMp.pyi +114 -0
- nvmath/bindings/cusolverSp.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cusolverSp.pxd +95 -0
- nvmath/bindings/cusolverSp.pyi +70 -0
- nvmath/bindings/cusparse.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cusparse.pxd +546 -0
- nvmath/bindings/cusparse.pyi +1017 -0
- nvmath/bindings/cusparseLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cusparseLt.pxd +99 -0
- nvmath/bindings/cusparseLt.pyi +252 -0
- nvmath/bindings/cutensor.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cutensor.pxd +98 -0
- nvmath/bindings/cutensor.pyi +324 -0
- nvmath/bindings/cycublas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycublas.pxd +664 -0
- nvmath/bindings/cycublasLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycublasLt.pxd +1045 -0
- nvmath/bindings/cycublasMp.pxd +171 -0
- nvmath/bindings/cycudss.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycudss.pxd +277 -0
- nvmath/bindings/cycufft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycufft.pxd +333 -0
- nvmath/bindings/cycufftMp.pxd +342 -0
- nvmath/bindings/cycurand.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycurand.pxd +141 -0
- nvmath/bindings/cycusolver.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycusolver.pxd +137 -0
- nvmath/bindings/cycusolverDn.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycusolverDn.pxd +443 -0
- nvmath/bindings/cycusolverMp.pxd +107 -0
- nvmath/bindings/cycusolverSp.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycusolverSp.pxd +93 -0
- nvmath/bindings/cycusparse.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycusparse.pxd +679 -0
- nvmath/bindings/cycusparseLt.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycusparseLt.pxd +135 -0
- nvmath/bindings/cycutensor.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cycutensor.pxd +189 -0
- nvmath/bindings/cymathdx.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/cymathdx.pxd +552 -0
- nvmath/bindings/cynvshmem.pxd +118 -0
- nvmath/bindings/mathdx.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/mathdx.pxd +182 -0
- nvmath/bindings/mathdx.pyi +1562 -0
- nvmath/bindings/nvpl/__init__.pxd +0 -0
- nvmath/bindings/nvpl/__init__.py +13 -0
- nvmath/bindings/nvpl/_internal/__init__.pxd +0 -0
- nvmath/bindings/nvpl/_internal/__init__.py +0 -0
- nvmath/bindings/nvpl/_internal/blas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/_internal/blas.pxd +237 -0
- nvmath/bindings/nvpl/_internal/fft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/_internal/fft.pxd +36 -0
- nvmath/bindings/nvpl/blas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/blas.pxd +131 -0
- nvmath/bindings/nvpl/blas.pyi +168 -0
- nvmath/bindings/nvpl/cyblas.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/cyblas.pxd +280 -0
- nvmath/bindings/nvpl/cyfft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/cyfft.pxd +93 -0
- nvmath/bindings/nvpl/fft.cp314t-win_amd64.pyd +0 -0
- nvmath/bindings/nvpl/fft.pxd +100 -0
- nvmath/bindings/nvpl/fft.pyi +168 -0
- nvmath/bindings/nvshmem.pxd +54 -0
- nvmath/bindings/nvshmem.pyi +191 -0
- nvmath/device/__init__.py +38 -0
- nvmath/device/_deprecated.py +33 -0
- nvmath/device/common.py +315 -0
- nvmath/device/common_backend.py +131 -0
- nvmath/device/common_cuda.py +201 -0
- nvmath/device/common_numba.py +300 -0
- nvmath/device/common_numba_cuda_mlir.py +202 -0
- nvmath/device/common_opaque_tensor.py +201 -0
- nvmath/device/cublasdx.py +1606 -0
- nvmath/device/cublasdx_backend.py +860 -0
- nvmath/device/cublasdx_numba.py +1534 -0
- nvmath/device/cublasdx_numba_cuda_mlir.py +208 -0
- nvmath/device/cufftdx.py +373 -0
- nvmath/device/cufftdx_backend.py +220 -0
- nvmath/device/cufftdx_numba.py +140 -0
- nvmath/device/cufftdx_numba_cuda_mlir.py +79 -0
- nvmath/device/curand_kernel.py +9147 -0
- nvmath/device/cusolverdx.py +2708 -0
- nvmath/device/cusolverdx_backend.py +440 -0
- nvmath/device/cusolverdx_numba.py +567 -0
- nvmath/device/cusolverdx_numba_cuda_mlir.py +604 -0
- nvmath/device/cusolverdx_overload_backend.py +1029 -0
- nvmath/device/llvm_array.py +29 -0
- nvmath/device/random.py +441 -0
- nvmath/device/random_helpers.py +23 -0
- nvmath/device/random_states.py +187 -0
- nvmath/device/types.py +138 -0
- nvmath/device/vector_types_numba.py +259 -0
- nvmath/distributed/__init__.py +200 -0
- nvmath/distributed/_internal/__init__.py +0 -0
- nvmath/distributed/_internal/nccl.py +86 -0
- nvmath/distributed/_internal/nvshmem.py +307 -0
- nvmath/distributed/_internal/symmetric_memory.py +35 -0
- nvmath/distributed/_internal/tensor_ifc.py +70 -0
- nvmath/distributed/_internal/tensor_ifc_cupy.py +68 -0
- nvmath/distributed/_internal/tensor_ifc_host_device.py +172 -0
- nvmath/distributed/_internal/tensor_ifc_numpy.py +46 -0
- nvmath/distributed/_internal/tensor_ifc_torch.py +162 -0
- nvmath/distributed/_internal/tensor_wrapper.py +81 -0
- nvmath/distributed/_utils.py +167 -0
- nvmath/distributed/distribution/__init__.py +30 -0
- nvmath/distributed/distribution/_configuration.py +39 -0
- nvmath/distributed/distribution/distributions.py +1024 -0
- nvmath/distributed/distribution/redistribute.py +1284 -0
- nvmath/distributed/fft/__init__.py +7 -0
- nvmath/distributed/fft/_configuration.py +82 -0
- nvmath/distributed/fft/fft.py +2742 -0
- nvmath/distributed/linalg/__init__.py +22 -0
- nvmath/distributed/linalg/_internal/__init__.py +3 -0
- nvmath/distributed/linalg/_internal/epilog_protocol.py +586 -0
- nvmath/distributed/linalg/_internal/matmul_desc_ifc.py +28 -0
- nvmath/distributed/linalg/advanced/__init__.py +8 -0
- nvmath/distributed/linalg/advanced/_configuration.py +171 -0
- nvmath/distributed/linalg/advanced/matmulmod.py +3573 -0
- nvmath/distributed/linalg/generic/__init__.py +8 -0
- nvmath/distributed/linalg/generic/_caching.py +66 -0
- nvmath/distributed/linalg/generic/_configuration.py +61 -0
- nvmath/distributed/linalg/generic/_factorization.py +172 -0
- nvmath/distributed/linalg/generic/_initialization.py +966 -0
- nvmath/distributed/linalg/generic/_problem_spec.py +511 -0
- nvmath/distributed/linalg/generic/solvermod.py +1368 -0
- nvmath/distributed/process_group.py +408 -0
- nvmath/fft/__init__.py +7 -0
- nvmath/fft/_configuration.py +189 -0
- nvmath/fft/_exec_utils.py +82 -0
- nvmath/fft/_helpers.py +237 -0
- nvmath/fft/fft.py +3122 -0
- nvmath/internal/__init__.pxd +3 -0
- nvmath/internal/__init__.py +10 -0
- nvmath/internal/_bindings.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/_bindings.pxd +18 -0
- nvmath/internal/_device_utils.py +45 -0
- nvmath/internal/_layout/__init__.pxd +3 -0
- nvmath/internal/_layout/__init__.py +7 -0
- nvmath/internal/_layout/_layout.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/_layout/_layout.pxd +1303 -0
- nvmath/internal/_layout/_layout.pyi +1145 -0
- nvmath/internal/enum_utils.py +142 -0
- nvmath/internal/formatters.py +87 -0
- nvmath/internal/mem_limit.py +51 -0
- nvmath/internal/memory.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/memory.pxd +13 -0
- nvmath/internal/memory.pyi +50 -0
- nvmath/internal/ndbuffer/__init__.pxd +3 -0
- nvmath/internal/ndbuffer/__init__.py +9 -0
- nvmath/internal/ndbuffer/_copy_kernel.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/ndbuffer/_copy_kernel.pxd +10 -0
- nvmath/internal/ndbuffer/_jit.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/ndbuffer/_jit.pxd +7 -0
- nvmath/internal/ndbuffer/_ndbuffer.cp314t-win_amd64.pyd +0 -0
- nvmath/internal/ndbuffer/_ndbuffer.pxd +40 -0
- nvmath/internal/ndbuffer/_ndbuffer.pyi +463 -0
- nvmath/internal/ndbuffer/copy_kernel/args.h +34 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/array_view.h +52 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/elementwise.h +68 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/grid_indexer.h +69 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/transposed.h +242 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/type_utils.h +39 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/utils.h +132 -0
- nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/vec.h +159 -0
- nvmath/internal/ndbuffer/copy_kernel/elementwise.h +53 -0
- nvmath/internal/ndbuffer/copy_kernel/transposed.h +58 -0
- nvmath/internal/package_ifc.py +168 -0
- nvmath/internal/package_ifc_cuda.py +57 -0
- nvmath/internal/package_ifc_cupy.py +67 -0
- nvmath/internal/package_ifc_torch.py +69 -0
- nvmath/internal/package_wrapper.py +14 -0
- nvmath/internal/tensor_ifc.py +179 -0
- nvmath/internal/tensor_ifc_cupy.py +234 -0
- nvmath/internal/tensor_ifc_ndbuffer.py +147 -0
- nvmath/internal/tensor_ifc_numpy.py +184 -0
- nvmath/internal/tensor_ifc_torch.py +178 -0
- nvmath/internal/tensor_wrapper.py +160 -0
- nvmath/internal/typemaps.py +113 -0
- nvmath/internal/utils.py +805 -0
- nvmath/linalg/__init__.py +56 -0
- nvmath/linalg/_internal/__init__.py +3 -0
- nvmath/linalg/_internal/algo_cap_ifc.py +82 -0
- nvmath/linalg/_internal/algo_config_ifc.py +43 -0
- nvmath/linalg/_internal/batch.py +234 -0
- nvmath/linalg/_internal/enum_to_tuples.py +64 -0
- nvmath/linalg/_internal/epilog_protocol.py +766 -0
- nvmath/linalg/_internal/layout.py +624 -0
- nvmath/linalg/_internal/matmul_desc_ifc.py +28 -0
- nvmath/linalg/_internal/matmul_pref_ifc.py +27 -0
- nvmath/linalg/_internal/matrix_layout_ifc.py +26 -0
- nvmath/linalg/_internal/solver_utils.py +432 -0
- nvmath/linalg/_internal/typemaps.py +144 -0
- nvmath/linalg/_internal/utils.py +157 -0
- nvmath/linalg/advanced/__init__.py +8 -0
- nvmath/linalg/advanced/_algorithmmod.py +170 -0
- nvmath/linalg/advanced/_configuration.py +351 -0
- nvmath/linalg/advanced/helpers/__init__.py +5 -0
- nvmath/linalg/advanced/helpers/matmul.py +1316 -0
- nvmath/linalg/advanced/matmulmod.py +3734 -0
- nvmath/linalg/generic/__init__.py +53 -0
- nvmath/linalg/generic/_configuration/__init__.py +39 -0
- nvmath/linalg/generic/_configuration/layout.py +263 -0
- nvmath/linalg/generic/_configuration/match.py +734 -0
- nvmath/linalg/generic/_configuration/qualifiers.py +493 -0
- nvmath/linalg/generic/_configuration/solver_configuration.py +59 -0
- nvmath/linalg/generic/_configuration/wrap.py +217 -0
- nvmath/linalg/generic/_dtype.py +15 -0
- nvmath/linalg/generic/matmulmod.py +2094 -0
- nvmath/linalg/generic/solvermod.py +1301 -0
- nvmath/memory.py +279 -0
- nvmath/sparse/__init__.py +38 -0
- nvmath/sparse/_internal/__init__.py +21 -0
- nvmath/sparse/_internal/common_utils.py +147 -0
- nvmath/sparse/_internal/cudss_config_ifc.py +702 -0
- nvmath/sparse/_internal/cudss_data_ifc.py +399 -0
- nvmath/sparse/_internal/cudss_utils.py +506 -0
- nvmath/sparse/_internal/cusparse_utils.py +382 -0
- nvmath/sparse/_internal/sparse_bsc_ifc.py +303 -0
- nvmath/sparse/_internal/sparse_bsr_ifc.py +305 -0
- nvmath/sparse/_internal/sparse_coo_ifc.py +256 -0
- nvmath/sparse/_internal/sparse_csc_ifc.py +268 -0
- nvmath/sparse/_internal/sparse_csr_ifc.py +288 -0
- nvmath/sparse/_internal/sparse_dia_ifc.py +242 -0
- nvmath/sparse/_internal/sparse_format_helpers.py +601 -0
- nvmath/sparse/_internal/sparse_tensor_ifc.py +133 -0
- nvmath/sparse/_internal/sparse_ust_ifc.py +141 -0
- nvmath/sparse/_internal/utils.py +56 -0
- nvmath/sparse/advanced/__init__.py +7 -0
- nvmath/sparse/advanced/_configuration.py +227 -0
- nvmath/sparse/advanced/direct_solver.py +2069 -0
- nvmath/sparse/generic/__init__.py +7 -0
- nvmath/sparse/generic/_configuration.py +129 -0
- nvmath/sparse/generic/_helpers.py +137 -0
- nvmath/sparse/generic/_thunks.py +21 -0
- nvmath/sparse/generic/matmulmod.py +2353 -0
- nvmath/sparse/ust/__init__.py +7 -0
- nvmath/sparse/ust/_converters.py +422 -0
- nvmath/sparse/ust/_cpp.py +28 -0
- nvmath/sparse/ust/_drawer.py +565 -0
- nvmath/sparse/ust/_emitter.py +1033 -0
- nvmath/sparse/ust/_jit.py +188 -0
- nvmath/sparse/ust/_kernel.py +282 -0
- nvmath/sparse/ust/_utils.py +149 -0
- nvmath/sparse/ust/interfaces/__init__.py +0 -0
- nvmath/sparse/ust/interfaces/torch_interface.py +476 -0
- nvmath/sparse/ust/tensor.py +1016 -0
- nvmath/sparse/ust/tensor_format.py +957 -0
- nvmath/tensor/__init__.py +6 -0
- nvmath/tensor/_configuration.py +120 -0
- nvmath/tensor/_internal/__init__.py +3 -0
- nvmath/tensor/_internal/cutensor_config_ifc.py +279 -0
- nvmath/tensor/_internal/cutensor_utils.py +230 -0
- nvmath/tensor/_internal/data.py +43 -0
- nvmath/tensor/_internal/einsum_parser.py +444 -0
- nvmath/tensor/_internal/typemaps.py +96 -0
- nvmath/tensor/contract.py +1900 -0
- nvmath_python-1.0.0.dist-info/METADATA +134 -0
- nvmath_python-1.0.0.dist-info/RECORD +332 -0
- nvmath_python-1.0.0.dist-info/WHEEL +5 -0
- nvmath_python-1.0.0.dist-info/licenses/LICENSE +177 -0
- nvmath_python-1.0.0.dist-info/top_level.txt +2 -0
|
Binary file
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
#
|
|
5
|
+
# This code was automatically generated across versions from 0.7.1 to 0.8.1, generator version 0.3.1.dev1565+g7fa82f8eb. Do not modify it directly.
|
|
6
|
+
|
|
7
|
+
cimport cython
|
|
8
|
+
|
|
9
|
+
from libc.stdint cimport intptr_t, int64_t, uint8_t, uint32_t, int32_t
|
|
10
|
+
|
|
11
|
+
from .cycusparseLt cimport *
|
|
12
|
+
from .cycusparseLt cimport cusparseComputeType
|
|
13
|
+
from .cycusparse cimport cusparseStatus_t, cusparseOrder_t, cusparseOperation_t
|
|
14
|
+
from .cusparse cimport LibraryPropertyType
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
###############################################################################
|
|
18
|
+
# Types
|
|
19
|
+
###############################################################################
|
|
20
|
+
|
|
21
|
+
ctypedef cusparseLtHandle_t Handle
|
|
22
|
+
ctypedef cusparseLtMatDescriptor_t MatDescriptor
|
|
23
|
+
ctypedef cusparseLtMatmulDescriptor_t MatmulDescriptor
|
|
24
|
+
ctypedef cusparseLtMatmulAlgSelection_t MatmulAlgSelection
|
|
25
|
+
ctypedef cusparseLtMatmulPlan_t MatmulPlan
|
|
26
|
+
|
|
27
|
+
ctypedef cudaStream_t Stream
|
|
28
|
+
ctypedef cudaDataType DataType
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
###############################################################################
|
|
32
|
+
# Enum
|
|
33
|
+
###############################################################################
|
|
34
|
+
|
|
35
|
+
ctypedef cusparseLtSparsity_t _Sparsity
|
|
36
|
+
ctypedef cusparseLtMatDescAttribute_t _MatDescAttribute
|
|
37
|
+
ctypedef cusparseComputeType _ComputeType
|
|
38
|
+
ctypedef cusparseLtMatmulDescAttribute_t _MatmulDescAttribute
|
|
39
|
+
ctypedef cusparseLtMatmulMatrixScale_t _MatmulMatrixScale
|
|
40
|
+
ctypedef cusparseLtMatmulAlg_t _MatmulAlg
|
|
41
|
+
ctypedef cusparseLtMatmulAlgAttribute_t _MatmulAlgAttribute
|
|
42
|
+
ctypedef cusparseLtSplitKMode_t _SplitKMode
|
|
43
|
+
ctypedef cusparseLtPruneAlg_t _PruneAlg
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
###############################################################################
|
|
47
|
+
# Functions
|
|
48
|
+
###############################################################################
|
|
49
|
+
|
|
50
|
+
cpdef str get_error_name(cusparseStatus_t status)
|
|
51
|
+
cpdef str get_error_string(cusparseStatus_t status)
|
|
52
|
+
cpdef _init(intptr_t handle)
|
|
53
|
+
cpdef _destroy(intptr_t handle)
|
|
54
|
+
cpdef int get_version(intptr_t handle) except? -1
|
|
55
|
+
cpdef int get_property(int property_type) except? -1
|
|
56
|
+
cpdef _dense_descriptor_init(intptr_t handle, intptr_t mat_descr, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order)
|
|
57
|
+
cpdef _structured_descriptor_init(intptr_t handle, intptr_t mat_descr, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order, int sparsity)
|
|
58
|
+
cpdef _mat_descriptor_destroy(intptr_t mat_descr)
|
|
59
|
+
cpdef get_mat_desc_attribute_dtype(int attr)
|
|
60
|
+
cpdef mat_desc_set_attribute(intptr_t handle, intptr_t matmul_descr, int mat_attribute, intptr_t data, size_t data_size)
|
|
61
|
+
cpdef mat_desc_get_attribute(intptr_t handle, intptr_t matmul_descr, int mat_attribute, intptr_t data, size_t data_size)
|
|
62
|
+
cpdef _matmul_descriptor_init(intptr_t handle, intptr_t matmul_descr, int op_a, int op_b, intptr_t mat_a, intptr_t mat_b, intptr_t mat_c, intptr_t mat_d, int compute_type)
|
|
63
|
+
cpdef get_matmul_desc_attribute_dtype(int attr)
|
|
64
|
+
cpdef matmul_desc_set_attribute(intptr_t handle, intptr_t matmul_descr, int matmul_attribute, intptr_t data, size_t data_size)
|
|
65
|
+
cpdef matmul_desc_get_attribute(intptr_t handle, intptr_t matmul_descr, int matmul_attribute, intptr_t data, size_t data_size)
|
|
66
|
+
cpdef _matmul_alg_selection_init(intptr_t handle, intptr_t alg_selection, intptr_t matmul_descr, int alg)
|
|
67
|
+
cpdef get_matmul_alg_attribute_dtype(int attr)
|
|
68
|
+
cpdef matmul_alg_set_attribute(intptr_t handle, intptr_t alg_selection, int attribute, intptr_t data, size_t data_size)
|
|
69
|
+
cpdef matmul_alg_get_attribute(intptr_t handle, intptr_t alg_selection, int attribute, intptr_t data, size_t data_size)
|
|
70
|
+
cpdef size_t matmul_get_workspace(intptr_t handle, intptr_t plan) except? -1
|
|
71
|
+
cpdef _matmul_plan_init(intptr_t handle, intptr_t plan, intptr_t matmul_descr, intptr_t alg_selection)
|
|
72
|
+
cpdef _matmul_plan_destroy(intptr_t plan)
|
|
73
|
+
cpdef matmul(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t d_a, intptr_t d_b, intptr_t beta, intptr_t d_c, intptr_t d_d, intptr_t workspace, intptr_t streams, int32_t num_streams)
|
|
74
|
+
cpdef matmul_search(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t d_a, intptr_t d_b, intptr_t beta, intptr_t d_c, intptr_t d_d, intptr_t workspace, intptr_t streams, int32_t num_streams)
|
|
75
|
+
cpdef sp_mma_prune(intptr_t handle, intptr_t matmul_descr, intptr_t d_in, intptr_t d_out, int prune_alg, intptr_t stream)
|
|
76
|
+
cpdef sp_mma_prune_check(intptr_t handle, intptr_t matmul_descr, intptr_t d_in, intptr_t valid, intptr_t stream)
|
|
77
|
+
cpdef sp_mma_prune2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_in, intptr_t d_out, int prune_alg, intptr_t stream)
|
|
78
|
+
cpdef sp_mma_prune_check2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_in, intptr_t d_valid, intptr_t stream)
|
|
79
|
+
cpdef tuple sp_mma_compressed_size(intptr_t handle, intptr_t plan)
|
|
80
|
+
cpdef sp_mma_compress(intptr_t handle, intptr_t plan, intptr_t d_dense, intptr_t d_compressed, intptr_t d_compressed_buffer, intptr_t stream)
|
|
81
|
+
cpdef tuple sp_mma_compressed_size2(intptr_t handle, intptr_t sparse_mat_descr)
|
|
82
|
+
cpdef sp_mma_compress2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_dense, intptr_t d_compressed, intptr_t d_compressed_buffer, intptr_t stream)
|
|
83
|
+
cpdef _matmul_alg_selection_destroy(intptr_t alg_selection)
|
|
84
|
+
|
|
85
|
+
cpdef intptr_t init() except *
|
|
86
|
+
cpdef void destroy(intptr_t handle) except *
|
|
87
|
+
|
|
88
|
+
cpdef intptr_t dense_descriptor_init(intptr_t handle, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order) except *
|
|
89
|
+
cpdef intptr_t structured_descriptor_init(intptr_t handle, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order, int sparsity) except *
|
|
90
|
+
cpdef void mat_descriptor_destroy(intptr_t mat_descr) except *
|
|
91
|
+
|
|
92
|
+
cpdef intptr_t matmul_descriptor_init(intptr_t handle, int op_a, int op_b, intptr_t mat_a, intptr_t mat_b, intptr_t mat_c, intptr_t mat_d, int compute_type) except *
|
|
93
|
+
cpdef void matmul_descriptor_destroy(intptr_t matmul_descr) except *
|
|
94
|
+
|
|
95
|
+
cpdef intptr_t matmul_alg_selection_init(intptr_t handle, intptr_t matmul_descr, int alg) except *
|
|
96
|
+
cpdef void matmul_alg_selection_destroy(intptr_t alg_selection) except *
|
|
97
|
+
|
|
98
|
+
cpdef intptr_t matmul_plan_init(intptr_t handle, intptr_t matmul_descr, intptr_t alg_selection) except *
|
|
99
|
+
cpdef void matmul_plan_destroy(intptr_t plan) except *
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import _cython_3_2_5
|
|
6
|
+
import enum
|
|
7
|
+
from typing import Any, Callable, ClassVar
|
|
8
|
+
|
|
9
|
+
__pyx_capi__: dict
|
|
10
|
+
__test__: dict
|
|
11
|
+
check_status: _cython_3_2_5.cython_function_or_method
|
|
12
|
+
dense_descriptor_init: _cython_3_2_5.cython_function_or_method
|
|
13
|
+
destroy: _cython_3_2_5.cython_function_or_method
|
|
14
|
+
get_error_name: _cython_3_2_5.cython_function_or_method
|
|
15
|
+
get_error_string: _cython_3_2_5.cython_function_or_method
|
|
16
|
+
get_mat_desc_attribute_dtype: _cython_3_2_5.cython_function_or_method
|
|
17
|
+
get_matmul_alg_attribute_dtype: _cython_3_2_5.cython_function_or_method
|
|
18
|
+
get_matmul_desc_attribute_dtype: _cython_3_2_5.cython_function_or_method
|
|
19
|
+
get_property: _cython_3_2_5.cython_function_or_method
|
|
20
|
+
get_version: _cython_3_2_5.cython_function_or_method
|
|
21
|
+
init: _cython_3_2_5.cython_function_or_method
|
|
22
|
+
mat_desc_get_attribute: _cython_3_2_5.cython_function_or_method
|
|
23
|
+
mat_desc_set_attribute: _cython_3_2_5.cython_function_or_method
|
|
24
|
+
mat_descriptor_destroy: _cython_3_2_5.cython_function_or_method
|
|
25
|
+
matmul: _cython_3_2_5.cython_function_or_method
|
|
26
|
+
matmul_alg_get_attribute: _cython_3_2_5.cython_function_or_method
|
|
27
|
+
matmul_alg_selection_destroy: _cython_3_2_5.cython_function_or_method
|
|
28
|
+
matmul_alg_selection_init: _cython_3_2_5.cython_function_or_method
|
|
29
|
+
matmul_alg_set_attribute: _cython_3_2_5.cython_function_or_method
|
|
30
|
+
matmul_desc_get_attribute: _cython_3_2_5.cython_function_or_method
|
|
31
|
+
matmul_desc_set_attribute: _cython_3_2_5.cython_function_or_method
|
|
32
|
+
matmul_descriptor_destroy: _cython_3_2_5.cython_function_or_method
|
|
33
|
+
matmul_descriptor_init: _cython_3_2_5.cython_function_or_method
|
|
34
|
+
matmul_get_workspace: _cython_3_2_5.cython_function_or_method
|
|
35
|
+
matmul_plan_destroy: _cython_3_2_5.cython_function_or_method
|
|
36
|
+
matmul_plan_init: _cython_3_2_5.cython_function_or_method
|
|
37
|
+
matmul_search: _cython_3_2_5.cython_function_or_method
|
|
38
|
+
sp_mma_compress: _cython_3_2_5.cython_function_or_method
|
|
39
|
+
sp_mma_compress2: _cython_3_2_5.cython_function_or_method
|
|
40
|
+
sp_mma_compressed_size: _cython_3_2_5.cython_function_or_method
|
|
41
|
+
sp_mma_compressed_size2: _cython_3_2_5.cython_function_or_method
|
|
42
|
+
sp_mma_prune: _cython_3_2_5.cython_function_or_method
|
|
43
|
+
sp_mma_prune2: _cython_3_2_5.cython_function_or_method
|
|
44
|
+
sp_mma_prune_check: _cython_3_2_5.cython_function_or_method
|
|
45
|
+
sp_mma_prune_check2: _cython_3_2_5.cython_function_or_method
|
|
46
|
+
structured_descriptor_init: _cython_3_2_5.cython_function_or_method
|
|
47
|
+
|
|
48
|
+
class ComputeType(enum.IntEnum):
|
|
49
|
+
"""
|
|
50
|
+
See `cusparseComputeType`.
|
|
51
|
+
"""
|
|
52
|
+
__new__: ClassVar[Callable] = ...
|
|
53
|
+
COMPUTE_16F: ClassVar[ComputeType] = ...
|
|
54
|
+
COMPUTE_32F: ClassVar[ComputeType] = ...
|
|
55
|
+
COMPUTE_32I: ClassVar[ComputeType] = ...
|
|
56
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
57
|
+
_hashable_values_: ClassVar[list] = ...
|
|
58
|
+
_member_map_: ClassVar[dict] = ...
|
|
59
|
+
_member_names_: ClassVar[list] = ...
|
|
60
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
61
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
62
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
63
|
+
_use_args_: ClassVar[bool] = ...
|
|
64
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
65
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
66
|
+
"""Convert to a string according to format_spec."""
|
|
67
|
+
|
|
68
|
+
class MatDescAttribute(enum.IntEnum):
|
|
69
|
+
"""
|
|
70
|
+
See `cusparseLtMatDescAttribute_t`.
|
|
71
|
+
"""
|
|
72
|
+
__new__: ClassVar[Callable] = ...
|
|
73
|
+
BATCH_STRIDE: ClassVar[MatDescAttribute] = ...
|
|
74
|
+
NUM_BATCHES: ClassVar[MatDescAttribute] = ...
|
|
75
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
76
|
+
_hashable_values_: ClassVar[list] = ...
|
|
77
|
+
_member_map_: ClassVar[dict] = ...
|
|
78
|
+
_member_names_: ClassVar[list] = ...
|
|
79
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
80
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
81
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
82
|
+
_use_args_: ClassVar[bool] = ...
|
|
83
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
84
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
85
|
+
"""Convert to a string according to format_spec."""
|
|
86
|
+
|
|
87
|
+
class MatmulAlg(enum.IntEnum):
|
|
88
|
+
"""
|
|
89
|
+
See `cusparseLtMatmulAlg_t`.
|
|
90
|
+
"""
|
|
91
|
+
__new__: ClassVar[Callable] = ...
|
|
92
|
+
DEFAULT: ClassVar[MatmulAlg] = ...
|
|
93
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
94
|
+
_hashable_values_: ClassVar[list] = ...
|
|
95
|
+
_member_map_: ClassVar[dict] = ...
|
|
96
|
+
_member_names_: ClassVar[list] = ...
|
|
97
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
98
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
99
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
100
|
+
_use_args_: ClassVar[bool] = ...
|
|
101
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
102
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
103
|
+
"""Convert to a string according to format_spec."""
|
|
104
|
+
|
|
105
|
+
class MatmulAlgAttribute(enum.IntEnum):
|
|
106
|
+
"""
|
|
107
|
+
See `cusparseLtMatmulAlgAttribute_t`.
|
|
108
|
+
"""
|
|
109
|
+
__new__: ClassVar[Callable] = ...
|
|
110
|
+
CONFIG_ID: ClassVar[MatmulAlgAttribute] = ...
|
|
111
|
+
CONFIG_MAX_ID: ClassVar[MatmulAlgAttribute] = ...
|
|
112
|
+
SEARCH_ITERATIONS: ClassVar[MatmulAlgAttribute] = ...
|
|
113
|
+
SPLIT_K: ClassVar[MatmulAlgAttribute] = ...
|
|
114
|
+
SPLIT_K_BUFFERS: ClassVar[MatmulAlgAttribute] = ...
|
|
115
|
+
SPLIT_K_MODE: ClassVar[MatmulAlgAttribute] = ...
|
|
116
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
117
|
+
_hashable_values_: ClassVar[list] = ...
|
|
118
|
+
_member_map_: ClassVar[dict] = ...
|
|
119
|
+
_member_names_: ClassVar[list] = ...
|
|
120
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
121
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
122
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
123
|
+
_use_args_: ClassVar[bool] = ...
|
|
124
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
125
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
126
|
+
"""Convert to a string according to format_spec."""
|
|
127
|
+
|
|
128
|
+
class MatmulDescAttribute(enum.IntEnum):
|
|
129
|
+
"""
|
|
130
|
+
See `cusparseLtMatmulDescAttribute_t`.
|
|
131
|
+
"""
|
|
132
|
+
__new__: ClassVar[Callable] = ...
|
|
133
|
+
ACTIVATION_GELU: ClassVar[MatmulDescAttribute] = ...
|
|
134
|
+
ACTIVATION_GELU_SCALING: ClassVar[MatmulDescAttribute] = ...
|
|
135
|
+
ACTIVATION_RELU: ClassVar[MatmulDescAttribute] = ...
|
|
136
|
+
ACTIVATION_RELU_THRESHOLD: ClassVar[MatmulDescAttribute] = ...
|
|
137
|
+
ACTIVATION_RELU_UPPERBOUND: ClassVar[MatmulDescAttribute] = ...
|
|
138
|
+
ALPHA_VECTOR_SCALING: ClassVar[MatmulDescAttribute] = ...
|
|
139
|
+
A_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
|
|
140
|
+
A_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
141
|
+
BETA_VECTOR_SCALING: ClassVar[MatmulDescAttribute] = ...
|
|
142
|
+
BIAS_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
143
|
+
BIAS_STRIDE: ClassVar[MatmulDescAttribute] = ...
|
|
144
|
+
B_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
|
|
145
|
+
B_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
146
|
+
C_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
|
|
147
|
+
C_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
148
|
+
D_OUT_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
|
|
149
|
+
D_OUT_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
150
|
+
D_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
|
|
151
|
+
D_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
152
|
+
SPARSE_MAT_POINTER: ClassVar[MatmulDescAttribute] = ...
|
|
153
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
154
|
+
_hashable_values_: ClassVar[list] = ...
|
|
155
|
+
_member_map_: ClassVar[dict] = ...
|
|
156
|
+
_member_names_: ClassVar[list] = ...
|
|
157
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
158
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
159
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
160
|
+
_use_args_: ClassVar[bool] = ...
|
|
161
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
162
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
163
|
+
"""Convert to a string according to format_spec."""
|
|
164
|
+
|
|
165
|
+
class MatmulMatrixScale(enum.IntEnum):
|
|
166
|
+
"""
|
|
167
|
+
See `cusparseLtMatmulMatrixScale_t`.
|
|
168
|
+
"""
|
|
169
|
+
__new__: ClassVar[Callable] = ...
|
|
170
|
+
NONE: ClassVar[MatmulMatrixScale] = ...
|
|
171
|
+
SCALAR_32F: ClassVar[MatmulMatrixScale] = ...
|
|
172
|
+
VEC32_UE4M3: ClassVar[MatmulMatrixScale] = ...
|
|
173
|
+
VEC64_UE8M0: ClassVar[MatmulMatrixScale] = ...
|
|
174
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
175
|
+
_hashable_values_: ClassVar[list] = ...
|
|
176
|
+
_member_map_: ClassVar[dict] = ...
|
|
177
|
+
_member_names_: ClassVar[list] = ...
|
|
178
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
179
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
180
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
181
|
+
_use_args_: ClassVar[bool] = ...
|
|
182
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
183
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
184
|
+
"""Convert to a string according to format_spec."""
|
|
185
|
+
|
|
186
|
+
class PruneAlg(enum.IntEnum):
|
|
187
|
+
"""
|
|
188
|
+
See `cusparseLtPruneAlg_t`.
|
|
189
|
+
"""
|
|
190
|
+
__new__: ClassVar[Callable] = ...
|
|
191
|
+
SPMMA_STRIP: ClassVar[PruneAlg] = ...
|
|
192
|
+
SPMMA_TILE: ClassVar[PruneAlg] = ...
|
|
193
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
194
|
+
_hashable_values_: ClassVar[list] = ...
|
|
195
|
+
_member_map_: ClassVar[dict] = ...
|
|
196
|
+
_member_names_: ClassVar[list] = ...
|
|
197
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
198
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
199
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
200
|
+
_use_args_: ClassVar[bool] = ...
|
|
201
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
202
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
203
|
+
"""Convert to a string according to format_spec."""
|
|
204
|
+
|
|
205
|
+
class Sparsity(enum.IntEnum):
|
|
206
|
+
"""
|
|
207
|
+
See `cusparseLtSparsity_t`.
|
|
208
|
+
"""
|
|
209
|
+
__new__: ClassVar[Callable] = ...
|
|
210
|
+
SPARSITY_50_PERCENT: ClassVar[Sparsity] = ...
|
|
211
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
212
|
+
_hashable_values_: ClassVar[list] = ...
|
|
213
|
+
_member_map_: ClassVar[dict] = ...
|
|
214
|
+
_member_names_: ClassVar[list] = ...
|
|
215
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
216
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
217
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
218
|
+
_use_args_: ClassVar[bool] = ...
|
|
219
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
220
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
221
|
+
"""Convert to a string according to format_spec."""
|
|
222
|
+
|
|
223
|
+
class SplitKMode(enum.IntEnum):
|
|
224
|
+
"""
|
|
225
|
+
See `cusparseLtSplitKMode_t`.
|
|
226
|
+
"""
|
|
227
|
+
__new__: ClassVar[Callable] = ...
|
|
228
|
+
DATAPARALLEL: ClassVar[SplitKMode] = ...
|
|
229
|
+
HEURISTIC: ClassVar[SplitKMode] = ...
|
|
230
|
+
INVALID_MODE: ClassVar[SplitKMode] = ...
|
|
231
|
+
ONE_KERNEL: ClassVar[SplitKMode] = ...
|
|
232
|
+
SPLITK: ClassVar[SplitKMode] = ...
|
|
233
|
+
STREAMK: ClassVar[SplitKMode] = ...
|
|
234
|
+
TWO_KERNELS: ClassVar[SplitKMode] = ...
|
|
235
|
+
_generate_next_value_: ClassVar[Callable] = ...
|
|
236
|
+
_hashable_values_: ClassVar[list] = ...
|
|
237
|
+
_member_map_: ClassVar[dict] = ...
|
|
238
|
+
_member_names_: ClassVar[list] = ...
|
|
239
|
+
_member_type_: ClassVar[type[int]] = ...
|
|
240
|
+
_unhashable_values_: ClassVar[list] = ...
|
|
241
|
+
_unhashable_values_map_: ClassVar[dict] = ...
|
|
242
|
+
_use_args_: ClassVar[bool] = ...
|
|
243
|
+
_value2member_map_: ClassVar[dict] = ...
|
|
244
|
+
def __format__(self, *args, **kwargs) -> str:
|
|
245
|
+
"""Convert to a string according to format_spec."""
|
|
246
|
+
|
|
247
|
+
class cuSPARSELtError(Exception):
|
|
248
|
+
"""cuSPARSELtError(status)"""
|
|
249
|
+
def __init__(self, status) -> Any:
|
|
250
|
+
"""Initialize self. See help(type(self)) for accurate signature."""
|
|
251
|
+
def __reduce__(self) -> Any:
|
|
252
|
+
"""cuSPARSELtError.__reduce__(self)"""
|
|
Binary file
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
#
|
|
5
|
+
# This code was automatically generated with version 2.5.0, generator version 0.3.1.dev1393+g0a20dc9d7. Do not modify it directly.
|
|
6
|
+
|
|
7
|
+
cimport cython
|
|
8
|
+
|
|
9
|
+
from libc.stdint cimport intptr_t
|
|
10
|
+
|
|
11
|
+
from .cycutensor cimport *
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
###############################################################################
|
|
15
|
+
# Types
|
|
16
|
+
###############################################################################
|
|
17
|
+
|
|
18
|
+
ctypedef cutensorComputeDescriptor_t ComputeDescriptor
|
|
19
|
+
ctypedef cutensorOperationDescriptor_t OperationDescriptor
|
|
20
|
+
ctypedef cutensorPlan_t Plan
|
|
21
|
+
ctypedef cutensorPlanPreference_t PlanPreference
|
|
22
|
+
ctypedef cutensorHandle_t Handle
|
|
23
|
+
ctypedef cutensorTensorDescriptor_t TensorDescriptor
|
|
24
|
+
ctypedef cutensorBlockSparseTensorDescriptor_t BlockSparseTensorDescriptor
|
|
25
|
+
ctypedef cutensorLoggerCallback_t LoggerCallback
|
|
26
|
+
|
|
27
|
+
ctypedef cudaStream_t Stream
|
|
28
|
+
ctypedef cudaDataType DataType
|
|
29
|
+
ctypedef libraryPropertyType_t LibraryPropertyType
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
###############################################################################
|
|
33
|
+
# Enum
|
|
34
|
+
###############################################################################
|
|
35
|
+
|
|
36
|
+
ctypedef cutensorOperator_t _Operator
|
|
37
|
+
ctypedef cutensorStatus_t _Status
|
|
38
|
+
ctypedef cutensorAlgo_t _Algo
|
|
39
|
+
ctypedef cutensorWorksizePreference_t _WorksizePreference
|
|
40
|
+
ctypedef cutensorOperationDescriptorAttribute_t _OperationDescriptorAttribute
|
|
41
|
+
ctypedef cutensorPlanPreferenceAttribute_t _PlanPreferenceAttribute
|
|
42
|
+
ctypedef cutensorAutotuneMode_t _AutotuneMode
|
|
43
|
+
ctypedef cutensorJitMode_t _JitMode
|
|
44
|
+
ctypedef cutensorCacheMode_t _CacheMode
|
|
45
|
+
ctypedef cutensorPlanAttribute_t _PlanAttribute
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
###############################################################################
|
|
49
|
+
# Functions
|
|
50
|
+
###############################################################################
|
|
51
|
+
|
|
52
|
+
cpdef intptr_t create() except? 0
|
|
53
|
+
cpdef destroy(intptr_t handle)
|
|
54
|
+
cpdef handle_resize_plan_cache(intptr_t handle, uint32_t num_entries)
|
|
55
|
+
cpdef handle_write_plan_cache_to_file(intptr_t handle, filename)
|
|
56
|
+
cpdef uint32_t handle_read_plan_cache_from_file(intptr_t handle, filename) except? -1
|
|
57
|
+
cpdef write_kernel_cache_to_file(intptr_t handle, filename)
|
|
58
|
+
cpdef read_kernel_cache_from_file(intptr_t handle, filename)
|
|
59
|
+
cpdef intptr_t create_tensor_descriptor(intptr_t handle, uint32_t num_modes, extent, stride, int data_type, uint32_t alignment_requirement) except? 0
|
|
60
|
+
cpdef destroy_tensor_descriptor(intptr_t desc)
|
|
61
|
+
cpdef intptr_t create_elementwise_trinary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_ab, int op_abc, intptr_t desc_compute) except? 0
|
|
62
|
+
cpdef elementwise_trinary_execute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t beta, intptr_t b, intptr_t gamma, intptr_t c, intptr_t d, intptr_t stream)
|
|
63
|
+
cpdef intptr_t create_elementwise_binary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_ac, intptr_t desc_compute) except? 0
|
|
64
|
+
cpdef elementwise_binary_execute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t gamma, intptr_t c, intptr_t d, intptr_t stream)
|
|
65
|
+
cpdef intptr_t create_permutation(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, intptr_t desc_compute) except? 0
|
|
66
|
+
cpdef permute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t stream)
|
|
67
|
+
cpdef intptr_t create_contraction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, intptr_t desc_compute) except? 0
|
|
68
|
+
cpdef destroy_operation_descriptor(intptr_t desc)
|
|
69
|
+
cpdef get_operation_descriptor_attribute_dtype(int attr)
|
|
70
|
+
cpdef operation_descriptor_set_attribute(intptr_t handle, intptr_t desc, int attr, intptr_t buf, size_t size_in_bytes)
|
|
71
|
+
cpdef operation_descriptor_get_attribute(intptr_t handle, intptr_t desc, int attr, intptr_t buf, size_t size_in_bytes)
|
|
72
|
+
cpdef intptr_t create_plan_preference(intptr_t handle, int algo, int jit_mode) except? 0
|
|
73
|
+
cpdef destroy_plan_preference(intptr_t pref)
|
|
74
|
+
cpdef get_plan_preference_attribute_dtype(int attr)
|
|
75
|
+
cpdef plan_preference_get_attribute(intptr_t handle, intptr_t pref, int attr, intptr_t buf, size_t size_in_bytes)
|
|
76
|
+
cpdef plan_preference_set_attribute(intptr_t handle, intptr_t pref, int attr, intptr_t buf, size_t size_in_bytes)
|
|
77
|
+
cpdef get_plan_attribute_dtype(int attr)
|
|
78
|
+
cpdef plan_get_attribute(intptr_t handle, intptr_t plan, int attr, intptr_t buf, size_t size_in_bytes)
|
|
79
|
+
cpdef uint64_t estimate_workspace_size(intptr_t handle, intptr_t desc, intptr_t plan_pref, int workspace_pref) except? -1
|
|
80
|
+
cpdef intptr_t create_plan(intptr_t handle, intptr_t desc, intptr_t pref, uint64_t workspace_size_limit) except? 0
|
|
81
|
+
cpdef destroy_plan(intptr_t plan)
|
|
82
|
+
cpdef contract(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t beta, intptr_t c, intptr_t d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
|
|
83
|
+
cpdef intptr_t create_reduction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_reduce, intptr_t desc_compute) except? 0
|
|
84
|
+
cpdef reduce(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t beta, intptr_t c, intptr_t d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
|
|
85
|
+
cpdef intptr_t create_contraction_trinary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_d, intptr_t desc_e, mode_e, intptr_t desc_compute) except? 0
|
|
86
|
+
cpdef contract_trinary(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t c, intptr_t beta, intptr_t d, intptr_t e, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
|
|
87
|
+
cpdef intptr_t create_block_sparse_tensor_descriptor(intptr_t handle, uint32_t num_modes, uint64_t num_non_zero_blocks, num_sections_per_mode, extent, non_zero_coordinates, stride, int data_type) except? 0
|
|
88
|
+
cpdef destroy_block_sparse_tensor_descriptor(intptr_t desc)
|
|
89
|
+
cpdef intptr_t create_block_sparse_contraction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, intptr_t desc_compute) except? 0
|
|
90
|
+
cpdef block_sparse_contract(intptr_t handle, intptr_t plan, intptr_t alpha, a, b, intptr_t beta, c, d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
|
|
91
|
+
cpdef str get_error_string(int error)
|
|
92
|
+
cpdef size_t get_version() except? 0
|
|
93
|
+
cpdef size_t get_cudart_version() except? 0
|
|
94
|
+
cpdef logger_set_file(intptr_t file)
|
|
95
|
+
cpdef logger_open_file(log_file)
|
|
96
|
+
cpdef logger_set_level(int32_t level)
|
|
97
|
+
cpdef logger_set_mask(int32_t mask)
|
|
98
|
+
cpdef logger_force_disable()
|