CMU-Perceptual-Computing-Lab / caffe_rtpose

Realtime C++ code for multi-person pose estimation
Other
356 stars 207 forks source link

Assembler errors on CentOS 6.5 #6

Closed rohitgirdhar closed 7 years ago

rohitgirdhar commented 7 years ago

I am trying to compile it on a CentOS 6.5 machine, with all the requirements present. I get a bunch of assembler errors. I am able to compile the current BVLC/caffe source (master) on the same machine though.

.
.
.
/tmp/cctOfDIJ.s:48580: Error: no such instruction: `shlx %rax,%r8,%rcx'                                                                                                                                                              [37/1930]
/tmp/cctOfDIJ.s:48593: Error: no such instruction: `shlx %rax,%rdi,%r12'
/tmp/cctOfDIJ.s:48610: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/cctOfDIJ.s:48654: Error: no such instruction: `shlx %rbx,%rdi,%r8'
/tmp/cctOfDIJ.s:48656: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/cctOfDIJ.s:48696: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/cctOfDIJ.s:48727: Error: no such instruction: `shlx %rax,%r8,%r9'
/tmp/cctOfDIJ.s:48740: Error: no such instruction: `shlx %rax,%r8,%r9'
/tmp/cctOfDIJ.s:48768: Error: no such instruction: `shlx %rax,%r8,%r12'
/tmp/cctOfDIJ.s:48781: Error: no such instruction: `shlx %rax,%r8,%r12'
/tmp/cctOfDIJ.s:48795: Error: no such instruction: `shlx %rax,%r8,%rdi'
/tmp/cctOfDIJ.s:48806: Error: no such instruction: `shlx %rax,%r8,%rdi'
/tmp/cctOfDIJ.s:48822: Error: no such instruction: `shlx %rax,%r8,%r11'
/tmp/cctOfDIJ.s:48833: Error: no such instruction: `shlx %rax,%r8,%r11'
make: *** [.build_release/src/caffe/cpm/cpm_data_transformer.o] Error 1
/tmp/ccgfpXjY.s: Assembler messages:
/tmp/ccgfpXjY.s:13715: Error: no such instruction: `shlx %rsi,%r14,%r9'
/tmp/ccgfpXjY.s:13720: Error: no such instruction: `shlx %rdx,%r14,%rax'
/tmp/ccgfpXjY.s:13751: Error: no such instruction: `shlx %rbx,%rax,%rax'
/tmp/ccgfpXjY.s:13867: Error: no such instruction: `shlx %r10,%r9,%r14'
/tmp/ccgfpXjY.s:13873: Error: no such instruction: `shlx %rsi,%r9,%r10'
/tmp/ccgfpXjY.s:13875: Error: no such instruction: `shlx %rdx,%r9,%rax'
/tmp/ccgfpXjY.s:13929: Error: no such instruction: `shlx %rbx,%rdi,%r8'
/tmp/ccgfpXjY.s:13931: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/ccgfpXjY.s:14020: Error: no such instruction: `shlx %r8,%rax,%rax'
/tmp/ccgfpXjY.s:22921: Error: suffix or operands invalid for `vbroadcastss'
/tmp/ccgfpXjY.s:23068: Error: suffix or operands invalid for `vbroadcastss'
/tmp/ccgfpXjY.s:23187: Error: suffix or operands invalid for `vbroadcastss'
/tmp/ccgfpXjY.s:23363: Error: suffix or operands invalid for `vbroadcastss'
/tmp/ccgfpXjY.s:24987: Error: suffix or operands invalid for `vbroadcastsd'
/tmp/ccgfpXjY.s:25098: Error: suffix or operands invalid for `vbroadcastsd'
/tmp/ccgfpXjY.s:25189: Error: suffix or operands invalid for `vbroadcastsd'
/tmp/ccgfpXjY.s:25329: Error: suffix or operands invalid for `vbroadcastsd'
/tmp/ccgfpXjY.s:25564: Error: no such instruction: `shlx %rsi,%r13,%r11'
/tmp/ccgfpXjY.s:25569: Error: no such instruction: `shlx %rdx,%r13,%rax'
/tmp/ccgfpXjY.s:25706: Error: no such instruction: `shlx %rbx,%r8,%r9'
/tmp/ccgfpXjY.s:25724: Error: no such instruction: `shlx %rbx,%r8,%rax'
/tmp/ccgfpXjY.s:25748: Error: no such instruction: `shlx %rax,%r9,%r8'
/tmp/ccgfpXjY.s:25766: Error: no such instruction: `shlx %rax,%r9,%rdx'
/tmp/ccgfpXjY.s:25801: Error: no such instruction: `shlx %rbx,%r8,%r9'
/tmp/ccgfpXjY.s:25880: Error: no such instruction: `shlx %rsi,%r10,%r11'
/tmp/ccgfpXjY.s:25882: Error: no such instruction: `shlx %rax,%r10,%rdi'
/tmp/ccgfpXjY.s:26026: Error: no such instruction: `shlx %rax,%r8,%r11'
/tmp/ccgfpXjY.s:26039: Error: no such instruction: `shlx %rax,%r8,%r11'
/tmp/ccgfpXjY.s:26063: Error: no such instruction: `shlx %rbx,%r8,%rax'
/tmp/ccgfpXjY.s:26076: Error: no such instruction: `shlx %rax,%r9,%r8'
/tmp/ccgfpXjY.s:26086: Error: no such instruction: `shlx %rax,%r9,%rdx'
/tmp/ccgfpXjY.s:26137: Error: no such instruction: `shlx %rax,%r8,%rcx'
/tmp/ccgfpXjY.s:26163: Error: no such instruction: `shlx %rax,%rdi,%r12'
/tmp/ccgfpXjY.s:26175: Error: no such instruction: `shlx %rax,%r8,%rcx'
/tmp/ccgfpXjY.s:26188: Error: no such instruction: `shlx %rax,%rdi,%r12'
/tmp/ccgfpXjY.s:26205: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/ccgfpXjY.s:26249: Error: no such instruction: `shlx %rbx,%rdi,%r8'
/tmp/ccgfpXjY.s:26251: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/ccgfpXjY.s:26291: Error: no such instruction: `shlx %rax,%rdi,%rdx'
/tmp/ccgfpXjY.s:26322: Error: no such instruction: `shlx %rax,%r8,%r9'
/tmp/ccgfpXjY.s:26335: Error: no such instruction: `shlx %rax,%r8,%r9'
/tmp/ccgfpXjY.s:26363: Error: no such instruction: `shlx %rax,%r8,%r12'
/tmp/ccgfpXjY.s:26376: Error: no such instruction: `shlx %rax,%r8,%r12'
/tmp/ccgfpXjY.s:26390: Error: no such instruction: `shlx %rax,%r8,%rdi'
.
.
.

Is there any specific compiler/assembler instructions in code that I should look into? Such as forcing AVX/AVX2 optimizations?

rohitgirdhar commented 7 years ago

Nevermind, was able to fix it by removing the -march=native from the Makefile line 405

liaowang0125 commented 7 years ago

how to use it on centos system? @rohitgirdhar