[petsc-users] Problems with DMDAVecGetArrayF90 + Intel

Zhang, Hong hongzhang at anl.gov
Wed Apr 11 10:07:25 CDT 2018


Performance wise, I would suggest to use "-xAVX" instead of "-axcore-avx2". Based on our experience with running PETSc on a variety of Xeon processors (including KNL), using AVX2 yields comparable and sometimes worse performance than using AVX. But if your machine supports AVX-512, it is definitely beneficial to use AVX-512.

Hong (Mr.)

> On Apr 5, 2018, at 10:03 AM, Randall Mackie <rlmackie862 at gmail.com> wrote:
> 
> Dear PETSc users,
> 
> I’m curious if anyone else experiences problems using DMDAVecGetArrayF90 in conjunction with Intel compilers?
> We have had many problems (typically 11 SEGV segmentation violations) when PETSc is compiled in optimize mode (with various combinations of options).
> These same codes run valgrind clean with gfortran, so I assume this is an Intel bug, but before we submit a bug report I wanted to see if anyone else had similar experiences?
> We have basically gone back and replaced our calls to DMDAVecGetArrayF90 with calls to VecGetArrayF90 and pass those pointers into a “local” subroutine that works fine.
> 
> In case anyone is curious, the attached test code shows this behavior when PETSc is compiled with the following options:
> 
> ./configure \
>  --with-clean=1 \
>  --with-debugging=0 \
>  --with-fortran=1 \
>  --with-64-bit-indices \
>  --download-mpich=../mpich-3.3a2.tar.gz \
>  --with-blas-lapack-dir=/opt/intel/mkl \
>  --with-cc=icc \
>  --with-fc=ifort \
>  --with-cxx=icc \
>  --FOPTFLAGS='-O2 -xSSSE3 -axcore-avx2' \
>  --COPTFLAGS='-O2 -xSSSE3 -axcore-avx2' \
>  --CXXOPTFLAGS='-O2 -xSSSE3 -axcore-avx2’ \
> 
> 
> 
> Thanks, Randy M.
> 
> <cmd_test><makefile><test.F90>



More information about the petsc-users mailing list