GRTLCollaboration / GRChombo

An AMR based open-source code for numerical relativity simulations.
BSD 3-Clause "New" or "Revised" License
80 stars 49 forks source link

CI: Hard code Intel Classic compiler versions #250

Closed ShaunFell closed 2 months ago

ShaunFell commented 2 months ago

During the github action workflow for the intel classic compilers, there appears to be a version mismatch between the intel C++ compilers and the intel fortran compilers. This was causing ifort to not be found after sourcing setvars.sh in the intel oneAPI directory. Hardcoding the package versions during installation from APT fixes the issue in my forked copy

KAClough commented 2 months ago

@SamuelBrady maybe you could review this?

mirenradia commented 2 months ago

Ah yes, @julianakwan was working on this (#244). Since the Intel Classic Compilers are now deprecated, we were thinking of switching the workflow to use the new Intel LLVM compilers (icpx and ifx).

I guess we could keep the existing workflow with hardcoded versions (though I would make these the latest possible version e.g 2023.2.4) and add a new workflow for the llvm compilers.

ShaunFell commented 2 months ago

Awesome, I updated the compiler versions to the latest (2023.2.4) per @mirenradia suggestion. The latest version of the math kernel library is 2023.1.0. I naively set it to 2023.2.4, but that package doesn't exist, so I made another commit with all packages hardcoded to their latest versions. With that, the tests successfully complete on my fork

mirenradia commented 2 months ago

I think there's a 2023.2.0 version of the intel-oneapi-mkl package.

ShaunFell commented 2 months ago

Ah, didnt realize that one existed. Changed to that version in the latest commit. For reference, I've been using this list for the latest intel oneAPI packages: https://oneapi-src.github.io/oneapi-ci/#linux-web-installer

mirenradia commented 2 months ago

Confusingly, intel-oneapi-mkl-2023.2.0 is there under "Linux, APT" but I don't think the list is completely ordered.

julianakwan commented 2 months ago

Hi Shaun, to get intel-classic-tests.yml to download ifort I used intel-oneapi-ifort, which confusingly isn't on the list (I think Miren found it actually) but now it complains about the debug flags. Since your version is working, I can create a new workflow with the intel-llvm compilers instead?

Would this be okay with you @mirenradia ?

mirenradia commented 2 months ago

Yes, let's use this hardcoded version of the classic compilers and create a separate workflow for the LLVM compilers.

KAClough commented 2 months ago

Ok, so then if this works for @SamuelBrady I think we can merge it

mirenradia commented 2 months ago

For future reference, it probably would have made sense to squash the commits when merging.