gate_split#

cuquantum.bindings.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.