Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/compat/compat.csv
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
compiler,gcc,gcc,gcc,gcc,gcc,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,intel-classic,lfortran,lfortran,lfortran,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc,nvidia-hpc
version,10,11,12,13,9,2021.1,2021.1.2,2021.2,2021.4,2022.0,2022.1,2022.2,2022.2.1,2023.0,2023.1,2023.2,2024.0,2024.1,2021.1,2021.1.2,2021.10,2021.11,2021.12,2021.2,2021.3,2021.4,2021.5,2021.6,2021.7,2021.7.1,2021.8,2021.9,0.31.0,0.32.0,0.33.0,20.11,21.11,22.11,23.11,23.3,23.5,23.7,23.9
version,9,10,11,12,13,2021.1,2021.1.2,2021.2,2021.4,2022.0,2022.1,2022.2,2022.2.1,2023.0,2023.1,2023.2,2024.0,2024.1,2021.1,2021.1.2,2021.2,2021.3,2021.4,2021.5,2021.6,2021.7,2021.7.1,2021.8,2021.9,2021.10,2021.11,2021.12,0.31.0,0.32.0,0.33.0,20.11,21.11,22.11,23.3,23.5,23.7,23.9,23.11
runner,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
macos-12,✓,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
macos-13,✓,✓,✓,✓,,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
macos-14,,✓,✓,✓,,,,,,,,,,,,,,,✓,,✓,,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,,,,,,,,
ubuntu-20.04,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
ubuntu-22.04,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
windows-2019,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,✓,✓,✓,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,,
windows-2022,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,✓,✓,✓,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,,
macos-12,✓,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
macos-13,,✓,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
macos-14,,,✓,✓,✓,,,,,,,,,,,,,,✓,,✓,✓,✓,✓,✓,✓,,✓,✓,✓,,,✓,✓,✓,,,,,,,,
ubuntu-20.04,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
ubuntu-22.04,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓,✓
windows-2019,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,✓,✓,,,✓,✓,✓,✓,✓,✓,✓,,,,,,,,
windows-2022,✓,✓,✓,✓,✓,,,,,,✓,✓,,,✓,✓,✓,✓,,,,,,,✓,✓,,,✓,✓,✓,✓,✓,✓,✓,,,,,,,,
18 changes: 17 additions & 1 deletion .github/compat/wide_compat_reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# read long CSV
df = pd.read_csv(ip)

# pivot and sort
# pivot and sort by runners
df = pd.pivot_table(
df,
index="runner",
Expand All @@ -26,6 +26,22 @@
aggfunc="first",
).sort_values(by=["runner"])


# group by compiler and sort by versions
grouped_versions = {}
for compiler in df.columns.get_level_values("compiler").unique():
versions = df.loc[:, (compiler,)].columns.get_level_values("version").unique()
versions = sorted(versions, key=lambda version: tuple(map(int, version.split("."))))
grouped_versions[compiler] = versions

sorted_columns = []
for compiler in grouped_versions:
sorted_columns.extend(
[(compiler, version) for version in grouped_versions[compiler]]
)

df = df[sorted_columns]

# write wide CSV
df.to_csv(op)

Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,15 @@ These are made available to subsequent workflow steps via the [`GITHUB_ENV` envi
Toolchain support varies across GitHub-hosted runner images.

<!-- compat starts -->
| runner | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
|:-------------|:--------|:--------|:--------|:--------|:--------|:--------|:--------|:--------|
| macos-11 | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; |
| macos-12 | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; |
| macos-13 | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; |
| ubuntu-20.04 | | &check; | &check; | &check; | &check; | &check; | | &check; |
| ubuntu-22.04 | | | | &check; | &check; | &check; | &check; | &check; |
| windows-2019 | | | &check; | &check; | &check; | &check; | &check; | |
| windows-2022 | | | &check; | &check; | &check; | &check; | &check; | |
| runner | gcc 9 | gcc 10 | gcc 11 | gcc 12 | gcc 13 | intel 2021.1 | intel 2021.1.2 | intel 2021.2 | intel 2021.4 | intel 2022.0 | intel 2022.1 | intel 2022.2 | intel 2022.2.1 | intel 2023.0 | intel 2023.1 | intel 2023.2 | intel 2024.0 | intel 2024.1 | intel-classic 2021.1 | intel-classic 2021.1.2 | intel-classic 2021.2 | intel-classic 2021.3 | intel-classic 2021.4 | intel-classic 2021.5 | intel-classic 2021.6 | intel-classic 2021.7 | intel-classic 2021.7.1 | intel-classic 2021.8 | intel-classic 2021.9 | intel-classic 2021.10 | intel-classic 2021.11 | intel-classic 2021.12 | lfortran 0.31.0 | lfortran 0.32.0 | lfortran 0.33.0 | nvidia-hpc 20.11 | nvidia-hpc 21.11 | nvidia-hpc 22.11 | nvidia-hpc 23.3 | nvidia-hpc 23.5 | nvidia-hpc 23.7 | nvidia-hpc 23.9 | nvidia-hpc 23.11 |
|:-------------|:---------------|:----------------|:----------------|:----------------|:----------------|:----------------------|:------------------------|:----------------------|:----------------------|:----------------------|:----------------------|:----------------------|:------------------------|:----------------------|:----------------------|:----------------------|:----------------------|:----------------------|:------------------------------|:--------------------------------|:------------------------------|:------------------------------|:------------------------------|:------------------------------|:------------------------------|:------------------------------|:--------------------------------|:------------------------------|:------------------------------|:-------------------------------|:-------------------------------|:-------------------------------|:-------------------------|:-------------------------|:-------------------------|:--------------------------|:--------------------------|:--------------------------|:-------------------------|:-------------------------|:-------------------------|:-------------------------|:--------------------------|
| macos-12 | &check; | &check; | &check; | &check; | &check; | | | | | | | | | | | | | | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | | &check; | &check; | &check; | | | &check; | &check; | &check; | | | | | | | | |
| macos-13 | | &check; | &check; | &check; | &check; | | | | | | | | | | | | | | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | | &check; | &check; | &check; | | | &check; | &check; | &check; | | | | | | | | |
| macos-14 | | | &check; | &check; | &check; | | | | | | | | | | | | | | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | | &check; | &check; | &check; | | | &check; | &check; | &check; | | | | | | | | |
| ubuntu-20.04 | &check; | &check; | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; |
| ubuntu-22.04 | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; | &check; |
| windows-2019 | &check; | &check; | &check; | &check; | &check; | | | | | | &check; | &check; | | | &check; | &check; | &check; | &check; | | | | | | | &check; | &check; | | | &check; | &check; | &check; | &check; | &check; | &check; | &check; | | | | | | | | |
| windows-2022 | &check; | &check; | &check; | &check; | &check; | | | | | | &check; | &check; | | | &check; | &check; | &check; | &check; | | | | | | | &check; | &check; | | | &check; | &check; | &check; | &check; | &check; | &check; | &check; | | | | | | | | |
<!-- compat ends -->

**Note:** Intel's `ifx` compiler is not supported on macOS, so the `intel` option redirects to `intel-classic` (`ifort`).
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Setup Fortran and libraries"
name: "Setup Fortran and math libraries"
description: "Setup Fortran compiler and toolchain"
inputs:
compiler:
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pandas
tabulate
tabulate
24 changes: 5 additions & 19 deletions setup-fortran.sh
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,11 @@ install_intel_apt()
| sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update

# first install mkl, then the compilers, to keep setvars clean
if $install_mkl; then
sudo apt-get install intel-oneapi-mkl-$mkl_version
fi

# c/cpp compiler package names changed with 2024+
case $version in
2024*)
Expand All @@ -408,26 +413,7 @@ install_intel_apt()
intel-oneapi-compiler-{fortran,dpcpp-cpp-and-cpp-classic}-$version
;;
esac
if $install_mkl; then
sudo apt-get install intel-oneapi-mkl-$mkl_version
fi

source /opt/intel/oneapi/setvars.sh

if $classic; then
export FC="ifort"
export CC="icc"
export CXX="icpc"
else
export FC="ifx"
export CC="icx"
export CXX="icpx"
fi
if $install_mkl; then
export MKLLIB="$ONEAPI_ROOT/mkl/latest/lib/intel64"
export MKLROOT="$ONEAPI_ROOT/mkl/latest"
fi

export_intel_vars
}

Expand Down