cuquantum.cutensornet.tensor_svd¶
- cuquantum.cutensornet.tensor_svd(intptr_t handle, intptr_t desc_tensor_in, intptr_t raw_data_in, intptr_t desc_tensor_u, intptr_t u, intptr_t s, intptr_t desc_tensor_v, intptr_t v, intptr_t svd_config, intptr_t svd_info, intptr_t work_desc, intptr_t stream)[source]¶
Performs SVD decomposition of a tensor.
- Parameters
handle (intptr_t) – Opaque handle holding cuTensorNet’s library context.
desc_tensor_in (intptr_t) – Describes the modes, extents, and other metadata information of a tensor.
raw_data_in (intptr_t) – Pointer to the raw data of the input tensor (in device memory).
desc_tensor_u (intptr_t) – Describes the modes, extents, and other metadata information of the output tensor U. The extents for uncontracted modes are expected to be consistent with
desc_tensor_in
.u (intptr_t) – Pointer to the output tensor data U (in device memory).
s (intptr_t) – Pointer to the output tensor data S (in device memory). Can be
NULL
when theCUTENSORNET_TENSOR_SVD_CONFIG_S_PARTITION
attribute ofsvd_config
is not set to default (::CUTENSORNET_TENSOR_SVD_PARTITION_NONE).desc_tensor_v (intptr_t) – Describes the modes, extents, and other metadata information of the output tensor V.
v (intptr_t) – Pointer to the output tensor data V (in device memory).
svd_config (intptr_t) – This data structure holds the user-requested SVD parameters. Can be
NULL
if users do not need to perform value-based truncation or singular value partitioning.svd_info (intptr_t) – Opaque structure holding all information about the trucation at runtime. Can be
NULL
if runtime information on singular value truncation is not needed.work_desc (intptr_t) – Opaque structure describing the workspace. The provided workspace must be
valid
(the workspace size must be the same as or larger than the minimum needed). Seeworkspace_get_memory_size()
&workspace_set_memory()
.stream (intptr_t) – The CUDA stream on which the computation is performed.
See also