[petsc-dev] PETSC optimization

Zhang, Hong hongzhang at anl.gov
Wed Aug 16 13:12:41 CDT 2017


> 
> On Aug 16, 2017, at 12:01 PM, Jiyuan Li <jiyuan.uc at gmail.com> wrote:
> 
> Dear developers, 
> 
> I am wondering if PETSC is optimized for modern intel architectures (Xeon E5, Xeon phi, ...),

We have been optimizing PETSc for KNL (2nd generation Xeon Phi). If you happen to be using KNL, please refer to /config/examples/arch-cray-xc40-knl-opt.py for a configuration example. If you do not need to deal with the batch system, the only important options would be

--COPTFLAGS=-g -xMIC-AVX512 -O3 -mP2OPT_hpo_vec_remainder=F
--CXXOPTFLAGS=-g -xMIC-AVX512 -O3 -mP2OPT_hpo_vec_remainder=F
--FOPTFLAGS=-g -xMIC-AVX512 -O3 -mP2OPT_hpo_vec_remainder=F
--with-memalign=64

> i.e., if I compile PETSC using Intel compilers (icc, icpc, intelmpi, etc.) instead of GNU compilers, can I get better performance?
> 

Yes, you should. Based on my experience, using Intel compilers on intel architectures can usually result in >2X better performance than using GNU compilers. Of course, the speedup may vary depending on applications.

> Best,
> Jiyuan

Hong (Mr.)


More information about the petsc-dev mailing list