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

OpenBLAS 0.3.12 skylakex build fail #2949

Closed
minchaoyue opened this issue Oct 26, 2020 · 6 comments
Closed

OpenBLAS 0.3.12 skylakex build fail #2949

minchaoyue opened this issue Oct 26, 2020 · 6 comments
Labels
Bug in other software Compiler, Virtual Machine, etc. bug affecting OpenBLAS

Comments

@minchaoyue
Copy link

In file included from ../kernel/x86_64/dasum.c:8:0:
../kernel/x86_64/dasum_microk_skylakex-2.c: In function ‘dasum_kernel’:
../kernel/x86_64/dasum_microk_skylakex-2.c:42:38: error: incompatible type for argument 1 of ‘mm512_abs_p’
accum_0 += mm512_abs_pd(mm512_load_pd(&x1[i + 0]));
^~~~~~~~~~~~~~
cc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=64 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION="0.3.12" -msse3 -mssse3 -msse4.1 -march=skylake-avx512 -mavx2 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=camax_k -DASMFNAME=camax_k
-DNAME=camax_k
-DCNAME=camax_k -DCHAR_NAME="camax_k
" -DCHAR_CNAME="camax_k" -DNO_AFFINITY -I.. -UDOUBLE -DCOMPLEX -DCOMPLEX -UDOUBLE -DUSE_ABS -UUSE_MIN ../kernel/x86_64/zamax_sse.S -o camax_k.o
In file included from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/immintrin.h:45:0,
from ../kernel/x86_64/dasum_microk_skylakex-2.c:6,
from ../kernel/x86_64/dasum.c:8:
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/avx512fintrin.h:7301:1: note: expected ‘__m512 {aka __vector(16) float}’ but argument is of type ‘__m512d {aka __vector(8) double}’
_mm512_abs_pd (_m512 A)
^~~~~~~~~~~~~
cc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=64 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION="0.3.12" -msse3 -mssse3 -msse4.1 -march=skylake-avx512 -mavx2 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=camin_k -DASMFNAME=camin_k
-DNAME=camin_k
-DCNAME=camin_k -DCHAR_NAME="camin_k
" -DCHAR_CNAME="camin_k" -DNO_AFFINITY -I.. -UDOUBLE -DCOMPLEX -DCOMPLEX -UDOUBLE -DUSE_ABS -DUSE_MIN ../kernel/x86_64/zamax_sse.S -o camin_k.o
In file included from ../kernel/x86_64/dasum.c:8:0:
../kernel/x86_64/dasum_microk_skylakex-2.c:43:38: error: incompatible type for argument 1 of ‘_mm512_abs_p’
accum_1 += _mm512_abs_pd(_mm512_load_pd(&x1[i + 8]));
^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/immintrin.h:45:0,
from ../kernel/x86_64/dasum_microk_skylakex-2.c:6,
from ../kernel/x86_64/dasum.c:8:
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/avx512fintrin.h:7301:1: note: expected ‘__m512 {aka __vector(16) float}’ but argument is of type ‘__m512d {aka __vector(8) double}’
_mm512_abs_pd (__m512 __A)
^~~~~~~~~~~~~
In file included from ../kernel/x86_64/dasum.c:8:0:
../kernel/x86_64/dasum_microk_skylakex-2.c:44:38: error: incompatible type for argument 1 of ‘_mm512_abs_p’
accum_2 += _mm512_abs_pd(_mm512_load_pd(&x1[i +16]));
^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/immintrin.h:45:0,
from ../kernel/x86_64/dasum_microk_skylakex-2.c:6,
from ../kernel/x86_64/dasum.c:8:
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/avx512fintrin.h:7301:1: note: expected ‘__m512 {aka __vector(16) float}’ but argument is of type ‘__m512d {aka __vector(8) double}’
_mm512_abs_pd (__m512 __A)
^~~~~~~~~~~~~
In file included from ../kernel/x86_64/dasum.c:8:0:
../kernel/x86_64/dasum_microk_skylakex-2.c:45:38: error: incompatible type for argument 1 of ‘_mm512_abs_p’
accum_3 += _mm512_abs_pd(_mm512_load_pd(&x1[i +24]));
^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/immintrin.h:45:0,
from ../kernel/x86_64/dasum_microk_skylakex-2.c:6,
from ../kernel/x86_64/dasum.c:8:
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/avx512fintrin.h:7301:1: note: expected ‘__m512 {aka __vector(16) float}’ but argument is of type ‘__m512d {aka __vector(8) double}’
_mm512_abs_pd (__m512 __A)
^~~~~~~~~~~~~
In file included from ../kernel/x86_64/dasum.c:8:0:
../kernel/x86_64/dasum_microk_skylakex-2.c:61:64: warning: passing argument 1 of ‘_mm_loadu_si128’ from incompatible pointer type [-Wincompatible-pointer-types]
accum_20 += (__m128d)_mm_and_si128(_mm_loadu_si128(&x1[i + 0]), abs_mask2);

@martin-frbg
Copy link
Collaborator

Which gcc version is this ? This may not be the cleanest way to code it, but it should not raise an error. (Definitely builds with versions 7.5.0 and 10.2)

@brada4
Copy link
Contributor

brada4 commented Oct 26, 2020

Should be 7.1.1 or 7.3.1 as per softwarecollections.org

@minchaoyue
Copy link
Author

Used gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)

@brada4
Copy link
Contributor

brada4 commented Oct 26, 2020

Does it continue with devtoolset-8?

@martin-frbg
Copy link
Collaborator

This appears to be a genuine compiler (or header) bug - https://gcc.gnu.org/legacy-ml/gcc-patches/2018-01/msg01962.html

@martin-frbg martin-frbg added the Bug in other software Compiler, Virtual Machine, etc. bug affecting OpenBLAS label Oct 26, 2020
@minchaoyue
Copy link
Author

@martin-frbg thanks for your help!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug in other software Compiler, Virtual Machine, etc. bug affecting OpenBLAS
Projects
None yet
Development

No branches or pull requests

3 participants