以下のコードを実行しようとしていますが、エラーが報告されます。
NvvmSupportError:libNVVMが見つかりません。_conda install cudatoolkit
:ライブラリnvvmが見つかりません
私の開発環境は、Ubuntu 17.04、Spyder/Python3.5、およびconda(numbaおよびcudatoolkit)を介してインストールしました。 Nvidia GPU(GTX 1070および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)
誰もこの問題を解決する方法を知っていますか?
まったく同じシナリオで私にとってうまくいったのは、.bashrcに次のものを含めることでした(現在cuda-9.0を使用しています)。変数名のNUMBAPROに捨てられないでください-numbaで動作します(少なくとも私にとっては):
export NUMBAPRO_NVVM=/usr/local/cuda-9.0/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-9.0/nvvm/libdevice/
更新:私にとってもうまくいきました。私はCuda 10.1を使用しているので、あなたの代わりに次の行を含めました:
export NUMBAPRO_NVVM=/usr/local/cuda-10.1/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-10.1/nvvm/libdevice/
1つの解決策は:
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'
またはPyCharmを使用している場合は、GO TO RUN> Configurationの編集
export NUMBAPRO_NVVM=/usr/local/cuda-{cuda version}/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-{cuda version}/nvvm/libdevice/
Ubuntu 18.04では、すべてのライブラリとパッケージを公式リポジトリからインストールする場合、.bashrc
は、numba
がライブラリとデバイスを見つけることを許可します。
...
export NUMBAPRO_LIBDEVICE=/usr/lib/cuda/nvvm/libdevice
export NUMBAPRO_NVVM=/usr/lib/x86_64-linux-gnu/
...
NUMBAPRO_LIBDEVICE情報はパッケージから抽出されました。
$ dpkg -L nvidia-cuda-toolkit
およびNUMBAPRO_NVVMから:
$ dpkg -L libnvvm3
それでおしまい。
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 /
PBを修正しました。
私の経験では、 https://ngc.nvidia.com/catalog/landing のコンテナーを使用すると、これらのCUDA(および同様のドライバー)の問題はすべてなくなります。
docker
の代わりにnvidia-docker
を使用してdockerを起動し、GPU関連のドライバーを非常に効果的に有効にする必要があります。
Anaconda-navigatorを使用してこの問題を解決しました。ここからダウンロードできます: https://www.anaconda.com/distribution/