-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
intel (default), intel-classic, intel-oneAPI compiler modules #43
Comments
@theurich - we've discussed this proposal and will likely implement it in the next version of our ncarenv stack, which I anticipate deploying in March. Eventually, we expect we will filter things down to just intel once Thanks for the suggestion. |
@vanderwb - thank you for the update. I am looking forward to the updated version of the ncarenv stack. Thank you for moving this forward. |
@theurich - based on your experience of other systems, would you expect to see the same version number used for both compiler variants (that being the Toolkit version), or would you expect to see the actual compiler version used for the module? For the current release we have, the versions are:
Basically, I'm asking whether other sites use |
@vanderwb - that is an excellent question. Personally it makes more sense to me to version the module by the actual compiler version, rather than the toolkit. However, because of the mixed Specifically, I load
I.e., the version of the actual classic compiler is different from the toolkit version! Then I load
Finally I load
|
Thanks Gerhard. Today I've deployed a new version of the stack with your suggestions for Intel (among other changes and additions). It is not default, but if you |
I was able to build the parallelio esmf cesm software stack with all three of these - it works in all three cases. |
@vanderwb - all three modules work as expected and test out fine with the automated ESMF regression tests. Thank you very much for providing explicit modules for all three flavors of the Intel suite. It makes it very clear. One question: my scripts still explicitly unload module |
@theurich I don't know if this answers your question but for the spack installed esmf on gust I am using cray-libsci for all compilers except the 3 flavors of intel which use mkl. |
Well, I just ran tests with all three intel flavors again with the |
I would like to make the suggestion to provide three different Intel module flavors on Gust for now, with longer term only maintaining two of them. My suggestion is based on what I have seen done on similar systems, specifically NOAA's GaeaC5 R&D machine that is hosted at ORNL.
The three module flavors proposed are:
My current understanding is that Cray/Intel recommend the first combo (default) for production run codes. The "classic" option is currently available to help with the transition, but not maintained long term, b/c Intel is planning to remove the icpc+icc support later this year. Finally, intel-oneapi with ifx on the Fortran side might not be viable for all codes yet, since it still lacks some support for some language features.
Loading any of these three modules results in the Cray wrappers (ftn, CC, cc) to point to the respective intel compiler front-ends as indicated above. This is how things are set up on GaeaC5, and it does allow to use the Cray wrappers consistently.
The reason I am suggesting the same setup for Gust is that I have found the three Intel module flavors on GaeaC5 very convenient. E.g. we carry out nightly ESMF regression testing with all three flavors. The module flavors make it very clear what Intel compiler combination we are testing with for each of the test suites.
Let me also add that currently on Gust, e.g. when I load oneapi/2023.0.0, I seem to be getting what is identical to the "default" flavor from above. What I mean by that is the following mapping of Cray wrappers to Intel front-ends: ftn->ifort, CC->icpx, cc->icx. It is a bit confusing to me that the "oneapi" module actually looks more like a mixture of old ifort and new icpx/icx. Just naming that module "intel", as the default might be better, sort of steering users toward this module for now. And then intel-oneapi is really using all of the oneapi front-ends.
Finally, I also understand that every system installation has its own unique requirements. I just want to share here what I have found convenient and helpful on another similar system. Thanks.
The text was updated successfully, but these errors were encountered: