Cuda:未找到图书馆nvvm

问题描述 投票:19回答:6

我试图运行下面的代码,但报告错误:

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)

有谁知道如何解决这个问题?

python ubuntu cuda gpu numba
6个回答
18
投票

在完全相同的情况下对我有用的是在.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/

2
投票

一个解决方案是:

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/

enter image description here


1
投票

在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

而已。


0
投票

我使用anaconda-navigator解决了这个问题。你可以在这里下载:https://www.anaconda.com/distribution/

  1. 在终端打开anaconda导航仪:anaconda-navigator
  2. 在anaconda导航器中选择Environments
  3. 搜索cudatoolkit
  4. 选择cudatoolkit
  5. 点击申请

这是我安装的cudatoolkit。 anaconda navigator

当您选择未安装的包button to click apply时,这是单击的按钮


0
投票

根据我的经验,如果你使用https://ngc.nvidia.com/catalog/landing的容器,所有这些CUDA(以及类似的驱动程序)问题都会消失。

您必须确保使用nvidia-docker而不是docker启动docker,它将非常有效地启用与GPU相关的驱动程序。


0
投票

在Debian Stretch系统中:

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 ..

© www.soinside.com 2019 - 2024. All rights reserved.