apc-llc / likwid

Lightweight performance tools
https://code.google.com/p/likwid/
GNU General Public License v3.0
1 stars 0 forks source link

Building LIKWID on a non-AVX-capable machine does not work #141

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
Building LIKWID on a non-AVX-capable machine does not work because of the 
sum_avx benchmark. 
(https://groups.google.com/forum/#!topic/likwid-users/ye-vEUMjwB0)

What is the expected output? What do you see instead?
===>  ASSEMBLE  GCC/sum_avx.o
./GCC/sum_avx.s: Assembler messages:
./GCC/sum_avx.s:32: Error: no such instruction: `vxorps ymm1,ymm1,ymm1'
./GCC/sum_avx.s:33: Error: no such instruction: `vmovaps ymm2,ymm1'
./GCC/sum_avx.s:34: Error: no such instruction: `vmovaps ymm3,ymm1'
./GCC/sum_avx.s:35: Error: no such instruction: `vmovaps ymm4,ymm1'
./GCC/sum_avx.s:39: Error: no such instruction: `vaddps ymm1,ymm1,[rsi+rax*4]'
./GCC/sum_avx.s:40: Error: no such instruction: `vaddps 
ymm2,ymm2,[rsi+rax*4+32]'
./GCC/sum_avx.s:41: Error: no such instruction: `vaddps 
ymm3,ymm3,[rsi+rax*4+64]'
./GCC/sum_avx.s:42: Error: no such instruction: `vaddps 
ymm4,ymm4,[rsi+rax*4+96]'
make: ** [GCC/sum_avx.o] Erro 1

Deleting the source file <LIKWID>/bench/x86-64/sum_avx.ptt solves the problem 
but is not an applicable way for users

Solution: Enhance generatePas.pl and subsequent scripts to check CPU flags and 
exclude benchmarks requiring missing flags

Original issue reported on code.google.com by Thomas.R...@googlemail.com on 20 Mar 2014 at 9:20

GoogleCodeExporter commented 9 years ago
The problem is not the architecture but the tool chain (more specifically gas) 
which does not know the instructions. It is no problem to build the AVX code on 
old systems as long as you do not run it as a test case.

We may add a version check for gas and emit a message that AVX is not supported 
with this tool chain version.

Original comment by jan.trei...@gmail.com on 20 Mar 2014 at 1:49

GoogleCodeExporter commented 9 years ago
Please update your tool chain to a more recent version to fix this issue.

Original comment by jan.trei...@gmail.com on 8 May 2014 at 12:38