Merge pull request #122 from qiboteam/upgrade_to_cuda12

Update poetry to using CUDA12, cuQuantum 25.11.0
This commit is contained in:
liwei
2025-12-01 17:26:30 +08:00
committed by GitHub
6 changed files with 785 additions and 217 deletions

977
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -22,17 +22,20 @@ packages = [{ include = "qibotn", from = "src" }]
[tool.poetry.dependencies]
python = ">=3.11,<3.14"
qibo = { git = "https://github.com/qiboteam/qibo" }
qibojit = { git = "https://github.com/qiboteam/qibojit.git" }
quimb = { version = "^1.10.0", extras = ["tensor"] }
cupy-cuda11x = { version = "^13.1.0", optional = true }
cuquantum-python-cu11 = { version = "^24.1.0", optional = true }
cupy-cuda12x = { version = "^13.6.0", optional = true }
cuda-toolkit = {extras = ["all"], version = "^12.9.1"}
nvidia-nccl-cu12 = { version = "^2.16.5", optional = true }
cuquantum-python-cu12 = { version = "^25.9.1", optional = true }
qmatchatea = { version = "^1.4.3", optional = true }
qiskit = { version = "^1.4.0", optional = true }
qtealeaves = { version = "^1.5.20", optional = true }
[tool.poetry.extras]
cuda = ["cupy-cuda11x", "cuquantum-python-cu11", "mpi4py"]
qmatchatea = ["qmatchatea", "qtealeaves", "qiskit"]
cuda = ["cupy-cuda12x", "cuda-toolkit", "nvidia-nccl-cu12", "cuquantum-python-cu12", "mpi4py"]
qmatchatea = ["qmatchatea"]
[tool.poetry.group.docs]
optional = true

View File

@@ -1,6 +1,6 @@
import cupy as cp
import cuquantum.bindings.cutensornet as cutn
import numpy as np
from cuquantum import cutensornet as cutn
from qibotn.circuit_convertor import QiboCircuitToEinsum
from qibotn.mps_utils import apply_gate, initial

View File

@@ -1,8 +1,8 @@
import cupy as cp
import cuquantum.cutensornet as cutn
import cuquantum.bindings.cutensornet as cutn
from cupy.cuda import nccl
from cupy.cuda.runtime import getDeviceCount
from cuquantum import Network, contract
from cuquantum.tensornet import Network, contract
from mpi4py import MPI
from qibo import hamiltonians
from qibo.symbols import I, X, Y, Z

View File

@@ -1,4 +1,4 @@
from cuquantum import contract, contract_path
from cuquantum.tensornet import contract, contract_path
# Reference: https://github.com/NVIDIA/cuQuantum/blob/main/python/samples/cutensornet/tn_algorithms/mps_algorithms.ipynb

View File

@@ -1,6 +1,6 @@
import cupy as cp
from cuquantum import contract
from cuquantum.cutensornet.experimental import contract_decompose
from cuquantum.tensornet import contract
from cuquantum.tensornet.experimental import contract_decompose
def initial(num_qubits, dtype):