cuquantum.cutensornet.gate_split

cuquantum.cutensornet.gate_split(intptr_t handle, intptr_t desc_tensor_in_a, intptr_t raw_data_in_a, intptr_t desc_tensor_in_b, intptr_t raw_data_in_b, intptr_t desc_tensor_in_g, intptr_t raw_data_in_g, intptr_t desc_tensor_u, intptr_t u, intptr_t s, intptr_t desc_tensor_v, intptr_t v, int gate_algo, intptr_t svd_config, int compute_type, intptr_t svd_info, intptr_t work_desc, intptr_t stream)[源代码]

执行门分裂操作。

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

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

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

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

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

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

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

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

  • 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 的模式、范围和其他元数据信息。未收缩模式的范围应与 desc_tensor_in_bdesc_tensor_in_g 一致。

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

  • gate_algo (int) – 用于将门张量分裂为张量 A 和 B 的算法。

  • svd_config (intptr_t) – 持有用户请求的 SVD 参数的不透明结构。

  • compute_type (ComputeType) – 表示整个计算中使用的计算类型。

  • svd_info (intptr_t) – 持有关于运行时截断的所有信息的不透明结构。

  • work_desc (intptr_t) – 描述工作区的不透明结构。

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