likwid icon indicating copy to clipboard operation
likwid copied to clipboard

./GCC/copy_avx512.s:35: Error: too many references for `vmovapd`

Open drandynisbet opened this issue 7 years ago • 4 comments

Apologies if this is a duplicate, branch 4.1 compiles, whereas 4.2 and master fails. Processor model name : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~12.04)

Excerpt of copy_avx512.s .... 33 .align 16 34 1: 35 vmovapd zmm1, [rsi + rax * 8] 36 vmovapd zmm2, [rsi + rax * 8 + 64] 37 vmovapd zmm3, [rsi + rax * 8 + 128] 38 vmovapd zmm4, [rsi + rax * 8 + 192]

uname -a Linux stella-sim2 3.2.0-126-generic #169-Ubuntu SMP Fri Mar 31 14:15:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi (with 60 registered patches, see perl -V for more detail)

Excerpt of make failure

===> ENTER bench ===> COMPILE C GCC/allocator.o ===> COMPILE C GCC/barrier.o ===> COMPILE C GCC/bench.o ===> COMPILE C GCC/bstrlib.o ===> COMPILE C GCC/strUtil.o ===> COMPILE C GCC/threads.o ===> GENERATE BENCHMARKS ===> ASSEMBLE GCC/clcopy.o ===> ASSEMBLE GCC/clload.o ===> ASSEMBLE GCC/clstore.o ===> ASSEMBLE GCC/copy_avx512.o ./GCC/copy_avx512.s: Assembler messages: ./GCC/copy_avx512.s:35: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:36: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:37: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:38: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:39: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:40: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:41: Error: too many memory references for vmovapd' ./GCC/copy_avx512.s:42: Error: too many memory references for vmovapd' make[1]: *** [GCC/copy_avx512.o] Error 1

drandynisbet avatar May 17 '17 11:05 drandynisbet

Interesting error. I have seen it only when compiling with GCC < 4.9.

The 4.1 branch compiles because it does not feature AVX512. 4.2 is the first version supporting AVX512. I tried to install Ubuntu 12.04 for testing but the package repositories do not contain all required packages to install gcc 5.

If you don't need AVX512, just do a find <LIKWID_SRC_FOLDER>/bench/x86-64 -name "*avx512*" -exec rm {} \; This deletes all avx512 kernels and the build should work.

TomTheBear avatar May 17 '17 13:05 TomTheBear

Did the workaround work for you?

TomTheBear avatar Jun 08 '17 10:06 TomTheBear

I am sticking with the 4.1 branch for now. Thanks,

Andy

On 8 Jun 2017 11:13 a.m., "Thomas Roehl" [email protected] wrote:

Did the workaround work for you?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/RRZE-HPC/likwid/issues/102#issuecomment-307061218, or mute the thread https://github.com/notifications/unsubscribe-auth/AE5EpOr6Qn8GY_XaWxbaaSLeW_3rTtBWks5sB8ligaJpZM4Ndv4e .

drandynisbet avatar Jun 08 '17 10:06 drandynisbet

it did work for me but after doing the make distclean (for the latest stable version that is now).

mmrezaie avatar Sep 20 '17 19:09 mmrezaie