Gpu pytools.prefork.ExecError:调用';nvcc—版本';:[Errno 2]没有这样的文件或目录

Gpu pytools.prefork.ExecError:调用';nvcc—版本';:[Errno 2]没有这样的文件或目录,gpu,ubuntu-16.04,nvidia,pycuda,Gpu,Ubuntu 16.04,Nvidia,Pycuda,我已经安装了pycuda,我正在尝试用下面的代码测试它 将pycuda.driver导入为cuda 导入pycuda.autoinit 从pycuda.compiler导入SourceModule 进口numpy a=numpy.random.randn(4,4) a=a.astype(numpy.float32) a_gpu=cuda.mem_alloc(a.nbytes) cuda.memcpy_htod(a_gpu,a) mod=SourceModule(“”) __全局无效双倍化(浮点*

我已经安装了
pycuda
,我正在尝试用下面的代码测试它

将pycuda.driver导入为cuda
导入pycuda.autoinit
从pycuda.compiler导入SourceModule
进口numpy
a=numpy.random.randn(4,4)
a=a.astype(numpy.float32)
a_gpu=cuda.mem_alloc(a.nbytes)
cuda.memcpy_htod(a_gpu,a)
mod=SourceModule(“”)
__全局无效双倍化(浮点*a)
{
int idx=threadIdx.x+threadIdx.y*4;
a[idx]*=2;
}
""")
func=mod.get_函数(“双重化”)
func(agpu,block=(4,4,1))
a\u double=numpy.empty\u like(a)
cuda.memcpy\u dtoh(加倍,gpu)
打印一张照片
打印
我得到以下错误:

pytools.prefork.ExecError:调用“nvcc--version”时出错:[Errno 2] 没有这样的文件或目录


在.bashrc文件中添加以下行后,它将正常工作

导出路径=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}$
导出LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}

步骤
1.查找.bashrc文件。
2.添加上面的行。
3.source.bashrc
4.测试运行命令“nvcc--version”


link:help

如果报告了此错误,请打开compiler.py文件,并在
compile\u plain()
函数中添加以下行:

nvcc='/usr/local/cuda/bin/'+nvcc
compiler.py文件位于:
“/anaconda3/lib/python3.7/site packages/pycuda-2020.1-py3.7-linux-x86_64.egg/pycuda/compiler.py”

所以最终的代码是这样的:

def compile_plain(源代码、选项、保留、nvcc、缓存目录、目标=“cubin”):
从os.path导入联接
在[“cubin”、“ptx”、“fatbin”]中断言目标
nvcc='/usr/local/cuda/bin/'+nvcc#-->这是新行
如果缓存目录:
校验和=_new_md5()
...

保存它,就这样

我从[link]中的答案中获取了这个示例程序,我已经在使用python 2.7并试图从终端测试它,但我仍然面临这个问题