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

Use ubuntu-24.04 in CI #437

Merged
merged 3 commits into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from 2 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
3 changes: 2 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Checks: 'bugprone-*,
-bugprone-easily-swappable-parameters,
-bugprone-implicit-widening-of-multiplication-result,
-bugprone-multi-level-implicit-pointer-conversion,
-bugprone-exception-escape,
clang-diagnostic-*,
clang-analyzer-*,
Expand All @@ -21,10 +22,10 @@ Checks: 'bugprone-*,
-readability-function-cognitive-complexity,
-readability-convert-member-functions-to-static,
-readability-make-member-function-const,
-readability-avoid-nested-conditional-operator,
-readability-function-size'
WarningsAsErrors: ''
HeaderFilterRegex: 'PeleLMeX\/Source|PeleLMeX\/Exec|PeleLMeX\/Submodules\/PelePhysics\/Source|PeleLMeX\/Submodules\/PelePhysics\/Mechanism'
AnalyzeTemporaryDtors: false
FormatStyle: none
User: user
CheckOptions:
Expand Down
106 changes: 53 additions & 53 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ concurrency:

jobs:
Formatting:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -26,7 +26,7 @@ jobs:
clangFormatVersion: 18
CPU-GNUmake:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
- name: FlameSheet debug report
working-directory: ./Exec/RegTests/FlameSheet
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|Submodules/AMReX-Hydro|GNUmakefile|ThirdParty" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
Expand All @@ -84,7 +84,7 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-24.04, macos-latest]
build_type: [Release, Debug]
enable_eb: [EB-OFF, EB-ON]
include:
Expand All @@ -93,16 +93,14 @@ jobs:
comp: llvm
procs: $(sysctl -n hw.ncpu)
ccache_cache: /Users/runner/Library/Caches/ccache
- os: ubuntu-latest
- os: ubuntu-24.04
install_deps: sudo apt-get update && sudo apt-get install mpich libmpich-dev
comp: gnu
procs: $(nproc)
ccache_cache: ~/.cache/ccache
- build_type: Release
ctest_args: -LE no-ci
ccache_size: 100M
- build_type: Debug
ctest_args: -LE no-ci
ccache_size: 500M
- enable_eb: EB-OFF
use_eb: "OFF"
Expand Down Expand Up @@ -184,7 +182,7 @@ jobs:
- name: Report
run: |
echo "::add-matcher::.github/problem-matchers/gcc.json"
egrep "warning:|error:" ${{runner.workspace}}/build-output.txt \
egrep "Warning:|Error:|warning:|error:" ${{runner.workspace}}/build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|Submodules/AMReX-Hydro" \
| egrep -v "ld: warning:" | egrep -v "lto-wrapper: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > ${{runner.workspace}}/build-output-warnings.txt
Expand All @@ -196,19 +194,13 @@ jobs:
(for DIM in 2 3; do \
printf "\n-------- Testing ${DIM}D --------\n"; \
cd ${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}}; \
ctest -j ${{env.NPROCS}} ${{matrix.ctest_args}} --output-on-failure; \
ctest -LE no-ci --output-on-failure; \
if [ $? -ne 0 ]; then exit 1; fi \
done)
GPU-Nvidia:
name: GPU-CUDA
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-20.04
strategy:
matrix:
cuda_ver: [11.4]
include:
- cuda_ver: "11.4"
cuda_pkg: 11-4
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -224,16 +216,15 @@ jobs:
- name: Dependencies
run: |
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y \
cuda-command-line-tools-${{matrix.cuda_pkg}} \
cuda-compiler-${{matrix.cuda_pkg}} cuda-minimal-build-${{matrix.cuda_pkg}} \
cuda-nvml-dev-${{matrix.cuda_pkg}} cuda-nvtx-${{matrix.cuda_pkg}} \
libcurand-dev-${{matrix.cuda_pkg}} cuda-cupti-dev-${{matrix.cuda_pkg}} \
libcusolver-dev-${{matrix.cuda_pkg}} libcusparse-dev-${{matrix.cuda_pkg}} \
libcublas-dev-${{matrix.cuda_pkg}}
sudo apt-get install -y cuda-command-line-tools-12-6 \
cuda-compiler-12-6 cuda-minimal-build-12-6 \
cuda-nvml-dev-12-6 cuda-nvtx-12-6 \
libcurand-dev-12-6 cuda-cupti-dev-12-6 \
libcusolver-dev-12-6 libcusparse-dev-12-6 \
libcublas-dev-12-6 libcurand-dev-12-6 libnvjitlink-12-6
- name: Install Ccache
run: |
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
Expand All @@ -248,30 +239,30 @@ jobs:
ccache-${{github.workflow}}-${{github.job}}-git-
- name: Configure
run: |
export PATH=/usr/local/nvidia/bin:/usr/local/cuda-${{matrix.cuda_ver}}/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda-${{matrix.cuda_ver}}/lib:${LD_LIBRARY_PATH}
cmake -Bbuild-${{matrix.cuda_pkg}} \
export PATH=/usr/local/nvidia/bin:/usr/local/cuda-12.6/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda-12.6/lib:${LD_LIBRARY_PATH}
cmake -Bbuild-cuda \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DPELE_ENABLE_MPI:BOOL=OFF \
-DPELE_ENABLE_CUDA:BOOL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS:BOOL=ON \
-DCMAKE_CUDA_ARCHITECTURES:STRING=70 \
-DCMAKE_CUDA_ARCHITECTURES:STRING=80 \
-DCMAKE_CUDA_COMPILER_LAUNCHER:STRING=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache \
${{github.workspace}}
- name: Build
run: |
ccache -z
cmake --build build-${{matrix.cuda_pkg}} --parallel ${{env.NPROCS}}
cmake --build build-cuda --parallel ${{env.NPROCS}}
- name: Ccache Report
run: |
ccache -s
du -hs ~/.cache/ccache
GPU-AMD:
name: GPU-HIP
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -287,14 +278,13 @@ jobs:
- name: Dependencies
run: |
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
curl -O https://repo.radeon.com/rocm/rocm.gpg.key
sudo apt-key add rocm.gpg.key
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.6.1 ubuntu main' \
| sudo tee /etc/apt/sources.list.d/rocm.list
echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' \
| sudo tee -a /etc/profile.d/rocm.sh
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.2.1 noble main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' | sudo tee -a /etc/profile.d/rocm.sh
sudo apt-get update
sudo apt-get install -y rocm-dev rocrand-dev rocprim-dev
sudo apt-get install -y rocm-dev rocrand-dev rocprim-dev hiprand-dev
- name: Install Ccache
run: |
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
Expand All @@ -313,6 +303,8 @@ jobs:
which clang
which clang++
which hipcc
hipcc --version
hipconfig --full
cmake -B${{runner.workspace}}/build-hip \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
Expand Down Expand Up @@ -341,7 +333,7 @@ jobs:
GPU-Intel:
name: GPU-SYCL
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -360,8 +352,7 @@ jobs:
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" \
| sudo tee /etc/apt/sources.list.d/oneAPI.list
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp=2024.2.1-1079 intel-oneapi-mkl-devel=2024.2.2-15
- name: Install Ccache
Expand Down Expand Up @@ -405,7 +396,7 @@ jobs:
du -hs ~/.cache/ccache
Lint-clang-tidy:
needs: Formatting
runs-on: macos-13
runs-on: ubuntu-24.04
strategy:
matrix:
enable_eb: [EB-OFF, EB-ON]
Expand All @@ -418,28 +409,34 @@ jobs:
steps:
- name: Setup
run: |
echo "NPROCS=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
echo "NPROCS=$(nproc)" >> $GITHUB_ENV
echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV
echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV
echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=80M" >> $GITHUB_ENV
echo "CCACHE_EXTRAFILES=${{github.workspace}}/.clang-tidy" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV
echo "CTCACHE_DIR=~/.cache/ctcache" >> $GITHUB_ENV
- name: Clone
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Ccache
run: |
brew install ccache
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
sudo curl https://raw.githubusercontent.com/matus-chochlik/ctcache/7fd516e91c17779cbc6fc18bd119313d9532dd90/clang-tidy-cache -Lo /usr/bin/clang-tidy-cache
tar xvf ccache-4.8-linux-x86_64.tar.xz
sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/
sudo chmod +x /usr/bin/clang-tidy-cache
mkdir -p ~/.cache/ctcache
- name: Set Up Ccache
uses: actions/cache@v4
with:
path: /Users/runner/Library/Caches/ccache
path: ~/.cache
key: ccache-${{github.workflow}}-${{github.job}}-${{matrix.enable_eb}}-git-${{github.sha}}
restore-keys: |
ccache-${{github.workflow}}-${{github.job}}-${{matrix.enable_eb}}-git-
- name: Configure
run: |
export PATH=$(brew --prefix llvm@15)/bin:${PATH}
cmake -B${{runner.workspace}}/build-clang-tidy \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
Expand All @@ -455,16 +452,19 @@ jobs:
working-directory: ${{runner.workspace}}/build-clang-tidy
run: |
#set -eu -o pipefail
export PATH=$(brew --prefix llvm@15)/bin:${PATH}
cmake --build . --parallel ${{env.NPROCS}} 2>&1 | tee -a clang-tidy-full-report.txt
egrep "warning:|error:" clang-tidy-full-report.txt \
egrep "Warning:|Error:|warning:|error:" clang-tidy-full-report.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|Submodules/AMReX-Hydro" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > clang-tidy-warnings.txt
- name: Ccache Report
run: |
ls ~/.cache
ls ~/.cache/ccache
du -hs ~/.cache/ccache
ls ~/.cache/ctcache
du -hs ~/.cache/ctcache
ccache -s
du -hs /Users/runner/Library/Caches/ccache
- name: Full report
working-directory: ${{runner.workspace}}/build-clang-tidy
run: cat clang-tidy-full-report.txt
Expand All @@ -477,7 +477,7 @@ jobs:
exit ${return}
Lint-codeql:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand Down Expand Up @@ -524,7 +524,7 @@ jobs:
sarif_file: sarif-results/cpp.sarif
Lint-codespell:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -543,7 +543,7 @@ jobs:
run: codespell
Save-PR-Number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Save PR number
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanup-cache-postpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
CleanUpCcacheCachePostPR:
name: Clean Up Ccahe Cache Post PR
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanup-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
CleanUpCcacheCache:
name: Clean Up Ccache Cache for ${{ github.event.workflow_run.name }}
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:

jobs:
Docs:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Python
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/post-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
cleanup:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Save PR number
env:
Expand Down
1 change: 0 additions & 1 deletion Exec/RegTests/EB_EnclosedFlame/pelelmex_prob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ PeleLM::readProbParm()
{
amrex::ParmParse pp("prob");

std::string type;
pp.query("P_mean", PeleLM::prob_parm->P_mean);
pp.query("standoff", PeleLM::prob_parm->standoff);
pp.query("pertmag", PeleLM::prob_parm->pertmag);
Expand Down
5 changes: 4 additions & 1 deletion Exec/RegTests/EB_FlowPastCylinder/pelelmex_prob.H
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ pelelmex_initdata(
, state(i, j, k, VELY) = -prob_parm.meanFlowMag;
, state(i, j, k, VELZ) = 0.0);
break;
default:
break;
}

if (!(is_incompressible == 0)) {
Expand Down Expand Up @@ -99,7 +101,6 @@ bcnormal(
ProbParm const& prob_parm,
pele::physics::PMF::PmfData::DataContainer const* /*pmf_data*/)
{
// amrex::GpuArray<amrex::Real, NUM_SPECIES + 4> pmf_vals = {0.0};
amrex::Real massfrac[NUM_SPECIES] = {0.0};

auto eos = pele::physics::PhysicsType::eos();
Expand All @@ -117,6 +118,8 @@ bcnormal(
AMREX_D_TERM(s_ext[VELZ] = prob_parm.meanFlowMag;, s_ext[VELX] = 0.0;
, s_ext[VELY] = 0.0);
break;
default:
break;
}

massfrac[O2_ID] = 0.333;
Expand Down
Loading
Loading