-
Notifications
You must be signed in to change notification settings - Fork 47
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
Move to Intel oneapi (LLVM) compilers for C, C++ #912
Comments
I started working on this on AWS ParallelCluster - PR to come |
This is additional information from a duplicate epic/issue that got closed (#969)
|
@BrianCurtis-NOAA @zach1221 @FernandoAndrade-NOAA FYI: LLVM option might be available along with 1.8 release. |
Moving this out to spack-stack-1.9.0. We've come a long way, with the exception of wgrib2 all packages in the unified environment and the neptune standalone environment build with |
fyi for hercules:
@climbfuji guess we can check off the |
Thanks for checking @ulmononian Unfortunately, we need [email protected] or later (the latest is 2024.2.1) to work properly :-) |
@climbfuji oh dang, spoke too soon...should've read the bolded note in the issue description. do we have anything tracking the existence/installation of the LLVM compilers on specific machines so that work can go forward to update those once narwhal/hercules testing is completed? if not, might be useful to have an issue tracking that &/or progress of switching to the new compiler on each machine as we approach the deprecation dates. |
There is one for installing the very latest version of the classic compilers (oneapi 2023.2.?) on the NOAA machines, but none for oneAPI. It's still relatively new and we don't need full coverage across all platforms until we've established a version that works for all applications. |
I will also note that it is easier and faster to install oneapi ourselves and apply the bug fixes for the known bugs, rather than waiting for the sysadmins to do this. |
@srherbener @stiggy87 @eap We've come very far with the push to the Intel LLVM compilers for C/C++ for the spack-stack-1.9.0 release. All that is needed is to build end test jedi-bundle with a combination of We know from CI that the unified environment builds, but we don't know if JEDI runs successfully or not. Can someone please take care of this and report back, so that we can close this issue as completed? It's perhaps the most important deliverable for spack-stack-1.9.0. Thanks very much! |
I will also throw in that I recently contributed code changes to JEDI so that the components used in neptune-bundle (oops, ufo, ioda) build even with |
I tried building JEDI bundle and I am getting the following errors: /home/ubuntu/jedi/jedi-bundle/fv3-jedi/src/fv3jedi/FieldMetadata/fields_metadata_mod.f90(12): error #6405: The same named entity from different modules and/or program units cannot be referenced. [F_C_STRING]
use string_f_c_mod, only: f_c_string, c_f_string
--------------------------^
/home/ubuntu/jedi/jedi-bundle/fv3-jedi/src/fv3jedi/Utilities/fv3jedi_constants_mod.f90(12): error #6405: The same named entity from different modules and/or program units cannot be referenced. [F_C_STRING]
use string_f_c_mod, only: f_c_string
--------------------------^
/home/ubuntu/jedi/jedi-bundle/fv3-jedi/src/fv3jedi/Utilities/fv3jedi_constants_mod.f90(50): error #6285: There is no matching specific subroutine for this generic subroutine call. [F_C_STRING]
call f_c_string(constant_name, constant_name_c)
---------^ This is using the ifort command instead of ifx since I installed the 2024.2.1. |
This is an error in the JEDI code, I believe. Are you at the head of the JEDI branches? I remember vaguely having seen this issue and fixing it in neptune-bundle (which uses oops, ufo, ioda only), but I can't remember the details. |
The |
Et voila. Not a workaround, but a bug fix (it's a bug in fv3-jedi, apparently): https://github.com/JCSDA-internal/ioda/pull/1351 |
Talked with Francois H and filed the issue here: https://github.com/JCSDA-internal/fv3-jedi/issues/1331 Also getting a segfault inside Rocky8:
Talked to @srherbener and he thought this looks like a similar issue to the tar one with intel. |
Looks similar to the libirc.so issue ? |
Similar to what we have found in #1355. Here is the error message from tar:
|
@srherbener @stiggy87 Gentle reminder about this issue once the |
Did a few more tests around jedi-bundle and running ctests. Everything builds to skylab for me, so we can go ahead and mark this done!. |
Given this condition in the issue description:
Please point to the host / env location that satisfies "shared between the UFS and JEDI" AND successfuly runs ufs-weather-model tests. Re-opening the issue until the above is otherwise demonstrated. See also: Build / test UFS WM with Intel oneAPI v2024.2.1 (LLVM)-based stacks #1390 |
@rickgrubin-noaa I asked @stiggy87 to run tests with JEDI and then mark the issue as resolved. I know from conversation with Dusan and my own tests that ufs runs with icx, icpx, ifort (and the issue clearly states ifort above, not ifx). This issue is not about ifx which is where you are seeing the error in #1390. unified-dev builds for me on RDHPCS and NRL platforms, and for @stiggy87 on JCSDA platforms. I think we should remove the SHARED between UFS and JEDI part, it's good enough if each organization can build their own version of the unified environment and run the tests. And then close this as completed. |
Understood re: what's documented in #1390, so I should update that issue, as this also fails with
Agree. Thanks for the clarification and distinction. |
Hhmm so if it also fails with |
Is your feature request related to a problem? Please describe.
From @michalakes:
Based on what I have found so far, we need the 2024 oneapi release, because Python 3.9 and later don't built with oneapi compilers up to the latest 2023 release:
While at it, I also came across an issue building bison with the oneapi compilers, adding it here as a reference/reminder:
Describe the solution you'd like
Note that we need [email protected] or later because of bugsin previous releases
icx
andicpx
(but not yetifx
)neptune-dev
buildsicx
andicpx
(but not yetifx
; keep usingifort
)unified-dev
buildsicx
andicpx
(but not yetifx
; keep usingifort
)unified-dev
buildsAdditional context
Related issue for JEDI: https://github.com/JCSDA-internal/jedi-bundle/issues/38
The text was updated successfully, but these errors were encountered: