Skip to content

Add support for IntelLLVM compiler#1276

Merged
MatthewMasarik-NOAA merged 2 commits into
NOAA-EMC:dev/ufs-weather-modelfrom
DusanJovic-NOAA:support_intelllvm
Sep 30, 2024
Merged

Add support for IntelLLVM compiler#1276
MatthewMasarik-NOAA merged 2 commits into
NOAA-EMC:dev/ufs-weather-modelfrom
DusanJovic-NOAA:support_intelllvm

Conversation

@DusanJovic-NOAA
Copy link
Copy Markdown
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
Copy Markdown
Contributor

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

@DusanJovic-NOAA
Copy link
Copy Markdown
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
Copy Markdown

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

@MatthewMasarik-NOAA
Copy link
Copy Markdown
Contributor

@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
Copy Markdown
Contributor

@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
Copy Markdown
Contributor

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

@jkbk2004
Copy link
Copy Markdown

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

@MatthewMasarik-NOAA
Copy link
Copy Markdown
Contributor

@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
@MatthewMasarik-NOAA
Copy link
Copy Markdown
Contributor

@jkbk2004, done.

@MatthewMasarik-NOAA
Copy link
Copy Markdown
Contributor

@DusanJovic-NOAA, thanks for spearheading this.

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