Friday, September 23, 2016

Error: GroundHog training - gcc problem

在進行GroundHog 時出錯,信息如下︰
Problem occurred during compilation with the command line below:
/home/mb45450/anaconda2/bin/g++ -shared -g -O3 -fno-math-errno -Wno-unused-label -Wno-unused-variable -Wno-write-strings -march=core-avx2 -mcx16 -msahf -mmovbe -maes -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 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=30720 -mtune=generic -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -fPIC -I/home/mb45450/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/home/mb45450/anaconda2/include/python2.7 -I/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof -fvisibility=hidden -o /home/mb45450/.theano/compiledir_Linux-2.6-el6.x86_64-x86_64-with-centos-6.6-Final-x86_64-2.7.12-64/tmplOV2r2/cdb0b986639740d2acf156f042fe37d2.so /home/mb45450/.theano/compiledir_Linux-2.6-el6.x86_64-x86_64-with-centos-6.6-Final-x86_64-2.7.12-64/tmplOV2r2/mod.cpp -L/home/mb45450/anaconda2/lib -lpython2.7
/tmp/cch3uGLn.s: Assembler messages:
/tmp/cch3uGLn.s:2996: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm1,%ymm0'
/tmp/cch3uGLn.s:3004: Error: no such instruction: `vextracti128 $0x1,%ymm0,16(%rsi)'
/tmp/cch3uGLn.s:3006: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm1,%ymm0'
/tmp/cch3uGLn.s:3008: Error: no such instruction: `vextracti128 $0x1,%ymm0,48(%rsi)'

Traceback (most recent call last):
  File "train.py", line 101, in <module>
    main()
  File "train.py", line 82, in main
    enc_dec.build()
  File "build/bdist.linux-x86_64/egg/experiments_pt_zh/nmt/encdec.py", line 1620, in build
    c=self.sampling_c)
  File "build/bdist.linux-x86_64/egg/experiments_pt_zh/nmt/encdec.py", line 1484, in build_sampler
    name="{}_sampler_scan".format(self.prefix))
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/scan_module/scan.py", line 745, in scan
    condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args))
  File "build/bdist.linux-x86_64/egg/experiments_pt_zh/nmt/encdec.py", line 1460, in sampling_step
    sample, log_prob = self.build_decoder(y=prev_word, step_num=step_num, mode=Decoder.SAMPLING, **decoder_args)[:2]
  File "build/bdist.linux-x86_64/egg/experiments_pt_zh/nmt/encdec.py", line 1180, in build_decoder
    temp=T)
  File "build/bdist.linux-x86_64/egg/groundhog/layers/basic.py", line 447, in get_sample
  File "build/bdist.linux-x86_64/egg/groundhog/layers/cost_layers.py", line 1060, in compute_sample
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/sandbox/rng_mrg.py", line 1408, in multinomial
    unis = self.uniform(size=size, ndim=1, nstreams=nstreams)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/sandbox/rng_mrg.py", line 1321, in uniform
    rstates = self.get_substream_rstates(nstreams, dtype)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/sandbox/rng_mrg.py", line 1223, in get_substream_rstates
    multMatVect(rval[0], A1p72, M1, A2p72, M2)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/sandbox/rng_mrg.py", line 64, in multMatVect
    [A_sym, s_sym, m_sym, A2_sym, s2_sym, m2_sym], o, profile=False)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/compile/function.py", line 320, in function
    output_keys=output_keys)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/compile/pfunc.py", line 479, in pfunc
    output_keys=output_keys)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/compile/function_module.py", line 1777, in orig_function
    defaults)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/compile/function_module.py", line 1641, in create
    input_storage=input_storage_lists, storage_map=storage_map)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/link.py", line 690, in make_thunk
    storage_map=storage_map)[:3]
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/vm.py", line 1003, in make_all
    no_recycling))
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 970, in make_thunk
    no_recycling)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 879, in make_c_thunk
    output_storage=node_output_storage)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cc.py", line 1200, in make_thunk
    keep_lock=keep_lock)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cc.py", line 1143, in __compile__
    keep_lock=keep_lock)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cc.py", line 1595, in cthunk_factory
    key=key, lnk=self, keep_lock=keep_lock)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cmodule.py", line 1142, in module_from_key
    module = lnk.compile_cmodule(location)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cc.py", line 1506, in compile_cmodule
    preargs=preargs)
  File "/home/mb45450/anaconda2/lib/python2.7/site-packages/theano/gof/cmodule.py", line 2204, in compile_str
    (status, compile_stderr.replace('\n', '. ')))
Exception: ('The following error happened while compiling the node', DotModulo(A, s, m, A2, s2, m2), '\n', "Compilation failed (return status=1): /tmp/cch3uGLn.s: Assembler messages:. /tmp/cch3uGLn.s:2996: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm1,%ymm0'. /tmp/cch3uGLn.s:3004: Error: no such instruction: `vextracti128 $0x1,%ymm0,16(%rsi)'. /tmp/cch3uGLn.s:3006: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm1,%ymm0'. /tmp/cch3uGLn.s:3008: Error: no such instruction: `vextracti128 $0x1,%ymm0,48(%rsi)'. ", '[DotModulo(A, s, m, A2, s2, m2)]')

因為在最後一句寫到cmodule.py,所以上網上找了一下,發現是gcc問題,重新安裝一個支持64bit的版本就解決了。

No comments: