|Message: Re: Anybody knows most optimal icc flags for running on KNL?||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
I have not done a complete study on KNL. I did instead on KNC and I think that many of the same conclusions hold.
The most important option to use are static builds. Static builds gives more than 20% boost with respect to shared libraries builds (on KNL is actually +25%). Probably there is an application dependence. Use cmake options: -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
Another additional 20% (but not measured on KNL, so I cannot guarantee), was obtained with the use of PGO (profiler guided optimizations). It involves a relatively long procedure of double compilation. ICC manual gives details.
IPO should give something but at the time of my measurements I could not see a big boost.
On KNL you probably do not need visualization of G4 and if you do not need storage of trajectories in your code, you can configure G4 passing the following options to cmake: -DGEANT4_BUILD_STORE_TRAJECTORY=OFF -DGEANT4_BUILD_VERBOSE_CODE=OFF I've noticed a few % boost using these options. The second option will make a bit more difficult to debug crashes. https://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/ch02s03.html#sect.AdvancedOptions
I would first study all these options before using other options that change the math.
I would be interested to know the results of these studies. In case you can contact me privately if you cannot post the results here.