Release Notes

cuStateVec v1.1.0

Compatibility notes:

  • cuStateVec requires CUDA 11.x

Limitation notes:

  • custatevecMultiDeviceSwapIndexBits() could cause segmentation fault in case a device doesn’t have peer-to-peer (P2P) access to another one. When segmentation faults occur during the API call, please check if direct access between any pair of devices is enabled by cudaDeviceEnablePeerAccess.

  • custatevecMultiDeviceSwapIndexBits() could return CUSTATEVEC_STATUS_INVALID_VALUE if a handle created on the current device is not provided. Please refer to custatevecMultiDeviceSwapIndexBits() for the details.

  • CUSTATEVEC_STATUS_INTERNAL_ERROR might be returned if a wrong device pointer is passed to the functions. If a function returns CUSTATEVEC_STATUS_INTERNAL_ERROR, please check if a correct pointer is passed and the size is correctly specified.

cuStateVec v1.0.0

API breaking changes:

Compatibility notes:

  • cuStateVec requires CUDA 11.x

Limitation notes:

  • CUSTATEVEC_STATUS_INTERNAL_ERROR might be returned if a wrong device pointer is passed to the functions. If a function returns CUSTATEVEC_STATUS_INTERNAL_ERROR, please check if a correct pointer is passed and the size is correctly specified.

cuStateVec v0.1.1

  • Support for the NVIDIA cuQuantum Appliance (see here):

    • Extensions for the batch-measure and sampler APIs to accept state vector partitions across multiple GPUs

    • Optimized state vector element swap algorithm for multiple GPUs

    • Note: the multi-GPU features & optimizations are currently available only in the cuQuantum Appliance

cuStateVec v0.1.0

  • Add support for Linux ppc64le

  • Add new APIs:

    • Gate application for generalized permutation matrices

    • Expectation values of Pauli strings

    • Accessor to get/set state vector elements

Compatibility notes:

  • cuStateVec requires CUDA 11.4 or above

  • cuStateVec requires NVIDIA HPC SDK 21.11 or above

Limitation notes:

  • CUSTATEVEC_STATUS_INTERNAL_ERROR might be returned if a wrong device pointer is passed to the functions. If a function returns CUSTATEVEC_STATUS_INTERNAL_ERROR, please check if a correct pointer is passed and the size is correctly specified.

cuStateVec v0.0.1

  • Initial release

  • Support Linux x86_64, Linux Arm64

  • Support Volta and Ampere architectures (compute capability 7.0+)

Compatibility notes:

  • cuStateVec requires CUDA 11.4 or above

  • cuStateVec requires NVIDIA HPC SDK 21.7 or above

Limitation notes:

  • This release is optimized for NVIDIA A100 and V100 GPUs.

  • CUSTATEVEC_STATUS_INTERNAL_ERROR might be returned if a wrong device pointer is passed to the functions. If a function returns CUSTATEVEC_STATUS_INTERNAL_ERROR, please check if a correct pointer is passed and the size is correctly specified.

  • Performance optimization is planned in future releases.