diff --git a/doc/source/getting-started/backends.png b/doc/source/getting-started/backends.png new file mode 100644 index 0000000000..41441fdfc1 Binary files /dev/null and b/doc/source/getting-started/backends.png differ diff --git a/doc/source/getting-started/backends.rst b/doc/source/getting-started/backends.rst index fd29c281ce..56e9dfb686 100644 --- a/doc/source/getting-started/backends.rst +++ b/doc/source/getting-started/backends.rst @@ -8,7 +8,7 @@ Qibo provides backends for quantum simulation on classical hardware and quantum hardware management and control. In the image below we present a schematic view of the currently supported backends. -.. image:: backends.svg +.. image:: backends.png Quantum simulation is proposed through dedicated backends for single node multi-GPU and multi-threading CPU setups. Quantum hardware control is supported @@ -35,8 +35,11 @@ We provide multiple simulation backends for Qibo, which are automatically loaded if the corresponding packages are installed, following the hierarchy below: * :ref:`installing-qibojit`: an efficient simulation backend for CPU, GPU and multi-GPU based on just-in-time (JIT) compiled custom operators. Install this package if you need to simulate quantum circuits with large number of qubits or complex quantum algorithms which may benefit from computing parallelism. -* :ref:`installing-tensorflow`: a pure TensorFlow implementation for quantum simulation which provides access to gradient descent optimization and the possibility to implement classical and quantum architectures together. This backend is not optimized for memory and speed, use :ref:`installing-qibojit` instead. +* `qibotn `_: an interface to Tensor Networks simulation algorithms designed for GPUs and multi-node CPUs. This backend makes possible scaling quantum circuit simulation to a larger number of qubits. * :ref:`installing-numpy`: a lightweight quantum simulator shipped with the :ref:`installing-qibo` base package. Use this simulator if your CPU architecture is not supported by the other backends. Please note that the simulation performance is quite poor in comparison to other backends. +* :ref:`installing-tensorflow`: a pure TensorFlow implementation for quantum simulation which provides access to gradient descent optimization and the possibility to implement classical and quantum architectures together. This backend is not optimized for memory and speed, use :ref:`installing-qibojit` instead. +* :ref:`installing-pytorch`: a pure PyTorch implementation for quantum simulation which provides access to gradient descent optimization and the possibility to implement classical and quantum architectures together. This backend is not optimized for memory and speed, use :ref:`installing-qibojit` instead. + The default backend that is used is the first available from the above list. The user can switch to a different using the ``qibo.set_backend`` method @@ -77,3 +80,7 @@ We provide the following hardware control backends for Qibo: * `qibosoq `_: is the server that integrates `Qick `_ in the Qibolab ecosystem for executing arbitrary circuits and pulse sequences. + +* `qibo-cloud-backends `_: + provides access to cloud quantum hardware. This module is compatible with labs + using Qibo for control and calibration and external vendors. diff --git a/doc/source/getting-started/backends.svg b/doc/source/getting-started/backends.svg deleted file mode 100644 index 76e15671fb..0000000000 --- a/doc/source/getting-started/backends.svg +++ /dev/null @@ -1,6 +0,0 @@ -
Qibo backends
Simulating on classical hardware
Numpy
Qibotn
Qibojit
Tensorflow
Pytorch
Clifford
Specialized
Automatic differentiation for QML
CPU/GPU high performance
CPU/lightweight
Cloud backends
IBM
QRC-TII
Executing on quantum hardware
Qibolab
diff --git a/doc/source/getting-started/installation.rst b/doc/source/getting-started/installation.rst index a898e6dff3..6d596cba22 100644 --- a/doc/source/getting-started/installation.rst +++ b/doc/source/getting-started/installation.rst @@ -18,7 +18,7 @@ distributed with pypi* for the packages listed above. +------------------+------+---------+------------+ .. note:: - All packages are supported for Python >= 3.7. + All packages are supported for Python >= 3.9. Backend installation @@ -38,7 +38,7 @@ Installing with pip """"""""""""""""""" The installation using ``pip`` is the recommended approach to install Qibo. -Make sure you have Python 3.7 or greater, then use ``pip`` to install ``qibo`` with: +Make sure you have Python 3.9 or greater, then use ``pip`` to install ``qibo`` with: .. code-block:: bash @@ -237,30 +237,27 @@ please do: _______________________ -.. _docker: -Using the code with docker --------------------------- +.. _installing-pytorch: -We provide docker images for tag release of the code using GitHub Packages. The -docker images contain a pre-configured linux environment with the Qibo -framework installed with the specific tag version. +pytorch +^^^^^^^ -Please refer to the download and authentication instructions from the `Qibo GitHub Packages`_. +If the `PyTorch `_ package is installed Qibo +will detect and provide to the user the possibility to use ``pytorch`` +backend. -In order to start the docker image in interactive mode please use docker -standard syntax, for example: +In order to switch to the ``pytorch`` backend please do: -.. code:: +.. code-block:: python - docker run -it ghcr.io/qiboteam/qibo: bash + import qibo + qibo.set_backend("pytorch") -This will open a bash shell with the Qibo environment already activated, with -all binaries and scripts from the Qibo framework. +In order to install the package, we recommend the installation using: -.. _Qibo GitHub Packages: https://github.com/qiboteam/qibo/pkgs/container/qibo +.. code-block:: bash + pip install qibo torch -.. note:: - The docker image contains the basic ``qibo`` package with the lightweight - ``numpy`` backend for simulation. +_______________________ diff --git a/doc/source/index.rst b/doc/source/index.rst index c49487ab83..f9183a36f0 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -22,7 +22,7 @@ Components The main components of ``Qibo`` are presented in :doc:`getting-started/index` -.. image:: qibo_ecosystem.svg +.. image:: qibo_ecosystem.png Key features ------------ diff --git a/doc/source/qibo_ecosystem.png b/doc/source/qibo_ecosystem.png new file mode 100644 index 0000000000..930435b37a Binary files /dev/null and b/doc/source/qibo_ecosystem.png differ diff --git a/doc/source/qibo_ecosystem.svg b/doc/source/qibo_ecosystem.svg deleted file mode 100644 index 95a9142b63..0000000000 --- a/doc/source/qibo_ecosystem.svg +++ /dev/null @@ -1,18 +0,0 @@ -
Qibo
Implementation
Language API
Quantum annealing
Quantum computing
Quantum information
Simulation backends
Qibojit
Efficient thanks to custom operators
Numpy
Lightweight, fits any CPU
Clifford
Specialized in Clifford circuits
TensorFlow
Pytorch
Qibotn
TensorNetwork simulator
Hybrid QML with automatic differentiation
Cloud backends
IBM
QRC-TII
Hardware backend
Qibolab
Control drivers
Convert gates to pulses
Compiler
Applications
Qiboml
Qibochem
Qibosoq
Qibocal
Characterization
Validation
Verification
RFSoCs