Release Notes#
cuPauliProp v0.2.0#
New features:
Added amplitude damping channel support via
cupaulipropPrepareAmplitudeDampingChannelApplicationandcupaulipropExecuteAmplitudeDampingChannelApplication
Compatibility notes:
cupauliprop{Prepare,Execute}CanonicalSorthas been renamed tocupauliprop{Prepare,Execute}Sort.Boolean
isSorted/makeSortedparameters have been replaced with cupaulipropSortOrder_t enum:CUPAULIPROP_SORT_ORDER_NONE: no sorting (equivalent tomakeSorted=false)CUPAULIPROP_SORT_ORDER_INTERNAL: the library may choose any sort orderCUPAULIPROP_SORT_ORDER_LITTLE_ENDIAN_BITWISE: little-endian bitwise sort (equivalent tomakeSorted=truein previous release)
Affected functions include
cupaulipropCreatePauliExpansion,cupaulipropPauliExpansionView{Prepare,Compute}OperatorApplication,cupaulipropPauliExpansionView{Prepare,Execute}Sort, andcupaulipropPauliExpansionView{Prepare,Execute}Deduplication.The
cupaulipropContextSetStreamfunction has been removed. AcudaStream_t streamparameter has been added to the following API functions:cupaulipropPauliExpansionViewComputeOperatorApplicationcupaulipropPauliExpansionViewExecuteSortcupaulipropPauliExpansionViewExecuteDeduplicationcupaulipropPauliExpansionViewExecuteTruncationcupaulipropPauliExpansionViewComputeTraceWithZeroStatecupaulipropPauliExpansionViewComputeTraceWithExpansionViewcupaulipropPauliExpansionPopulateFromView
The
PauliKindenum values have been reordered fromI=0, X=1, Z=2, Y=3toI=0, X=1, Y=2, Z=3. The meaning ofCUPAULIPROP_SORT_ORDER_LITTLE_ENDIAN_BITWISEforPauliExpansionis not affected by this change. Sorting is based on the (X, Z) bit representation, not enum values.The
CliffordGateKindenum values have been reordered to align withPauliKind:Old
New
CUPAULIPROP_CLIFFORD_GATE_Z = 2CUPAULIPROP_CLIFFORD_GATE_Y = 2CUPAULIPROP_CLIFFORD_GATE_Y = 3CUPAULIPROP_CLIFFORD_GATE_Z = 3CUPAULIPROP_CLIFFORD_GATE_CZ = 8CUPAULIPROP_CLIFFORD_GATE_CY = 8CUPAULIPROP_CLIFFORD_GATE_CY = 9CUPAULIPROP_CLIFFORD_GATE_CZ = 9CUPAULIPROP_CLIFFORD_GATE_SQRTZ = 13CUPAULIPROP_CLIFFORD_GATE_SQRTY = 13CUPAULIPROP_CLIFFORD_GATE_SQRTY = 14CUPAULIPROP_CLIFFORD_GATE_SQRTZ = 14
cuPauliProp v0.1.0#
Initial release of cuPauliProp. We do not yet guarantee API or ABI stability between minor version updates.
Single-GPU capabilities only
Support
Linux x86_64andLinux Arm64targetsSupport Turing, Ampere, Ada and Hopper NVIDIA GPU architectures (compute capability 7.5+)
Compatibility notes:
cuPauliProp requires CUDA 12 or above
Known issues:
The docstring for
PauliNoiseChannelincorrectly documents the noise probability ordering asI=0, X=1, Z=2, Y=3, but the actual ordering followsI=0, X=1, Y=2, Z=3.