2017-02-16 9 views
5

başarısız oldu: drv ithalat Numpy olarak ithalat pycuda.autoinit ithalat pycuda.driverpycuda: kernel.cu ait nvcc compitalation i derlemeye çalıştığımda sadece pyCuda, yükledim

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]; 
} 
""") 

şudur sonuç:

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] 

bir anaconda kabuğunda pip kullanarak pyCuda yükledim ve ben microsoft visual studio 14.0 kullanıyorum.

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

ama hep aynı hata verir: nvcc.profile içinde these i ekledik ollowing çizgiyi takip edin.

Teşekkürler.

cevap

1

nvcc.profile'u değiştirmeyin. Muhtemelen sahip olduğum aynı sorunu vardı. Komut çağrısının stdout'unu vermek için compiler.py'u düzenledim. "nvcc fatal : Cannot find compiler 'cl.exe' in PATH" aldım.

Bu, sizin için aynı durum buysa, python dosyanızdaki cl.exe yolunu eklemeniz gerekir. Benim durumumda, aşağıdaki satırları kodumun başına eklemem gerekiyordu.

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") 

Düzenleme: Eğer CUDA ile uyumlu bir MSVS sürümünü çalıştırmak gerekiyor. Yani CUDA v9.0, MSVS2017 ve CUDA v9.1'i desteklemez, yalnızca sonraki sürümleri değil, sürüm 15.4'ü destekler. Visual Studio için Yerel Araçlar Komut İstemi'nden nvcc.exe çalıştırarak çalışıp çalışmadığını deneyin.

İlgili konular