Hello! I’m trying to use LightningGPU to speed up my code, and I’m running into installation issues. Here is the line I’m using:
dev = qml.device("lightning.gpu", wires=qubits)
And here is the error message I’m receiving:
/home/imrannasrullah/anaconda3/lib/python3.11/site-packages/pennylane_lightning/lightning_gpu/lightning_gpu.py:76: UserWarning: libcublas.so.11: cannot open shared object file: No such file or directory
warn(str(e), UserWarning)
/home/imrannasrullah/anaconda3/lib/python3.11/site-packages/pennylane_lightning/lightning_gpu/lightning_gpu.py:958: UserWarning:
"Pre-compiled binaries for lightning.gpu are not available. Falling back to "
"using the Python-based default.qubit implementation. To manually compile from "
"source, follow the instructions at "
"https://pennylane-lightning.readthedocs.io/en/latest/installation.html.",
warn(
For context here are some relevant details from: qml.about()
:
Name: PennyLane
Version: 0.33.1
Summary: PennyLane is a Python quantum machine learning library by Xanadu Inc.
Home-page: https://github.com/PennyLaneAI/pennylane
Author:
Author-email:
License: Apache License 2.0
Location: /home/imrannasrullah/anaconda3/lib/python3.11/site-packages
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, pennylane-lightning, requests, rustworkx, scipy, semantic-version, toml, typing-extensions
Required-by: PennyLane-Lightning, PennyLane-Lightning-GPU
Platform info: Linux-5.15.133.1-microsoft-standard-WSL2-x86_64-with-glibc2.35
Python version: 3.11.5
Numpy version: 1.24.3
Scipy version: 1.11.4
Installed devices:
- default.gaussian (PennyLane-0.33.1)
- default.mixed (PennyLane-0.33.1)
- default.qubit (PennyLane-0.33.1)
- default.qubit.autograd (PennyLane-0.33.1)
- default.qubit.jax (PennyLane-0.33.1)
- default.qubit.legacy (PennyLane-0.33.1)
- default.qubit.tf (PennyLane-0.33.1)
- default.qubit.torch (PennyLane-0.33.1)
- default.qutrit (PennyLane-0.33.1)
- null.qubit (PennyLane-0.33.1)
- lightning.qubit (PennyLane-Lightning-0.33.1)
- lightning.gpu (PennyLane-Lightning-GPU-0.33.1)
And here is the status of my GPU, as displayed by nvidia-smi
:
Tue Jan 16 20:52:36 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.12 Driver Version: 527.41 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:F3:00.0 Off | N/A |
| N/A 44C P0 N/A / N/A | 0MiB / 4096MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
On a side note, I’m not sure why qml.about()
is showing the version if python to be 3.11.5, because when I run the command:
!python --version
on Jupyter notebook, it returns version 3.9.18, which I expect because I launched this notebook from a virtual environment that has Python version 3.9 on it (because I know to use LightningGPU, you have to be between versions 3.7-3.10)
If anybody has this issue, please lmk!
I’ve also used these lines of code to setup the virtual environment and the pennylane relevant libraries:
conda create --name LGPU python=3.9
source activate LGPU
pip install pennylane
python -m pip install cuquantum-python
pip install pennylane-lightning[gpu]
pip install pennylane custatevec-cu11 pennylane-lightning-gpu