Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AVX512 architecture build fails with older GCC compilers. #2975

Closed
gvreuls opened this issue Aug 10, 2020 · 8 comments
Closed

AVX512 architecture build fails with older GCC compilers. #2975

gvreuls opened this issue Aug 10, 2020 · 8 comments

Comments

@gvreuls
Copy link
Contributor

gvreuls commented Aug 10, 2020

The merge of PR #2962 introduced the _mm512_zextsi256_si512 intrinsic for AVX512 builds. The definition of this and other intrinsics is missing in the file avx512fintrin.h for GCC compilers older than version 10.

I tried including avx512fintrin.h directly (which is not best practice) in PR #2974 but this only looked like a fix due to my dodgy git practices, the only workaround right now is to use GCC 10 (or clang).

@vondele
Copy link
Member

vondele commented Aug 10, 2020

right, in addition to g++-10, also works with clang++-9 and clang++-10

@mstembera
Copy link
Contributor

mstembera commented Aug 10, 2020

According to https://software.intel.com/sites/landingpage/IntrinsicsGuide _mm512_zextsi256_si512 is part of the base AVX512F instructions and supposed to be declared in <immintrin.h> which we include. I can write a version w/o it however. Is that how we want to proceed?

@vondele
Copy link
Member

vondele commented Aug 10, 2020

You propose again something conditional on the gcc version ? Depends a bit if this is easy or invasive, and if it is performance wise similar or not.

@Vizvezdenec
Copy link
Contributor

no offense but what the fuck is this.
https://i.imgur.com/Rr9VnVx.png

@vondele
Copy link
Member

vondele commented Aug 10, 2020

@Vizvezdenec no idea, you'll need to give more info. Obviously something specific to your setup / local changes?
Edit: also not related to this issue, so open a new one if that's needed

@Vizvezdenec
Copy link
Contributor

Vizvezdenec commented Aug 10, 2020

I did update to the latest master and this is what it's returning with make of anything.
Well I do "make" with arch 64 and stuff and when I try to do bench it returns this

@Vizvezdenec
Copy link
Contributor

Hm, okay, I did make clean and then usual build path and it started to work. No idea what it was, it's the first time I've seen smth like this.

@mstembera
Copy link
Contributor

@gvreuls @vondele Can you try this #2976

mstembera pushed a commit to mstembera/Stockfish that referenced this issue Aug 10, 2020
No functional change
NNUE: 3994357
bench: 4733874
vondele pushed a commit to vondele/Stockfish that referenced this issue Aug 11, 2020
avoids an intrinsic that is missing in gcc < 10.

For this target, might trigger another gcc bug on windows that
requires up-to-date gcc 8, 9, or 10, or usage of clang.

Fixes official-stockfish#2975

closes official-stockfish#2976

No functional change
joergoster pushed a commit to joergoster/Stockfish-old that referenced this issue Aug 11, 2020
avoids an intrinsic that is missing in gcc < 10.

For this target, might trigger another gcc bug on windows that
requires up-to-date gcc 8, 9, or 10, or usage of clang.

Fixes official-stockfish/Stockfish#2975

closes official-stockfish/Stockfish#2976

No functional change
lucabrivio pushed a commit to lucabrivio/Stockfish that referenced this issue Aug 11, 2020
avoids an intrinsic that is missing in gcc < 10.

For this target, might trigger another gcc bug on windows that
requires up-to-date gcc 8, 9, or 10, or usage of clang.

Fixes official-stockfish/Stockfish#2975

closes official-stockfish/Stockfish#2976

No functional change
noobpwnftw pushed a commit to noobpwnftw/Stockfish that referenced this issue Aug 15, 2020
avoids an intrinsic that is missing in gcc < 10.

For this target, might trigger another gcc bug on windows that
requires up-to-date gcc 8, 9, or 10, or usage of clang.

Fixes official-stockfish#2975

closes official-stockfish#2976

No functional change
Dantist added a commit to Dantist/Stockfish that referenced this issue Dec 22, 2020
avoids an intrinsic that is missing in gcc < 10.

For this target, might trigger another gcc bug on windows that
requires up-to-date gcc 8, 9, or 10, or usage of clang.

Fixes official-stockfish#2975

closes official-stockfish#2976

No functional change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants