<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 25 Oct 2019 at 01:40, Balay, Satish <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm curious why this issue comes up for you. The code was unrelated to --with-avx512-kernels=0 option.<br>
<br>
Its relying on __AVX512F__and PETSC_HAVE_IMMINTRIN_H flags. And<br>
assumes immintrin.h has a definition for _mm512_reduce_add_pd()<br>
<br>
Is the flag __AVX512F__ always set on your machine by gcc? <br>
<br>
And does this change based on the hardware? I just tried this build<br>
[same os/compiler] on "Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz" - and<br>
can't reproduce the issue.<br>
<br>
I do see _mm512_reduce_add_pd is missing from immintrin.h - but the<br>
flag __AVX512F__ is not set for me.<br>
<br></blockquote><div><br></div><div>Of course it is not set, you are just invoking the preprocessor. Try this way:</div><div><br></div><div>$ cat xyz.c<br>#if defined __AVX512F__<br>#error "avx512f flag set"<br>#endif<br><br></div><div>$ gcc -march=native -c xyz.c<br></div><div>xyz.c:2:2: error: #error "avx512f flag set"<br> #error "avx512f flag set"<br></div><div><br></div><div>I forgot to mention my XXXOPTFLAGS, full reconfigure script below.<br></div><div>Do we have some Ubuntu 16 builder using system GCC?</div><div> Maybe we should use `-march=native -O3 -g3` in one of these builders?</div><div><br></div><div>$ cat arch-gnu-opt/lib/petsc/conf/reconfigure-arch-gnu-opt.py <br>#!/usr/bin/python<br>if __name__ == '__main__':<br>  import sys<br>  import os<br>  sys.path.insert(0, os.path.abspath('config'))<br>  import configure<br>  configure_options = [<br>    '--COPTFLAGS=-march=native -mtune=native -O3',<br>    '--CXXOPTFLAGS=-march=native -mtune=native -O3',<br>    '--FOPTFLAGS=-march=native -mtune=native -O3',<br>    '--download-metis=1',<br>    '--download-p4est=1',<br>    '--download-parmetis=1',<br>    '--with-avx512-kernels=0',<br>    '--with-debugging=0',<br>    '--with-fortran-bindings=0',<br>    '--with-zlib=1',<br>    'CC=mpicc',<br>    'CXX=mpicxx',<br>    'FC=mpifort',<br>    'PETSC_ARCH=arch-gnu-opt',<br>  ]<br>  configure.petsc_configure(configure_options)<br></div><div><br></div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Lisandro Dalcin<br>============<br>Research Scientist<br>Extreme Computing Research Center (ECRC)<br>King Abdullah University of Science and Technology (KAUST)<br><a href="http://ecrc.kaust.edu.sa/" target="_blank">http://ecrc.kaust.edu.sa/</a><br></div></div></div></div>