-
Notifications
You must be signed in to change notification settings - Fork 48
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
By default, use MKL as virtual provider for blas/lapack/fftw with Intel compilers (classic and llvm-based/oneapi); update site configs to revert to openblas/fftw as needed; skip wgrib2 with Intel oneapi; bump odc to 1.5.2 #1226
By default, use MKL as virtual provider for blas/lapack/fftw with Intel compilers (classic and llvm-based/oneapi); update site configs to revert to openblas/fftw as needed; skip wgrib2 with Intel oneapi; bump odc to 1.5.2 #1226
Conversation
…-specific settings out of packages.yaml
…packages), add mirror
…eature/oneapi_intel_use_mkl
…ers/specs/jedi-ci.yaml
…eature/oneapi_intel_use_mkl
@AlexanderRichert-NOAA I have two environments on Orion:
and
|
…eature/oneapi_intel_use_mkl
@AlexanderRichert-NOAA Here is a paper from Intel demonstrating better performance with MKL: https://www.intel.com/content/www/us/en/developer/articles/technical/performance-comparison-of-openblas-and-intel-math-kernel-library-in-r.html |
@AlexanderRichert-NOAA I tried using the current ufs-weather-model develop branch with this spack-stack PR and the two test installs on Orion noted above. I tried the
I checked and esmf is linked static, mapl shared. I don't know why/how that changed. Remember that spack-stack develop uses newer ESMF and MAPL versions, and I also had to put this workaround in the ufs-weather-model top-level CMakeLIsts.txt to be able to run cmake and make:
Will try to force static mapl linking tomorrow. |
@AlexanderRichert-NOAA Update. I rebuilt mapl as static libraries and linked against that version. With both MKL and blas, the ufs-weather-model still aborts with the same error and in the same place as described above. I am certain this is unrelated to the changes in this PR, it must have something to do with the update of some packages from spack-stack-1.6.0 to spack-stack-develop. |
@AlexanderRichert-NOAA Yet another update. I compiled the spack-stack develop unified environment, then ufs-weather-model and ran the same test as above. It failed in the same place. Therefore, the problem is not related to this PR and it shouldn't be held up by that. |
Have you run other UWM RTs with it? |
I haven't. |
One thing I had to do in order to compile was:
This is because of the findESMF mismatches etc. discussed elsewhere. I don't think this is the cause of the problem, though ... I'll run one basic regression test next (not sure when I get to it) |
@AlexanderRichert-NOAA control_c48 runs with spack-stack-dev and with this branch. The openblas config (default as per this PR) produces b4b identical results for control_c48 than spack-stack-dev. The mkl run is still stuck in the queue (orion had a power outage). See ufs-community/ufs-weather-model#2399 where Dusan reports that he gets the same errors I had above with the coupled run when using esmf 8.6.1 and mapl 2.46.2 in spack-stack-1.6.0. I think at this point there is no reason to hold up this PR. |
Thanks @AlexanderRichert-NOAA |
@AlexanderRichert-NOAA I know this has been merged already, but for the sake of completeness: the control_c48 run with MKL is b4b identical to the openblas run. Of course, this may not be the case for the fully coupled model, but at least for atm standalone atmosphere with some stochastics (cellular automata) it is. |
Summary
Describe the changes made in this PR and why they are needed.
Unrelated change but needed for
gcc@13
support: bumpodc
from1.4.6
to1.5.2
.Split configs/common/packages.yaml into a compiler-independent
configs/common/packages.yaml
and compiler-dependentconfigs/common/packages_${COMPILER}.yaml
; useopenblas
andfftw
as virtual providers forblas
,lapack
,fftw-api
withgnu@
andapple-clang@
; useintel-oneapi-mkl
withintel@
andoneapi@
.Site config updates for all sites: split
packages.yaml
intopackages_${COMPILER}.yaml
and add Intel MKL as external package forintel@
andoneapi@
compilers. Please follow the examples for blackpearl, narwhal, nautilus. Note that updating the site config does not imply testing the update (see section "Testing" below for which tests where done).Update 2024/08/09: Certain site configs were modified to by default retain the
openblas/fftw
configuration with Intel - see list below. Steps to switch to the new default MKL configuration are documented in each site'spackages_*.yaml
.List of sites:
Testing
@fmahebert @srherbener @RatkoVasic-NOAA @natalie-perlin @AlexanderRichert-NOAA I "assigned" this PR to you in case you want to test the updated site configs (see list above) on the system(s) that you are responsible for - this is optional, because we'll go through all platforms in a few weeks anyway when we roll out spack-stack-1.8.0.
Applications affected
All
Systems affected
All
Dependencies
n/a
Issue(s) addressed
Resolves #759
Checklist
All dependency PRs/issues have been resolved and this PR can be merged.