Installation¶
PennyLane-Lightning requires Python version 3.8 and above. It can be installed using pip
:
$ pip install pennylane-lightning
To build PennyLane-Lightning from source you can run
$ pip install pybind11 pennylane-lightning --no-binary :all:
A C++ compiler such as g++
, clang
, or MSVC
is required. On Debian-based systems, this
can be installed via apt
:
$ sudo apt install g++
The pybind11 library is also used for binding the C++ functionality to Python.
Alternatively, for development and testing, you can install by cloning the repository:
$ git clone https://github.com/PennyLaneAI/pennylane-lightning.git
$ cd pennylane-lightning
$ pip install -r requirements.txt
$ pip install -e .
Note that subsequent calls to pip install -e .
will use cached binaries stored in the
build
folder. Run make clean
if you would like to recompile.
You can also pass cmake
options with build_ext
:
$ python3 setup.py build_ext -i --define="ENABLE_OPENMP=OFF;ENABLE_NATIVE=ON"
and install the compiled library with
$ python3 setup.py develop
GPU support¶
For GPU support, PennyLane-Lightning-GPU can be installed by providing the optional [gpu]
tag:
$ pip install pennylane-lightning[gpu]
For more information, please refer to the PennyLane Lightning GPU documentation.
Testing¶
To test that the plugin is working correctly you can test the Python code within the cloned repository:
$ make test-python
while the C++ code can be tested with
$ make test-cpp
CMake Support¶
One can also build the plugin using CMake:
$ cmake -S. -B build
$ cmake --build build
To test the C++ code:
$ mkdir build && cd build
$ cmake -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug ..
$ make
Other supported options are -DENABLE_WARNINGS=ON
,
-DENABLE_NATIVE=ON
(for -march=native
),
-DENABLE_BLAS=ON
, -DENABLE_OPENMP=ON
,
-DENABLE_KOKKOS=ON
, and -DENABLE_CLANG_TIDY=ON
.
Compile on Windows with MSVC¶
You can also compile Pennylane-Lightning on Windows using Microsoft Visual C++ compiler. You need cmake and appropriate Python environment (e.g. using Anaconda).
We recommend to use [x64 (or x86)] Native Tools Command Prompt for VS [version]
for compiling the library. Be sure that cmake
and python
can be called within the prompt.
$ cmake --version
$ python --version
Then a common command will work.
$ pip install -r requirements.txt
$ pip install -e .
Note that OpenMP and BLAS are disabled in this setting.