doc: improving the docs

This commit is contained in:
MatteoRobbiati
2025-02-04 11:20:08 +01:00
parent f6992b489f
commit 8b7bb9ee7c
4 changed files with 109 additions and 19 deletions

View File

@@ -4,29 +4,54 @@
What is QiboTN?
===============
QiboTN is the dedicated `Qibo <https://github.com/qiboteam/qibo>`_ backend to support large-scale simulation of quantum circuits and acceleration.
Qibotn is an high-level library which integrates tensor network simulation within
the `Qibo <https://github.com/qiboteam/qibo>`_ ecosystem.
Supported Computation:
If you are familiar with Qibo, you will be well aware of the modularity we provide
through the use of our backends: after building a specific algorithm or quantum
circuit, any of our backends can be selected to perform operations on the
desired hardware (classical or quantum).
- Tensornet (TN)
- Matrix Product States (MPS)
Here, we extend this modularity to one of the most famous quantum inspired simulation
technique.
Tensor Network contractions to:
We do this by relying on well-known and maintained packages, and integrating their
operation into our own dedicated backends.
- dense vectors
- expecation values of given Pauli string
.. image:: QiboTN.png
As shown in the figure above, we currently support three different backends, which
correspond to the three mentioned packages:
- `cuQuantum <https://github.com/NVIDIA/cuQuantum>`_: an NVIDIA SDK of optimized libraries and tools for accelerating quantum computing workflows (we refer to the specific `Cutensornet <https://docs.nvidia.com/cuda/cuquantum/latest/cutensornet/index.html>`_ library);
- `quimb <https://quimb.readthedocs.io/en/latest/>`_: an easy but fast python library for quantum information many-body calculations, focusing primarily on tensor networks;
- `Quantum Matcha Tea <https://www.quantumtea.it/>`_: a logical quantum computer emulator powered by matrix product states.
.. warning::
There are currently two ways to use the three backends (`qmatchatea` is
slightly different from the others), but we are working to standardize the interface.
Thanks to the mentioned packages, we currently support some tensor network ansatze:
Matrix Product States (MPS) on any mentioned backend, Tree Tensor Networks (TTN)
through the Quantum Matcha Tea backend and a more general Tensor Network (TN) ansatz through
Cutensornet and Quimb.
Supported simulation features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We support Tensor Network contractions to:
- dense vectors (all the backends)
- expecation values of given Pauli string (Cutensornet and Qmatchatea)
The supported HPC configurations are:
- single-node CPU
- single-node GPU or GPUs
- multi-node multi-GPU with Message Passing Interface (MPI)
- multi-node multi-GPU with NVIDIA Collective Communications Library (NCCL)
- single-node CPU through Quimb and Qmatchatea
- single-node GPU or GPUs through Cutensornet and Qmatchatea
- multi-node multi-GPU with Message Passing Interface (MPI) through Cutensornet
- multi-node multi-GPU with NVIDIA Collective Communications Library (NCCL) through Cutensornet
Currently, the supported tensor network libraries are:
- `cuQuantum <https://github.com/NVIDIA/cuQuantum>`_, an NVIDIA SDK of optimized libraries and tools for accelerating quantum computing workflows.
- `quimb <https://quimb.readthedocs.io/en/latest/>`_, an easy but fast python library for quantum information many-body calculations, focusing primarily on tensor networks.
How to Use the Documentation
============================