I am trying to use theano on a redhat linux cluster, and I am running into
a few problems.
Specifically, I am getting an error about an undefined instruction. This
error happens only sporadically (even on the same machine), which makes
debugging it even harder.
Here's the exception:
Exception: ('The following error happened while compiling the node',
Gemm{no_inplace}(dense_1_target\
, TensorConstant{1.0}, dense_input_1, dense_1_W, TensorConstant{-1.0}),
'\n', "Compilation failed (r\
eturn status=1): /var/opt/condor/execute/dir_122882/cc4LC9Rp.s: Assembler
messages:. /var/opt/condor\
/execute/dir_122882/cc4LC9Rp.s:2579: Error: no such instruction: `shrx
%rcx,(%r9),%rdi'. /var/opt/co\
ndor/execute/dir_122882/cc4LC9Rp.s:2581: Error: no such instruction: `shrx
%rcx,8(%r9),%r10'. /var/o\
pt/condor/execute/dir_122882/cc4LC9Rp.s:2604: Error: no such instruction:
`shrx %rdx,(%rcx),%rdx'. /\
var/opt/condor/execute/dir_122882/cc4LC9Rp.s:2785: Error: no such
instruction: `shrx %rcx,(%r9),%rdi\
'. /var/opt/condor/execute/dir_122882/cc4LC9Rp.s:2787: Error: no such
instruction: `shrx %rcx,8(%r9)\
,%r10'. /var/opt/condor/execute/dir_122882/cc4LC9Rp.s:2810: Error: no such
instruction: `shrx %rdx,(\
%rcx),%rdx'. ", '[Gemm{no_inplace}(dense_1_target, TensorConstant{1.0},
dense_input_1, dense_1_W, Te\
nsorConstant{-1.0})]')
Here's the full compilation line (forgive my ugly paths -- It's a long
story!)
/home/jmh563/gcc-5.2.0/bin/g++ -shared -g -O3 -fno-math-errno
-Wno-unused-label -Wno-unused-variable -Wno-write-strings
-Wl,-rpath,/home/jmh563/otherInstalls/OpenBLAS/lib -march=haswell -mmmx
-mno-3dnow \
-msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha
-mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2
-mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm\
-mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr
-mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf
-mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsa\
ves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma
-mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx --param l1-cache-size=32
--param l1-cache-line-size=64 --param l2-cache-size=20480 -mtune=\
haswell -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -fPIC
-I/home/jmh563/curPythonInstall/lib/python2.7/site-packages/numpy-1.13.0.dev0+1c8ecc7-py2.7-linux-x86_64.egg/numpy/core/include
-I/home/jmh5\
63/curPythonInstall/include/python2.7
-I/home/jmh563/curPythonInstall/lib/python2.7/site-packages/Theano-0.9.0.dev5-py2.7.egg/theano/gof
-L/home/jmh563/otherInstalls/OpenBLAS/lib -L/home/jmh563/curPython\
Install/lib -fvisibility=hidden -o
/var/tmp/theano-360142/compiledir_Linux-2.6-el6.x86_64-x86_64-with-redhat-6.6-Santiago-x86_64-2.7.13-64/tmpnoStZa/1ef31f0e43a0cb34a58a9d31cef1eb8d.so
/var/tmp/theano-36\
0142/compiledir_Linux-2.6-el6.x86_64-x86_64-with-redhat-6.6-Santiago-x86_64-2.7.13-64/tmpnoStZa/mod.cpp
-lopenblas -lpython2.7
and here's my theanorc
[global]
device = cpu
floatX = float32
cxx = /home/jmh563/gcc-5.2.0/bin/g++
gcc.cxxflags = '-march=core2'
(I tried to add -march=core2 because I read in a PR somewhere that that
would work)
I have done some googling and this seems to be a relatively common problem
for folks. Is there an accepted set of steps to address this sort of thing?
Or just try out a bunch of different settings of gcc.cxxflags?
Jack
--
---
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.