Skip to content
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

Add support for IntelLLVM compiler #1276

Conversation

DusanJovic-NOAA
Copy link
Contributor

Pull Request Summary

This PR adds support for Intel LLVM compiler.

Description

model/src/CMakeLists.txt has been updated to recognize 'IntelLLVM as a valid compiler id and to define compiler flags for Intel LLVM compiler.

Issue(s) addressed

Commit Message

Add support for IntelLLVM compiler

Check list

Testing

  • How were these changes tested? ufs-weather-model regression test on Hera. See Support IntelLLVM compiler ufs-community/ufs-weather-model#2224.
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)?
  • Please indicate the expected changes in the regression test output, (Note the list of known non-identical tests.)
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):

@MatthewMasarik-NOAA
Copy link
Collaborator

Thank you @DusanJovic-NOAA, I will start reviewing this.

@DusanJovic-NOAA
Copy link
Contributor Author

When I build ufs-weather-model with WW3 component I noticed the following compiler warning:

Scanning dependencies of target ufs_model
[100%] Building Fortran object CMakeFiles/ufs_model.dir/driver/UFS.F90.o
ifx: command line warning #10121: overriding '-real-size 64' with '-real-size 32'
[100%] Linking Fortran executable ufs_model
[100%] Built target ufs_model

I traced to source of this warning WW3 cmake where compiler flags are set to ww3_lib target as PUBLIC.

https://github.com/NOAA-EMC/WW3/blob/dev/ufs-weather-model/model/src/CMakeLists.txt#L94-L96

I think these flags should be set as PRIVATE. @aerorahul

I can make this change in this PR if it's acceptable.

@jkbk2004
Copy link

@MatthewMasarik-NOAA Can you review this pr? We are going to start testing at ufs-community/ufs-weather-model#2224

@MatthewMasarik-NOAA
Copy link
Collaborator

@MatthewMasarik-NOAA Can you review this pr? We are going to start testing at ufs-community/ufs-weather-model#2224

@jkbk2004, yes will do. I can complete it by later today or early tomorrow

Copy link
Collaborator

@MatthewMasarik-NOAA MatthewMasarik-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review
Pass

Testing
Pass

  • Machine: Hera
  • Description: WW3 standalone was cmake configured and built using Intel-LLVM stack.

Selection of LLVM for C and Fortran compilers confirmed in cmake config output:

-- The C compiler identification is IntelLLVM 2023.2.0
-- The Fortran compiler identification is IntelLLVM 2023.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /apps/oneapi/compiler/2023.2.0/linux/bin/icx - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /apps/oneapi/compiler/2023.2.0/linux/bin/ifx - skipped
-- Checking whether /apps/oneapi/compiler/2023.2.0/linux/bin/ifx supports Fortran 90
-- Checking whether /apps/oneapi/compiler/2023.2.0/linux/bin/ifx supports Fortran 90 - yes

Full logs:

@MatthewMasarik-NOAA
Copy link
Collaborator

@jkbk2004 @DusanJovic-NOAA, sorry for the delay, this is cleared from my end.

@jkbk2004
Copy link

@MatthewMasarik-NOAA all tests are done ufs-community/ufs-weather-model#2224. Please, go ahead to merge this pr.

@MatthewMasarik-NOAA
Copy link
Collaborator

@MatthewMasarik-NOAA all tests are done ufs-community/ufs-weather-model#2224. Please, go ahead to merge this pr.

Will do @jkbk2004. I'll let you know shortly

@MatthewMasarik-NOAA MatthewMasarik-NOAA merged commit c7004b6 into NOAA-EMC:dev/ufs-weather-model Sep 30, 2024
20 checks passed
@MatthewMasarik-NOAA
Copy link
Collaborator

@jkbk2004, done.

@MatthewMasarik-NOAA
Copy link
Collaborator

@DusanJovic-NOAA, thanks for spearheading this.

@DusanJovic-NOAA DusanJovic-NOAA deleted the support_intelllvm branch October 7, 2024 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants