Could you check what version of GCC you're using ?

Ramana

Thanks again. Interestingly it does NOT work on the CPU -- I am running 
> into the same issues again.
>
> So, there seems to be more to the problem that CUDA?
>
> Thomas
>
> On Friday, 24 February 2017 11:58:54 UTC-5, Ramana Subramanyam wrote:
>>
>> THEANO_FLAGS=device=cpu
>>
>>
>> Excellent! That helped and I can now run the code (as well as my own ...).
>>>
>>> Quick question: How would I convince theano to NOT use the GPU but 
>>> rather stick to the CPU (that is, to not use cuda at all)? Or would I run 
>>> into the same issue again then?
>>>
>>> Many thanks for your help! Much appreciated.
>>>
>>> Thomas
>>>
>>> On Thursday, 23 February 2017 17:09:35 UTC-5, Ramana Subramanyam wrote:
>>>>
>>>> Hi, 
>>>> I tried training your code and it works fine on my system. Try 
>>>> upgrading to CUDA 8 and run the code. 
>>>>
>>>> Ramana
>>>>
>>>> On Thursday, February 23, 2017 at 11:08:23 PM UTC+1, Ramana Subramanyam 
>>>> wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I use theano on 10.12, Sierra as well. What version of nvcc do you 
>>>>> use? XCode 7.3 supports only CUDA 8. You don't need to change versions of 
>>>>> XCode or CLT. I use the same versions of these softwares as you. 
>>>>>
>>>>> Ramana
>>>>>
>>>>> Folks --
>>>>>>
>>>>>> I am stuck in version hell I suppose and need some help for running 
>>>>>> theano on my Mac.
>>>>>>
>>>>>> Here is the config:
>>>>>> Mac OS: 10.12.3 (16D32)
>>>>>>
>>>>>> python 2.7 (I use anaconda but I have tried the /usr-version that 
>>>>>> comes with the OS as well -- same result)
>>>>>>
>>>>>> theano: Theano (0.9.0rc1)
>>>>>> lasagne: Lasagne (0.2.dev1)
>>>>>> numpy: numpy (1.12.0)
>>>>>>
>>>>>> Xcode: Version 7.3 (7D175)
>>>>>> clang: 
>>>>>> Apple LLVM version 7.3.0 (clang-703.0.29)
>>>>>> Target: x86_64-apple-darwin16.4.0
>>>>>> Thread model: posix
>>>>>>
>>>>>> Unfortunately, I cannot downgrade XCode (clang) because I need it for 
>>>>>> other projects.
>>>>>>
>>>>>> So, here is what happens. I am working on LSTM models and have 
>>>>>> narrowed my version problem down as follows: Using the code provided 
>>>>>> here: 
>>>>>> http://colinraffel.com/talks/hammer2015recurrent.pdf (python file 
>>>>>> attached) calls to theano.function (line 154 in the attached) result in 
>>>>>> the 
>>>>>> following error message (excerpt):
>>>>>>
>>>>>> ======/ SNIP /============
>>>>>> Problem occurred during compilation with the command line below:
>>>>>> /usr/bin/clang++ -dynamiclib -g -O3 -fno-math-errno -Wno-unused-label 
>>>>>> -Wno-unused-variable -Wno-write-strings -march=haswell 
>>>>>> -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -fPIC -undefined 
>>>>>> dynamic_lookup 
>>>>>> -I/Users/thomas/anaconda/lib/python2.7/site-packages/numpy/core/include 
>>>>>> -I/Users/thomas/anaconda/include/python2.7 
>>>>>> -I/Users/thomas/anaconda/lib/python2.7/site-packages/theano/gof 
>>>>>> -L/Users/thomas/anaconda/lib -fvisibility=hidden -o 
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/39a151e745f8754653c9e8ca5ea9cf75.so
>>>>>>  
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/mod.cpp
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/mod.cpp:894:21:
>>>>>>  
>>>>>> warning: comparison of array 'outputs' equal to a null pointer is always 
>>>>>> false [-Wtautological-pointer-compare]
>>>>>>                 if (outputs == NULL) {
>>>>>>                     ^~~~~~~    ~~~~
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/mod.cpp:919:54:
>>>>>>  
>>>>>> error: arithmetic on a pointer to void
>>>>>>                                     PyArray_DATA(V3) + data_offset,
>>>>>>                                     ~~~~~~~~~~~~~~~~ ^
>>>>>> 1 warning and 1 error generated.
>>>>>>
>>>>>> Traceback (most recent call last):
>>>>>>   File "lstm_baseline.py", line 154, in <module>
>>>>>>     train = theano.function([l_in.input_var, target_values, 
>>>>>> l_mask.input_var], cost, updates=updates)
>>>>>>   File 
>>>>>> "/Users/thomas/anaconda/lib/python2.7/site-packages/theano/compile/function.py",
>>>>>>  
>>>>>> line 326, in function
>>>>>>     output_keys=output_keys)
>>>>>>   File 
>>>>>> "/Users/thomas/anaconda/lib/python2.7/site-packages/theano/compile/pfunc.py",
>>>>>>  
>>>>>> line 486, in pfunc
>>>>>>     output_keys=output_keys)
>>>>>> ======/ SNAP /============
>>>>>>
>>>>>> later on in theoutput:
>>>>>> ======/ SNIP /============
>>>>>> Exception: ('The following error happened while compiling the node', 
>>>>>> Split{4}(Assert{msg='Theano Assert failed!'}.0, TensorConstant{1}, 
>>>>>> MakeVector{dtype='int64'}.0), '\n', "Compilation failed (return 
>>>>>> status=1): 
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/mod.cpp:894:21:
>>>>>>  
>>>>>> warning: comparison of array 'outputs' equal to a null pointer is always 
>>>>>> false [-Wtautological-pointer-compare].                 if (outputs == 
>>>>>> NULL) {.                     ^~~~~~~    ~~~~. 
>>>>>> /Users/thomas/.theano/compiledir_Darwin-16.4.0-x86_64-i386-64bit-i386-2.7.13-64/tmp5GtYpU/mod.cpp:919:54:
>>>>>>  
>>>>>> error: arithmetic on a pointer to void.                                  
>>>>>>    
>>>>>> PyArray_DATA(V3) + data_offset,.                                     
>>>>>> ~~~~~~~~~~~~~~~~ ^. 1 warning and 1 error generated.. ", '[*1 -> 
>>>>>> Split{4}(<TensorType(float64, matrix)>, TensorConstant{1}, 
>>>>>> <TensorType(int64, vector)>), *1::1, *1::2, *1::3]')
>>>>>> ======/ SNAP /============
>>>>>>
>>>>>>
>>>>>> Now, I know that this code works because we have it up and running on 
>>>>>> another Mac with the same configuration APART from the clang version, 
>>>>>> which 
>>>>>> there is:
>>>>>> Apple LLVM version 7.0.2 (clang-700.1.81)
>>>>>> Target: x86_64-apple-darwin14.5.0
>>>>>> Thread model: posix
>>>>>>
>>>>>> The code also runs fine on a recent Ubuntu box.
>>>>>>
>>>>>> ==> So, it looks like the newer clang version is to blame for being 
>>>>>> more pedantic (?) with comparisons to NULL pointers (in the generated C 
>>>>>> code). Now, this behaviour is a little tricky to debug (to say the 
>>>>>> least). 
>>>>>> I have quadruple checked the Python code and it looks fine. The fact 
>>>>>> that 
>>>>>> it is running on two other of out machines and that the original author 
>>>>>> of 
>>>>>> it (Colin Raffel -- all kudos to him for the tutorial code) is using it 
>>>>>> in 
>>>>>> his tutorial tells me that my suspicion is not entirely wrong.
>>>>>>
>>>>>> I tried installing an older version of the command line tools for 
>>>>>> XCode (essentially the c-compiler) on my box to run it in parallel to 
>>>>>> the 
>>>>>> current version (which I need for other projects) but that did not work 
>>>>>> out. According to the apple developer forum I would need to install the 
>>>>>> complete (!) version of an older XCode package, which is not really an 
>>>>>> option.
>>>>>>
>>>>>>
>>>>>> So, does anyone have a clue / experience / advise on this?
>>>>>>
>>>>>> Many thanks!
>>>>>> Thomas
>>>>>>
>>>>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to