gpt4 book ai didi

python - CUDA 9.0 和 pycuda,错误 :CompileError: nvcc compilation . .. kernel.cu 失败

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:23 25 4
gpt4 key购买 nike

import pycuda.driver as cuda
import pycuda.autoinit
from pycuda.compiler import SourceModule
import 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("""
__global__ void doublify(float *a)
{
int idx = threadIdx.x + threadIdx.y*4;
a[idx] *= 2;
}
""")

我刚刚安装了CUDA 9.0和pycuda,正在按照教程运行第一个cuda程序。但总是出错:

CompileError: nvcc 编译 c:\users\rl74173\appdata\local\temp\tmp6nww2c\kernel.cu 失败

我之前做了一些研究并找到了一些答案。所以我在运行之前添加了这个:

import os
os.system("vcvarsamd64.bat")

但是还是报错。

我还看到有人通过在 nvcc.profile 下面添加一行来解决这个问题

COMPILER-BINDIR = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64

我安装了 visual studio community 2017,所以就我而言,我试过了

COMPILER-BINDIR = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib\amd64

但这并没有帮助。

最佳答案

好的,我已经帮我修好了。问题是运行 vcvars64.batsubshell 中设置路径环境...然后关闭它,因此设置的路径再次消失。

您想要的是自己更改路径:将路径添加到cl.exe 编译器文件。为此,我引用了 this post .就我而言,我必须在开始时将其添加到我的 .py 文件中:

import os
if (os.system("cl.exe")):
os.environ['PATH'] += ';'+r"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64"
if (os.system("cl.exe")):
raise RuntimeError("cl.exe still not found, path probably incorrect")

我希望这对你有用。

编辑:您需要运行与 CUDA 兼容的 MSVS 版本。 IE。 CUDA v9.0 不支持 MSVS2017,CUDA v9.1 只支持 15.4 版本,不支持更高版本。通过从 Visual Studio 的 native 工具命令提示符运行 nvcc.exe 来尝试它是否有效。

关于python - CUDA 9.0 和 pycuda,错误 :CompileError: nvcc compilation . .. kernel.cu 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46454110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com