pycuda:nvcc 编译 kernel.cu 失败

问题描述 投票:0回答:3

我刚刚安装了 pyCuda,当我尝试编译时: 导入 pycuda.autoinit 将 pycuda.driver 导入为 drv 导入numpy

from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
  const int i = threadIdx.x;
  dest[i] = a[i] * b[i];
}
""")

这就是结果:

Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
  File "C:\Program Files\Anaconda3\lib\site-packages\pycuda\compiler.py", line 265, in __init__
    arch, code, cache_dir, include_dirs)
      File "C:\Program Files\Anaconda3\lib\site-packages\pycuda\compiler.py", line 255, in compile
   return compile_plain(source, options, keep, nvcc, cache_dir, target)
   File "C:\Program Files\Anaconda3\lib\site-packages\pycuda\compiler.py", line 137, in compile_plain
     stderr=stderr.decode("utf-8", "replace"))
pycuda.driver.CompileError: nvcc compilation of C:\Users\whyno\AppData\Local\Temp\tmpkv6oyxif\kernel.cu failed
[command: nvcc --cubin -arch sm_50 -m64 -Ic:\program files\anaconda3\lib\site-packages\pycuda\cuda kernel.cu]

我已经在 anaconda shell 中使用 pip 安装了 pyCuda,并且使用的是 microsoft Visual Studio 14.0。按照 这些 我在 nvcc.profile 中添加了以下行:

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

但它总是返回相同的错误。

谢谢。

python nvcc pycuda
3个回答
3
投票

不要改变

nvcc.profile
。你可能也遇到了和我一样的问题。我编辑了
compiler.py
以输出命令调用的标准输出。我得到了
"nvcc fatal : Cannot find compiler 'cl.exe' in PATH"

因此,如果您的情况相同,则需要在 python 文件中添加 cl.exe 的路径。就我而言,我需要在代码开头添加以下行。

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 的本机工具命令提示符运行

nvcc.exe
来尝试它是否有效。


0
投票

我刚刚通过将 cl.exe 添加到我的 Windows 路径并重新启动我的 ide 解决了此错误。

根据 Visual Studio 的版本和安装目录,cl.exe 的路径有所不同。通常,cl.exe 位于类似于

C:\Program Files\Microsoft Visual Studio\[Version]\[Edition]\VC\Tools\MSVC\[Version]\bin\Host[X64 or X86]\[x64 or x86].

的目录中

-1
投票

如果您使用的是 Windows,请在环境变量中进行以下设置:

路径:

C:\Program Files\NVIDIA GPU 计算工具包\CUDA 10.2 in

C:\Program Files\NVIDIA GPU 计算工具包\CUDA 10.2\libnvvp

C:\Program Files\NVIDIA GPU 计算工具包\CUDA 10.2\lib\x64

C:\Program Files\NVIDIA GPU 计算工具包\CUDA 10.2 xtras\CUPTI\libx64

C:\ProgramFiles(x86)\MicrosoftVisualStudio�9\Community\VC\Tools\MSVC .23.28105 in\Hostx64\x64"

CUDA_PATH:C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA 10.2

CUDA_PATH_V8_0:C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA 10.2

NVCUDASAMPLES_ROOT:C:\ProgramData\NVIDIA Corporation\CUDA Samples 10.2

NVCUDASAMPLES8_0_ROOT:C:\ProgramData\NVIDIA Corporation\CUDA Samples 10.2

完成后,单击“确定”并重新启动计算机。

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