common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

NVIDIA's quantum computer SDK, cuQuantum version 23.10, has been updated! It now includes support for CPU/GPU and calculations for gradients of complex numbers, among other features.

Yuichiro Minato

2023/11/06 04:48

NVIDIA's quantum computing SDK, cuQuantum version 23.10, has been updated. In this update, we want to review the enhancements made to the software development kit.

The SDK is primarily divided into three parts. The first is called cuStateVec, which is a state vector simulator that serves as a traditional simulator and constitutes the core of cuQuantum. The second is a new simulator known as cuTensorNet, which is different from the traditional approach and may require some skill to use effectively. The last part is a Python wrapper for operating these two simulators, which has been updated under the name cuQuantum Python. These three components have been updated, and we would like to review the changes.

Release Note

https://docs.nvidia.com/cuda/cuquantum/latest/cuquantum_sdk_release_notes.html#cuquantum-sdk-v23-10

cuStateVec is now 1.5.0

https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/release_notes.html#custatevec-v1-5-0

cuStateVec v1.5.0

Firstly, let's talk about cuStateVec. The first point is about a new API, which is important. The second is about performance improvements. The third is the resolution of issues, so we will skip the third and focus on the first two points.

Regarding the API, it appears to be a significant update. NVIDIA has recently entered the CPU market as well, releasing the Grace CPU. This release seems to be compatible with the new Grace CPU.

For a detailed explanation of the overview, please refer to the following website.

https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/host_state_vector_migration.html

Regarding Host State Vector Migration

The cuStateVec library now provides the custatevecSubSVMigrator API, which allows users to combine host CPU memory and device GPU memory to scale up simulations. It seems likely that simulations for quantum computers will become faster, as both the Grace CPU and GPU can be used efficiently.

custatevecSubSVMigrator API

The custatevecSubSVMigrator API is a utility for migrating state vectors allocated on the CPU (host) and additionally those allocated on the GPU (device). By using this API, CPU memory can be leveraged to accommodate the state vector. Furthermore, by utilizing both CPU and GPU memory for a single state vector, it is possible to maximize the number of qubits that can be simulated.

API is here

https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/api/functions.html#_CPPv430custatevecSubSVMigratorMigrate18custatevecHandle_t35custatevecSubSVMigratorDescriptor_tiPKvPv17custatevecIndex_t17custatevecIndex_t

Next

cuTensorNet is v2.3.0

https://docs.nvidia.com/cuda/cuquantum/latest/cutensornet/release_notes.html#cutensornet-v2-3-0

cuTensorNet v2.3.0

As part of the second update, which includes bug fixes, I am particularly interested in the first and last changes.

To simplify the specification and processing of tensor networks encountered in the quantum field and other domains, cuTensorNet provides a set of high-level API functions that allow users to gradually build a given tensor network state and then compute its properties.

It seems there are mainly new API offerings for slicing and decomposition of Matrix Product States (MPS), with new decomposition options for Singular Value Decomposition (SVD).

The final "Other changes" are quite intriguing features. There is an experimental release for the calculation of gradients in complex numbers. This is particularly relevant in fields such as machine learning where gradients are required, and in the case of quantum computers, these are complex numbers, which may not be supported by general libraries.

Finally we see cuQuantum Python

https://docs.nvidia.com/cuda/cuquantum/latest/python/release_notes.html#cuquantum-python-v23-10-0

cuQuantum Python v23.10.0

Looking beyond bug fixes, it's evident that there were discussions about APIs related to cuStateVec and cuTensorNet. It also seems that there is now compatibility with PyTorch Tensors. It looks like it's possible to work with objects like Torch Tensors, even when automatic differentiation information is set. Furthermore, the updates support the content previously mentioned for cuStateVec and cuTensorNet.

How about that? The significant changes seem to revolve around updates with a focus on the Grace Hopper CPU and GPU, as well as compatibility with existing machine learning frameworks like PyTorch, enabling the differentiation of complex numbers. This should make gradient calculations more straightforward. That's all for now.

© 2025, blueqat Inc. All rights reserved