cuTensorNet: A High-Performance Library for Tensor Network Computations¶
Welcome to the cuTensorNet library documentation!
NVIDIA cuTensorNet is a high-performance library for tensor network computations, a component of the NVIDIA cuQuantum SDK. Functionalities of cuTensorNet are described in Overview with installation and usage guide provided in Getting Started.
Key Features
Based on NVIDIA’s high-performance tensor algebra library: cuTENSOR
Provides APIs for:
Creating a tensor or tensor network object
Gradually constructing a tensor network state (e.g., a quantum circuit state) and computing its properties
Finding a cost-optimal tensor network contraction path for any given tensor network
Finding a low-overhead slicing for the tensor network contraction to meet specified memory constraints
Tuning the tensor network contraction path finder configuration for better performance
Performing tensor network contraction plan, auto-tuning, and its subsequent execution
Performing backward propagation to compute gradients of the output tensor w.r.t user specified input tensors
Performing tensor decomposition using QR or SVD
Applying a quantum gate operand to a pair of connected (contracted) tensors
Enabling automatic distributed parallelization in the contraction path finder and executor
Enabling custom memory management
Logging
Support
Supported GPU Architectures:
Volta
,Ampere
,Hopper
Supported OS:
Linux
Supported CPU Architectures:
x86_64
,ARM64
,ppc64le
Prerequisites
CUDA® Toolkit 11.x and compatible driver r450+ (see CUDA Toolkit Release Notes).
Contents
- Release Notes
- Overview
- Getting Started
- Installation and Compilation
- Code Example (Serial)
- Code Example (Automatic Slice-Based Distributed Parallelization)
- Code Example (Manual Slice-Based Distributed Parallelization)
- Code Example (tensorQR)
- Code Example (tensorSVD)
- Code Example (GateSplit)
- Code Example (MPS)
- Code Example (Intermediate Tensor Reuse)
- Code Example (Gradients computation)
- Code Example (Marginal Distribution Tensor)
- Code Example (Sampling the tensor network state)
- Useful Tips
- API Reference
- Acknowledgements