Skip to content

Conversation

byrnHDF
Copy link
Contributor

@byrnHDF byrnHDF commented Jul 10, 2025

Fixes #5652


Important

Switches C compiler to Intel C Compiler for intelmpi on Windows in GitHub Actions workflow.

  • Windows Configuration:
    • Switches C compiler to Intel C Compiler for intelmpi in cmake-par-script.yml.
    • Adds Intel toolchain (config/toolchain/intel.cmake) and enables Fortran.
    • Adds oneAPI setup step for intelmpi.
  • Linux Configuration:
    • Adds Intel toolchain for intelmpi but comments out oneAPI setup due to issues.
  • Build Options:
    • Updates HDF5_BUILD_FORTRAN option to use matrix variable in HDF5options.cmake.

This description was created by Ellipsis for f4a223a. You can customize this summary. It will automatically update as commits are pushed.

@byrnHDF byrnHDF self-assigned this Jul 10, 2025
@byrnHDF byrnHDF added the Component - Testing Code in test or testpar directories, GitHub workflows label Jul 10, 2025
@byrnHDF byrnHDF requested a review from lrknox as a code owner July 10, 2025 16:48
@byrnHDF byrnHDF added the github_actions Pull requests that update GitHub Actions code label Jul 10, 2025
@github-project-automation github-project-automation bot moved this to To be triaged in HDF5 - TRIAGE & TRACK Jul 10, 2025
@@ -165,6 +190,16 @@ jobs:
sudo apt install gcc-12 g++-12 gfortran-12
sudo apt install libaec0 libaec-dev

# This causes an issue when MPI tries to install likely because
Copy link
Member

Choose a reason for hiding this comment

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

What does install likely mean?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Could use a comma, but this comment of course means this is a best guess at the problem. However, I'm almost certain that this is due to both the setup-fortran and setup-mpi actions calling the setvars.sh script from OneAPI, which end up conflicting with each other after the first call. I don't believe this is caused by different versions.

Copy link
Member

@hyoklee hyoklee left a comment

Choose a reason for hiding this comment

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

Please review comment.

Copy link
Member

@hyoklee hyoklee left a comment

Choose a reason for hiding this comment

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

Remove 193-202 lines entirely instead of commenting them out.

@brtnfld
Copy link
Collaborator

brtnfld commented Jul 14, 2025

@ellipses-dev, review PR

Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to f4a223a in 2 minutes and 31 seconds. Click for details.
  • Reviewed 83 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. .github/workflows/cmake-par-script.yml:127
  • Draft comment:
    Using matrix.fortran for -DHDF5_BUILD_FORTRAN is a neat solution. Ensure the values are always provided as 'ON' or 'OFF' to avoid misconfiguration, especially since the Linux matrix doesn’t set this variable.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_IebYIzLIqauvHB6m

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@@ -120,14 +136,15 @@ jobs:
set (MODEL "MPI")
set (GROUP "MPI")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} --log-level=VERBOSE")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=${{ matrix.toolchain }}")
Copy link

Choose a reason for hiding this comment

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

Avoid passing an empty toolchain flag for non-intel builds. Consider conditionally appending -DCMAKE_TOOLCHAIN_FILE only when matrix.toolchain is non‐empty.

@brtnfld brtnfld assigned brtnfld, lrknox and jhendersonHDF and unassigned byrnHDF Jul 22, 2025
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=2")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SUBFILING_VFD:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=${{ matrix.fortran }}")
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should give a reason for switching off Fortran for future reference.

@byrnHDF byrnHDF marked this pull request as draft August 7, 2025 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Testing Code in test or testpar directories, GitHub workflows github_actions Pull requests that update GitHub Actions code
Projects
Status: To be triaged
Development

Successfully merging this pull request may close these issues.

Switch the C compiler for github windows action for mpiintel to the Intel C Complier
5 participants