-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Comments
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) |
Should be 7.1.1 or 7.3.1 as per softwarecollections.org |
Used gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC) |
Does it continue with devtoolset-8? |
This appears to be a genuine compiler (or header) bug - https://gcc.gnu.org/legacy-ml/gcc-patches/2018-01/msg01962.html |
@martin-frbg thanks for your help!! |
Not sure if 9 or 10 is available yet here. But we need GCC newer than 8.3 in order to prevent hitting this compiler bug: OpenMathLib/OpenBLAS#2949 Contributes to issue CURA-7900.
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);
The text was updated successfully, but these errors were encountered: