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]

执行张量的 SVD 分解。

参数
  • handle (intptr_t) – 持有 cuTensorNet 库上下文的不透明句柄。

  • desc_tensor_in (intptr_t) – 描述张量的模式、范围和其他元数据信息。

  • raw_data_in (intptr_t) – 指向输入张量的原始数据(在设备内存中)的指针。

  • desc_tensor_u (intptr_t) – 描述输出张量 U 的模式、范围和其他元数据信息。未收缩模式的范围应与 desc_tensor_in 一致。

  • u (intptr_t) – 指向输出张量数据 U(在设备内存中)的指针。

  • s (intptr_t) – 指向输出张量数据 S(在设备内存中)的指针。当 svd_configCUTENSORNET_TENSOR_SVD_CONFIG_S_PARTITION 属性未设置为默认值 (::CUTENSORNET_TENSOR_SVD_PARTITION_NONE) 时,可以为 NULL

  • desc_tensor_v (intptr_t) – 描述输出张量 V 的模式、范围和其他元数据信息。

  • v (intptr_t) – 指向输出张量数据 V(在设备内存中)的指针。

  • svd_config (intptr_t) – 此数据结构保存用户请求的 SVD 参数。如果用户不需要执行基于值的截断或奇异值划分,则可以为 NULL

  • svd_info (intptr_t) – 不透明结构,保存有关运行时截断的所有信息。如果不需要关于奇异值截断的运行时信息,则可以为 NULL

  • work_desc (intptr_t) – 描述工作空间的不透明结构。提供的工作空间必须是 valid (工作空间大小必须等于或大于最小需要的大小)。请参阅 workspace_get_memory_size()workspace_set_memory()

  • stream (intptr_t) – 执行计算的 CUDA 流。

另请参阅

cutensornetTensorSVD()