2017-02-16 7 views
5

मैं सिर्फ pyCuda, स्थापित किया है जब मैं संकलन करने का प्रयास करें: आयात pycuda.autoinit drv आयात numpy के रूप में आयात pycuda.driverpycuda: kernel.cu की NVCC compitalation में विफल रहा है

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] 

मैं एक एनाकोंडा खोल में पिप का उपयोग कर pyCuda स्थापित किया है और मैं माइक्रोसॉफ्ट विजुअल स्टूडियो 14.0 उपयोग कर रहा हूँ। nvcc.profile में these मैं जोड़ दिया है ollowing लाइन का पालन करें:

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

लेकिन यह हमेशा एक ही त्रुटि देता है।

धन्यवाद।

उत्तर

1

nvcc.profile को न बदलें। आपके पास शायद यही समस्या थी। मैंने कमांड कॉल के stdout आउटपुट के लिए compiler.py संपादित किया। मुझे "nvcc fatal : Cannot find compiler 'cl.exe' in PATH" मिला।

तो, यदि यह आपके लिए एक ही मामला है, तो आपको अपनी पायथन फ़ाइल में 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") 

संपादित करें: यदि आप एक MSVS संस्करण CUDA के साथ संगत को चलाने के लिए की जरूरत है। अर्थात। CUDA v9.0 MSVS2017 का समर्थन नहीं करता है और CUDA v9.1 केवल संस्करण 15.4 का समर्थन करता है, बाद के संस्करणों में नहीं। कोशिश करें कि यह विजुअल स्टूडियो के लिए मूल उपकरण कमांड प्रॉम्प्ट से nvcc.exe चलाकर काम करता है।

संबंधित मुद्दे