Hello. I try to use the lightning.gpu device since my task requires 18 wires. The code runs fluently on my laptop, but when I deployed the same environment on my desktop, I receive the following error info:
/home/liukdiihmieu/miniconda3/envs/lab/lib/python3.9/site-packages/pennylane_lightning_gpu/lightning_gpu.py:77: UserWarning: CUDA device is an unsupported version: (5, 2)
warn(str(e), UserWarning)
/home/liukdiihmieu/miniconda3/envs/lab/lib/python3.9/site-packages/pennylane_lightning_gpu/lightning_gpu.py:428: RuntimeWarning:
!!!#####################################################################################
!!!
!!! WARNING: INSUFFICIENT SUPPORT DETECTED FOR GPU DEVICE WITH lightning.gpu
!!! DEFAULTING TO CPU DEVICE lightning.qubit
!!!
!!!#####################################################################################
Is that because my desktop GPU, GTX960, is too outdated? (Iām using RTX3050 on the laptop.) I already installed the cuQuantum SDK via conda, with CUDA version 11.6. Thanks in advance.
Thanks for your reply! I tried once more on a server with NVIDIA Titan RTX and it succeeded in running with lightning.gpu, so I think that Turing architecture is also compatible? Could you please let me know the least hardware requisite?
Hi @lynx, this is a happy surprise for me since cuStateVec (a component of cuQuantum) is only supposed to be supported for Volta and Ampere architectures according to their own documentation. Iām sure not sure why it works with Turing too.
Hi @lynx cuQuantum itself is built for CUDA compute capability SM 7.0 and above. In this instance, the GTX 960 compute capability is SM 5.2 as reported by the warning message:
UserWarning: CUDA device is an unsupported version: (5, 2)
The RTX 3050 is SM 8.6 and the Titan RTX is SM 7.5, which means these should work fine, but the GTX 960 will not.
The NVIDIA GPU->compute capabilities can be found here. As mentioned by @CatalinaAlbornoz this is a limit imposed by cuStateVec, and so we cannot support the older generation of cards.
If you need to use an older card, we have a new device under development that can be compiled by the user for older GPU architectures here. Since this is under active development, we do not guarantee it will work in all of the same cases as lightning.gpu. Assuming you are running on Linux, and have an active CUDA installation, you can create a working install within the repository with: