FYI, I have a 64-bit version of Python 2.7 and I followed the instructions for installing pycuda to install pycuda. A.
And I have no problems following the script.
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)
But after that, when fulfilling this statement
mod = SourceModule(""" __global__ void doublify(float *a) { int idx = threadIdx.x + threadIdx.y * 4; a[idx] *= 2; } """)
I got error messages
CompileError: nvcc compilation c: \ users \ xxxx \ appdata \ local \ temp \ tmpaoxt97 \ kernel.cu failed [command: nvcc --cubin -arch sm_21 -m64 -Ic: \ python27 \ lib \ site-packages \ pycuda \ cuda kernel.cu] [stderr: nvcc: fatal error: nvcc could not find a supported version of Microsoft Visual Studio. Only versions 2008, 2010 and 2012 are supported.
But I have VS 2008 and VS 2010 installed on the machine, and set the path and nvcc profile according to the instructions. Will someone tell me what is going on?
UPDATE1 . As cgohike noted, performing the following statements before a problematic statement will solve the problem.
import os os.system("vcvarsamd64.bat")
source share