This Theano Installation is making me mad :(
So, I've followed the instructions here on the most voted answer because it seemed like the most similar condiguration from mine and up-to-date version : Installing theano on Windows 8 with GPU enabled
1- I've installed Cuda v6.5, launched deviceQuery and it works fine.
2- I already have Visual Studio 2013 so I haven't installed Visual Studio 2010
3- > At the time of writing, Theano on GPU only allows working with 32-bit floats and is primarily built for 2.7 version of Python.
So i don't know exactly what is the current state now but I have a friend with the same configuration than mine and he managed to make it work so I guess it's possible. I've installed Python through Anaconda.
4- I've installed MinGW and Cygwin
5- I've fixed msvc9compiler.py
6- Here's the bottleneck : the PyCUDA Installation
Here's what I've done: - I've used cygwin to extract the pycuda tar file - I've executed python configure.py through VS2013 x64 Native Tools Command Prompt than configured siteconfig.py as followed:
BOOST_INC_DIR = []
BOOST_LIB_DIR = []
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v6.5'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib/x64']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib/x64']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib/x64']
CURAND_LIBNAME = ['curand']
CXXFLAGS = ['/EHsc', '-DBOOST_NO_TYPEID']
LDFLAGS = ['/FORCE']
- I've executed python setup.py build --compiler="msvc" through VS2013 x64 Native Tools Command Prompt
- I've executed python setup.py install through VS2013 x64 Native Tools Command Prompt
When I execute the little test in python, here's what's happening:
PS C:\users\jmm\desktop> python test.py Vendor: Continuum Analytics, Inc. Package: mkl Message: trial mode expires in 29 days Traceback (most recent call last): File "test.py", line 7, in <module> a_doubled = (2*a_gpu).get() File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\gpuarray.py", line 471, in __rm ul__ return self._axpbz(scalar, 0, result) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\gpuarray.py", line 333, in _axp bz func = elementwise.get_axpbz_kernel(self.dtype, out.dtype) File "<string>", line 2, in get_axpbz_kernel File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\tools.py", line 423, in context _dependent_memoize result = func(*args) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\elementwise.py", line 417, in g et_axpbz_kernel "axpb") File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\elementwise.py", line 157, in g et_elwise_kernel arguments, operation, name, keep, options, **kwargs) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\elementwise.py", line 143, in g et_elwise_kernel_and_types keep, options, **kwargs) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\elementwise.py", line 71, in ge t_elwise_module options=options, keep=keep) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\compiler.py", line 251, in __in it__ arch, code, cache_dir, include_dirs) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\compiler.py", line 241, in comp ile return compile_plain(source, options, keep, nvcc, cache_dir) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\compiler.py", line 73, in compi le_plain checksum.update(preprocess_source(source, options, nvcc).encode("utf-8")) File "C:\Users\jmm\Anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg\pycuda\compiler.py", line 52, in prepr ocess_source cmdline, stderr=stderr) pycuda.driver.CompileError: nvcc preprocessing of c:\users\jmm\appdata\local\temp\tmp32jnzb.cu failed [command: nvcc --preprocess -arch sm_30 -m64 -Ic:\users\jmm\anaconda\lib\site-packages\pycuda-2014.1-py2.7-win-amd64.egg \pycuda\cuda c:\users\jmm\appdata\local\temp\tmp32jnzb.cu --compiler-options -EP] [stderr: tmp32jnzb.cu 'C:\Program' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. ]
Could you please tell me why the hell this doesn't work ?