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)[source]

Performs gate split operation.

Parameters
  • handle (intptr_t) – Opaque handle holding cuTensorNet’s library context.

  • desc_tensor_in_a (intptr_t) – Describes the modes, extents, and other metadata information of the input tensor A.

  • raw_data_in_a (intptr_t) – Pointer to the raw data of the input tensor A (in device memory).

  • desc_tensor_in_b (intptr_t) – Describes the modes, extents, and other metadata information of the input tensor B.

  • raw_data_in_b (intptr_t) – Pointer to the raw data of the input tensor B (in device memory).

  • desc_tensor_in_g (intptr_t) – Describes the modes, extents, and other metadata information of the input gate tensor.

  • raw_data_in_g (intptr_t) – Pointer to the raw data of the input gate tensor G (in device memory).

  • desc_tensor_u (intptr_t) – Describes the modes, extents, and other metadata information of the output U tensor. The extents of uncontracted modes are expected to be consistent with desc_tensor_in_a and desc_tensor_in_g.

  • 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 the CUTENSORNET_TENSOR_SVD_CONFIG_S_PARTITION attribute of svd_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 V tensor. The extents of uncontracted modes are expected to be consistent with desc_tensor_in_b and desc_tensor_in_g.

  • v (intptr_t) – Pointer to the output tensor data V (in device memory).

  • gate_algo (int) – The algorithm to use for splitting the gate tensor into tensor A and B.

  • svd_config (intptr_t) – Opaque structure holding the user-requested SVD parameters.

  • compute_type (ComputeType) – Denotes the compute type used throughout the computation.

  • svd_info (intptr_t) – Opaque structure holding all information about the truncation at runtime.

  • work_desc (intptr_t) – Opaque structure describing the workspace.

  • stream (intptr_t) – The CUDA stream on which the computation is performed.