-
Notifications
You must be signed in to change notification settings - Fork 0
New compiler options and updates of top-level makefile #1087
New compiler options and updates of top-level makefile #1087
Conversation
@climbfuji What do you think about splitting commit 5478728 into one commit that corrects the |
@mgduda ok with me, too - you want me to do that? |
…compiler options ifort-mic, ifort-scorep, gfortran-clang
…lled in a different place than the C library (env. variable NETCDFF)
…ompiler when requested.
03d4f5d
to
6a386b4
Compare
@matthewhoffman - Hi Michael & Matthew, I cleaned up the commit using an interactive rebase as suggested by Michael. I also did tests with the atmosphere/init_atmosphere/ocean cores. |
I've done some testing of the logic to detect OpenMP compiler support, and everything seems to be working there so far. When I don't build with The only issue that I can see is with compilers that continue with only warnings when unrecognized options are specified. For example, with the Intel compilers, if I change the (correct) OpenMP flag from
but the build continues. @climbfuji what if we included some actual OpenMP calls in the
to ensure that OpenMP is actually working, and that the compiler isn't just ignoring OpenMP flags? |
@climbfuji is there a particular reason for going with |
@mgduda - yes, with -O3 the code did not compile on the Intel MIC Knights Corner at SuperMUC. Maybe depends on the exact version of the compiler and software stack on the card. As we said, the mic option won't be used by many (and those using them will probably be fairly experienced, given the current "user-friendlyness" of the MICs) so they will probably play with the switches after having the code compiled and tested successfully? |
@mgduda what do you think about tailoring the intel-mic comiler options to the Knights Landing architecture, leaving aside the Knights Corner? Compilation is substantially different and given all the hassle that people have with cross-compiling for the KNC and the poor performance, the KNL settings would be more useful. One could state that in the INSTALL notes that come along with this PR. |
@climbfuji I like the idea of tuning the Also, what do you think about naming the target |
@mgduda sounds good to me, I use the same options for knl. Let's briefly discuss after the telcon? Then I can explain the difference to -mmic and so on. |
@mgduda - final commit from my side:
|
…ly. Adapted Intel Xeon Phi build target to Knights Landing architecture. Added "-g" option to non-debug build for scorep (otherwise can't profile code in production). Additional information on build targets in INSTALL file.
b56fd20
to
42e8822
Compare
@climbfuji Without any special compiler flags, the |
@mgduda whichever works for you. once could then say in INSTALL that phi users should use the standard ifort option but may experiment with the settings "...." (already listed in INSTALL) - given the short time it is best that you decide and implement the changes in the way it seems best for you. |
@climbfuji That sounds good to me regarding the Phi and INSTALL files. I think for now we'll just remove the @matthewhoffman as a somewhat urgent request, would you be able to look through this PR today and see whether you have any other concerns with merging this before the creation of the |
Until further testing can be done, we remove the 'ifort-phi' build target from the top-level Makefile and from the INSTALL file.
I just pushed a commit to remove the |
Looks good - go ahead, please! Release 5.0 on a special day it seems. |
I haven't heard any objections, so I'll go ahead and merge this. |
New compiler options ifort-mic, ifort-scorep and gfortran-clang are added. The legacy openmp flags for the intel compiler are updated, and GPTL support is added for every compiler option.
Further, this version also supports netCDF installations in which the netCDF-fortran libraries reside in a different place than the c libraries (common practice at several HPC centres). The environment variable used for this is usually NETCDFF.