diff --git a/src/qibotn/backends/__init__.py b/src/qibotn/backends/__init__.py index 4e0d026..624ed62 100644 --- a/src/qibotn/backends/__init__.py +++ b/src/qibotn/backends/__init__.py @@ -2,10 +2,10 @@ from typing import Union from qibo.config import raise_error -from qibotn.backends.cutensornet import CuTensorNet # pylint: disable=E0401 -from qibotn.backends.quimb import QuimbBackend # pylint: disable=E0401 -from qibotn.backends.qmatchatea import QMatchaTeaBackend # pylint: disable=E0401 from qibotn.backends.abstract import QibotnBackend +from qibotn.backends.cutensornet import CuTensorNet # pylint: disable=E0401 +from qibotn.backends.qmatchatea import QMatchaTeaBackend # pylint: disable=E0401 +from qibotn.backends.quimb import QuimbBackend # pylint: disable=E0401 QibotnBackend = Union[CuTensorNet, QuimbBackend, QMatchaTeaBackend] diff --git a/src/qibotn/backends/abstract.py b/src/qibotn/backends/abstract.py index 6e8088d..f7d2df2 100644 --- a/src/qibotn/backends/abstract.py +++ b/src/qibotn/backends/abstract.py @@ -1,11 +1,11 @@ from abc import abstractmethod + from qibo.backends.numpy import NumpyBackend from qibo.config import raise_error - DEFAULT_CONFIGURATION = { - "MPI_enabled": False, # TODO: cutensornet specific, TBRemoved - "NCCL_enabled": False, # TODO: cutensornet specific, TBRemoved + "MPI_enabled": False, # TODO: cutensornet specific, TBRemoved + "NCCL_enabled": False, # TODO: cutensornet specific, TBRemoved "expectation_enabled": False, "pauli_string_pattern": None, "MPS_enabled": False, @@ -14,10 +14,9 @@ DEFAULT_CONFIGURATION = { } - class QibotnBackend(NumpyBackend): - def __init__(self, runcard:dict = DEFAULT_CONFIGURATION): + def __init__(self, runcard: dict = DEFAULT_CONFIGURATION): super().__init__() def apply_gate(self, gate, state, nqubits): # pragma: no cover @@ -32,10 +31,8 @@ class QibotnBackend(NumpyBackend): def set_precision(self, precision): if precision != self.precision: super().set_precision(precision) - + @abstractmethod def configure_tn_simulation(self, **config): """Configure the TN simulation that will be performed.""" pass - - diff --git a/src/qibotn/backends/cutensornet.py b/src/qibotn/backends/cutensornet.py index d4f1bcc..d02fdd5 100644 --- a/src/qibotn/backends/cutensornet.py +++ b/src/qibotn/backends/cutensornet.py @@ -82,7 +82,6 @@ class CuTensorNet(QibotnBackend): # pragma: no cover if hasattr(self, "cutn"): self.cutn.destroy(self.handle) - def cuda_type(self, dtype="complex64"): """Get CUDA Type. diff --git a/src/qibotn/backends/quimb.py b/src/qibotn/backends/quimb.py index 20223b3..30ef888 100644 --- a/src/qibotn/backends/quimb.py +++ b/src/qibotn/backends/quimb.py @@ -1,4 +1,3 @@ -from qibo.backends.numpy import NumpyBackend from qibo.config import raise_error from qibo.result import QuantumState @@ -38,7 +37,6 @@ class QuimbBackend(QibotnBackend): self.platform = "QuimbBackend" self.versions["quimb"] = self.quimb.__version__ - def execute_circuit( self, circuit, initial_state=None, nshots=None, return_array=False ): # pragma: no cover