<div dir="ltr"><div>Hello Chris,</div><div><br></div><div>Matthias is right - show it to the admins since it can be also related to e.g. the setup of the job scheduler. If you want to make an additional experiment, you can set <span class="fontstyle0">I_MPI_HYDRA_BOOTSTRAP=slurm. I guess you are using Slurm?</span></div><div><span class="fontstyle0"><br></span></div><div><span class="fontstyle0">For CP2K with Intel bits (MPI, MKL, IFORT but also GFortran), I am maintaining a recipe for CP2K 7.x and a <a href="https://xconfigure.readthedocs.io/cp2k/#step-by-step-guide">step-by-step guide for CP2K 6.1</a> (still the latest release). The <a href="https://xconfigure.readthedocs.io/cp2k/#performance">performance section</a> also gives some hints for tuning iMPI (I_MPI_COLL_INTRANODE=pt2pt, I_MPI_ADJUST_REDUCE=1, I_MPI_ADJUST_BCAST=1). This is written equally for InfiniBand and Omnipath, and <a href="https://xconfigure.readthedocs.io/cp2k/#running-cp2k">running CP2K</a> with Intel MPI/OMP hybrid has its own section (I_MPI_PIN_DOMAIN=auto, I_MPI_PIN_ORDER=bunch, OMP_PLACES=threads, OMP_PROC_BIND=SPREAD, OMP_NUM_THREADS).<br></span></div><div><span class="fontstyle0"><br></span></div><div><span class="fontstyle0">Hans</span><br style=" font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "></div><div><br></div><br>Am Freitag, 2. August 2019 22:40:24 UTC+2 schrieb Christmas Mwk:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="ltr">Hi all,<div><br></div><div>Recently I was trying to run H2O-64 benchmark on CIRRUS. I compiled CP2K 6.1 versions "popt" and "psmp" with GCC 8.2, FFTW3, Libint, libxsmm and MKL 2019.3. For MPI I used MPT 2.18 and IntelMPI 18.0.5.274 (both available as modules on CIRRUS so no problems with infiniband) for comparison. In my surprise, while on single node IntelMPI had better performance (59.5s) compared to what is shown in <a href="https://www.cp2k.org/performance:cirrus-h2o-64" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.cp2k.org%2Fperformance%3Acirrus-h2o-64\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHugYOV5G5N4PWh_0aqGWwXXjl4yg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.cp2k.org%2Fperformance%3Acirrus-h2o-64\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHugYOV5G5N4PWh_0aqGWwXXjl4yg';return true;">cirrus-h2o-64</a>, when I tried to run it across more than 1 node, eg 4 nodes(144 cores), the runtime wasn't scaling. However in the case of MPT the results were similar to what is published on the web. Observing the output timings, I saw that a significant portion of the time is spent on mp_wait_any and mp_waitall_1 (around 21s out of 60s) in the case of IntelMPI across 4 nodes, while for MPT only around 6s is spent in these routines with overall runtime around 28s.</div><div><br></div><div>Initially I suspected that using IntelMPI might require some manual process pinning so I tried various options such as setting I_MPI_PIN_DOMAIN to compact, core etc. While there was some improvement in performance, these overheads in MPI routines were still the same. I also considered IntelMPI 2017 but same performance obtained. Additionally, similar results are obtained for both "popt" and "psmp" with OMP threads set to 1. I assume that if there was a load imbalance issue then performance for both MPT and IntelMPI would have been comparable but still not sure.</div><div><br></div><div>Is there anything that I am missing here or is this performance behaviour expected in the case of IntelMPI? If performance should be similar or comparable, could you please suggest how I can launch the executable using mpirun and IntelMPI?</div><div><br></div><div>Thank you in advance. Any help would be much appreciated. I attach the arch files (popt files are similar) and run time results for the runs on 4 nodes for IntelMPI(compact and core), MPT and also the single node result for IntelMPI. Below, examples of how the executable is launched are also provided.</div><div><br></div><div>Best,</div><div>Chris</div><div><br></div><div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Mpt</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(46,174,187);background-color:rgba(0,0,0,0.85098)"><span style="color:rgb(193,101,28)">export</span><span> OMP_NUM_THREADS=</span><span style="color:rgb(180,36,25)">1</span></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098)"><span>/lustre/sw/cp2k/4.1.17462/<wbr>cp2k/cp2k/exe/mpt/placement </span><span style="color:rgb(180,36,25)">1</span></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098);min-height:14px"><span></span><br></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098)"><span>mpiexec_mpt </span><span style="color:rgb(200,20,201)">-n</span><span> </span><span style="color:rgb(180,36,25)">144</span><span> </span><span style="color:rgb(200,20,201)">-ppn</span><span> </span><span style="color:rgb(180,36,25)">36</span><span> <wbr>dplace </span><span style="color:rgb(200,20,201)">-p</span><span> place.txt /lustre/home/d167/s1887443/<wbr>scc/cp2k/exe/broadwell-o2-<wbr>libs-mpt/cp2k.psmp H2O-64.inp</span></div></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Compact</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(46,174,187);background-color:rgba(0,0,0,0.85098)"><span style="color:rgb(193,101,28)">export</span><span> OMP_NUM_THREADS=</span><span style="color:rgb(180,36,25)">1</span></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098);min-height:14px"><span></span><br></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098);min-height:14px"><span></span><br></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098)"><span>mpirun </span><span style="color:rgb(200,20,201)">-n</span><span> </span><span style="color:rgb(180,36,25)">144</span><span> </span><span style="color:rgb(200,20,201)">-ppn</span><span> </span><span style="color:rgb(180,36,25)">36</span><span> </span><span style="color:rgb(200,20,201)">-env</span><span> I_<wbr>MPI_PIN_DOMAIN omp </span><span style="color:rgb(200,20,201)">-env</span><span> I_MPI_PIN_ORDER compact </span><span style="color:rgb(200,20,201)">-print-rank-map</span><span> /<wbr>lustre/home/d167/s1887443/scc/<wbr>cp2k/exe/broadwell-o2-libs/<wbr>cp2k.psmp </span><span style="color:rgb(200,20,201)">-i</span><span> H2O-64.inp </span><span style="color:rgb(200,20,201)">-o</span><span> <wbr>out.txt</span></div></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div>Core</div><div><br></div><div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(46,174,187);background-color:rgba(0,0,0,0.85098)"><span style="color:rgb(193,101,28)">export</span><span> OMP_NUM_THREADS=</span><span style="color:rgb(180,36,25)">1</span></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(46,174,187);background-color:rgba(0,0,0,0.85098)"><span style="color:rgb(193,101,28)">export</span><span> I_MPI_PIN_DOMAIN=</span><span style="color:rgb(242,242,242)">core</span></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098);min-height:14px"><span></span><br></div><div style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85098)"><span>mpirun </span><span style="color:rgb(200,20,201)">-n</span><span> </span><span style="color:rgb(180,36,25)">144</span><span> </span><span style="color:rgb(200,20,201)">-ppn</span><span> </span><span style="color:rgb(180,36,25)">36</span><span> </span><span style="color:rgb(200,20,201)">-genv</span><span> </span><span style="color:rgb(46,174,187)">I_<wbr>MPI_PIN_DOMAIN</span><span>=core </span><span style="color:rgb(200,20,201)">-genv</span><span> </span><span style="color:rgb(46,174,187)">OMP_<wbr>NUM_THREADS</span><span>=</span><span style="color:rgb(180,36,25)">1</span><span> </span><span style="color:rgb(200,20,201)">-print-rank-map</span><span> <wbr>/lustre/home/d167/s1887443/<wbr>scc/cp2k/exe/broadwell-o2-<wbr>libs/cp2k.psmp </span><span style="color:rgb(200,20,201)">-i</span><span> H2O-64.inp </span><span style="color:rgb(200,20,201)">-<wbr>o</span><span> out.txt</span></div></div></div></div></div></blockquote></div>