Skip to content

Commit

Permalink
Shuli's comments
Browse files Browse the repository at this point in the history
  • Loading branch information
LuisAlfredoNu committed Jan 9, 2025
1 parent dd1b1c5 commit 62ebadf
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 14 deletions.
20 changes: 8 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Features
PennyLane-Lightning high performance simulators include the following backends:

* ``lightning.qubit``: a fast state-vector simulator written in C++.
* ``lightning.gpu``: a state-vector simulator based on the `NVIDIA cuQuantum SDK <https://developer.nvidia.com/cuquantum-sdk>`_. It notably implements a distributed state-vector simulator based on MPI.
* ``lightning.gpu``: a state-vector simulator based on the `NVIDIA cuQuantum SDK <https://developer.nvidia.com/cuquantum-sdk>`_. It notably implements a distributed state-vector simulator based on `MPI <https://www.mpi-forum.org/docs/>`_.
* ``lightning.kokkos``: a state-vector simulator written with `Kokkos <https://kokkos.github.io/kokkos-core-wiki/index.html>`_. It can exploit the inherent parallelism of modern processing units supporting the `OpenMP <https://www.openmp.org/>`_, `CUDA <https://developer.nvidia.com/cuda-toolkit>`_ or `HIP <https://rocm.docs.amd.com/projects/HIP/en/latest/>`_ programming models.
* ``lightning.tensor``: a tensor network simulator based on the `NVIDIA cuQuantum SDK <https://developer.nvidia.com/cuquantum-sdk>`_ (requires NVIDIA GPUs with SM 7.0 or greater). The supported methods are Matrix Product State (MPS) and Exact Tensor Network (ExactTN).

Expand Down Expand Up @@ -258,9 +258,9 @@ Install Lightning-GPU with MPI

.. note::

- **Lightning-Qubit**, ``CUDA-aware MPI`` **and** ``custatevec`` **are installed**.
- **The environment variable** ``CUQUANTUM_SDK`` **is set properly**.
- ``path/to/libmpi.so`` **is added to** ``LD_LIBRARY_PATH``.
- Lightning-Qubit, ``CUDA-aware MPI`` and ``custatevec`` are installed.
- The environment variable ``CUQUANTUM_SDK`` is set properly.
- ``path/to/libmpi.so`` is added to ``LD_LIBRARY_PATH``.

Then Lightning-GPU with MPI support can be installed in the *editable* mode:

Expand All @@ -283,11 +283,7 @@ The C++ code can be tested with:

.. code-block:: bash
rm -rf ./BuildTests
cmake . -BBuildTests -DBUILD_TESTS=1 -DBUILD_TESTS=1 -DENABLE_MPI=ON -DCUQUANTUM_SDK=<path to sdk>
cmake --build ./BuildTests --verbose
cd ./BuildTests
for file in *runner_mpi ; do mpirun -np 2 ./BuildTests/$file ; done;
PL_BACKEND="lightning_gpu" make test-cpp-mpi
.. installation_LGPU-end-inclusion-marker-do-not-remove
Expand Down Expand Up @@ -316,12 +312,12 @@ Install Kokkos (Optional)
We suggest first installing Kokkos with the wanted configuration following the instructions found in the `Kokkos documentation <https://kokkos.github.io/kokkos-core-wiki/building.html>`_.
For example, the following will build Kokkos for NVIDIA A100 cards

Download the `Kokkos code <https://github.com/kokkos/kokkos/releases>`_. Lightning Kokkos was tested with Kokkos version <= 4.5.0
Download the `Kokkos code <https://github.com/kokkos/kokkos/releases>`_. Lightning-Kokkos was tested with Kokkos version <= 4.5.0

.. code-block:: bash
# Replace x, y, and z by the correct version
wget https://github.com/kokkos/kokkos/archive/refs/tags/4.x.yz.tar.gz
wget https://github.com/kokkos/kokkos/archive/refs/tags/4.x.y.z.tar.gz
tar -xvf 4.x.y.z.tar.gz
cd kokkos-4.x.y.z
Expand All @@ -345,7 +341,7 @@ Build Kokkos for NVIDIA A100 cards (``SM80`` architecture), and append the insta
export CMAKE_PREFIX_PATH=/opt/kokkos/4.x.y.z/AMPERE80:$CMAKE_PREFIX_PATH
Note that the C++20 standard is required (enabled via the ``-DCMAKE_CXX_STANDARD=20`` option), hence CUDA v12 is required for the CUDA backend.
Note that the C++20 standard is required (enabled via the ``-DCMAKE_CXX_STANDARD=20`` option), hence CUDA 12 is required for the CUDA backend.

Install Lightning-Kokkos
^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
2 changes: 1 addition & 1 deletion doc/lightning_gpu/device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -282,4 +282,4 @@ To enable the memory-optimized adjoint method with MPI support, ``batch_obs`` sh
For the adjoint method, each MPI process will provide the overall simulation results.

.. note::
The observable ``Projector``` does not have support with the multi-GPU backend.
The observable ``Projector`` does not have support with the multi-GPU backend.
2 changes: 1 addition & 1 deletion doc/lightning_tensor/device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Note that ``lightning.tensor`` cannot be cleaned up like other state-vector devi
Operations and observables support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``lightning.tensor`` supports all gate operations supported by PennyLane, with the exception of :class:`~pennylane.StatePrep`, which is *not supported* by the *Exact Tensor Network* method.
The ``lightning.tensor`` supports all gate operations supported by PennyLane, with the exception of :class:`~pennylane.StatePrep`, which is **not supported** by the **Exact Tensor Network** method.

**Supported operations:**

Expand Down

0 comments on commit 62ebadf

Please sign in to comment.