当前位置: 首页>>技术教程>>正文


python – CUDA:找不到库nvvm

, , , ,

问题描述

我正在尝试运行以下代码,但报告了错误:

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/

次佳方案

一种解决方案是:

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>编辑配置

export NUMBAPRO_NVVM=/usr/local/cuda-{cuda version}/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda-{cuda version}/nvvm/libdevice/

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7860.html,未经允许,请勿转载。