Skip to main content
 首页 » 编程设计

python - Cuda:未找到库 nvvm

2023年05月26日16pengyingh

我正在尝试运行下面的代码但报错:

NvvmSupportError:找不到 libNVVM。执行 conda 安装 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/