J'essaie d'exécuter le code ci-dessous mais une erreur est signalée:
NvvmSupportError: libNVVM est introuvable. Do conda install cudatoolkit
: bibliothèque nvvm introuvable
Mon environnement de développement est: Ubuntu 17.04, Spyder/Python3.5 et j'ai installé via conda (numba et cudatoolkit). GPU Nvidia (GTX 1070 et GTX 1060).
import numpy as np
from timeit import default_timer as timer
from numba import vectorize
@vectorize(["float32(float32, float32)"], target='cuda')
def VecADD(a,b):
return a+b
n = 32000000
a = np.ones (n, dtype=np.float32)
b = np.ones (n, dtype=np.float32)
c = np.zeros(n, dtype=np.float32)
start = timer()
C = VecADD(a,b)
print (timer() - start)
Est-ce que quelqu'un sait comment résoudre ce problème?
Ce qui a fonctionné pour moi dans exactement le même scénario était d'inclure ce qui suit dans le .bashrc (j'utilise actuellement cuda-9.0). Ne vous laissez pas décourager par le NUMBAPRO dans le nom de la variable - cela fonctionne pour numba (au moins pour moi):
export NUMBAPRO_NVVM=/usr/local/cuda-9.0/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-9.0/nvvm/libdevice/
Mise à jour: Cela a fonctionné pour moi aussi. Comme j'utilise Cuda 10.1, j'ai inclus les lignes suivantes au lieu de la vôtre:
export NUMBAPRO_NVVM=/usr/local/cuda-10.1/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-10.1/nvvm/libdevice/
Une solution est:
import os
os.environ['NUMBAPRO_NVVM'] = r'C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\nvvm\bin\nvvm64_31_0.dll'
os.environ['NUMBAPRO_LIBDEVICE'] = r'C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\nvvm\libdevice'
Ou si vous utilisez PyCharm GO TO RUN> Modifier la configuration
export NUMBAPRO_NVVM=/usr/local/cuda-{cuda version}/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-{cuda version}/nvvm/libdevice/
Sur Ubuntu 18.04, si vous installez toutes les bibliothèques et tous les packages du référentiel officiel, vous devez ajouter deux informations sur votre .bashrc
pour permettre à numba
de trouver vos bibliothèques et votre périphérique:
...
export NUMBAPRO_LIBDEVICE=/usr/lib/cuda/nvvm/libdevice
export NUMBAPRO_NVVM=/usr/lib/x86_64-linux-gnu/
...
NUMBAPRO_LIBDEVICE informations ont été extraites du package:
$ dpkg -L nvidia-cuda-toolkit
et NUMBAPRO_NVVM de:
$ dpkg -L libnvvm3
C'est ça.
ln -s/usr/lib/x86_64-linux-gnu// usr/lib/nvidia-cuda-toolkit/bin/nvvm/lib64
ln -s/usr/lib/nvidia-cuda-toolkit/libdevice// usr/lib/nvidia-cuda-toolkit/bin/nvvm/libdevice
export CUDA_HOME =/usr/lib/nvidia-cuda-toolkit/bin /
Correction du pb ..
D'après mon expérience, tous ces problèmes CUDA (et pilotes similaires) disparaissent si vous utilisez un conteneur de https://ngc.nvidia.com/catalog/landing .
Vous devez vous assurer que vous démarrez docker avec nvidia-docker
au lieu de docker
et cela activera très efficacement les pilotes liés au GPU.
J'ai résolu ce problème en utilisant anaconda-navigator. Vous pouvez télécharger ici: https://www.anaconda.com/distribution/
Ceci est mon cudatoolkit installé.
C'est le bouton à cliquer lorsque vous sélectionnez un package non installé