Pure SoA: NextID
as Long
(#3772)
#95
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Hypre | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-hypre | |
cancel-in-progress: true | |
jobs: | |
compile-hypre-cuda-eb-2d: | |
name: CUDA EB 2D [email protected] | |
runs-on: ubuntu-20.04 | |
env: | |
AMREX_HYPRE_HOME: ${HOME}/.cache/hypre-2.26.0-cuda | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Dependencies | |
run: | | |
.github/workflows/dependencies/dependencies_nvcc.sh 11.2 | |
sudo apt-get install -y libcublas-dev-11-2 libcusparse-dev-11-2 | |
.github/workflows/dependencies/dependencies_ccache.sh | |
- name: Set Up Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/ccache | |
~/.cache/hypre-2.26.0-cuda | |
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} | |
restore-keys: | | |
ccache-${{ github.workflow }}-${{ github.job }}-git- | |
- name: Build Hypre | |
run: | | |
if [ ! -d "${{ env.AMREX_HYPRE_HOME }}" ] | |
then | |
wget -q https://github.com/hypre-space/hypre/archive/refs/tags/v2.26.0.tar.gz | |
tar xfz v2.26.0.tar.gz | |
cd hypre-2.26.0/src | |
./configure --with-cxxstandard=17 --with-cuda --enable-unified-memory \ | |
--with-cuda-home=/usr/local/cuda --with-gpu-arch="80" \ | |
--prefix=${{ env.AMREX_HYPRE_HOME }} | |
make -j 4 | |
make install | |
cd ../../ | |
fi | |
- name: Compile Test | |
run: | | |
export CCACHE_COMPRESS=1 | |
export CCACHE_COMPRESSLEVEL=10 | |
export CCACHE_MAXSIZE=290M | |
ccache -z | |
export AMREX_CUDA_ARCH=80 | |
export CUDA_PATH=/usr/local/cuda | |
export PATH=${PATH}:/usr/local/cuda/bin | |
cd Tests/LinearSolvers/CellEB | |
make -j4 USE_MPI=TRUE USE_HYPRE=TRUE DIM=2 USE_CUDA=TRUE CCACHE=ccache | |
ccache -s | |
du -h -d1 ~/.cache | |
test-hypre-cpu-3d: | |
name: GCC 3D [email protected] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Dependencies | |
run: | | |
.github/workflows/dependencies/dependencies.sh | |
.github/workflows/dependencies/dependencies_clang-tidy.sh 14 | |
.github/workflows/dependencies/dependencies_ccache.sh | |
- name: Set Up Cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/ccache | |
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} | |
restore-keys: | | |
ccache-${{ github.workflow }}-${{ github.job }}-git- | |
- name: Build Hypre | |
run: | | |
wget -q https://github.com/hypre-space/hypre/archive/refs/tags/v2.21.0.tar.gz | |
tar xfz v2.21.0.tar.gz | |
cd hypre-2.21.0/src | |
./configure --with-cxxstandard=17 --enable-bigint | |
make -j 4 | |
make install | |
cd ../../ | |
- name: Build and Run Test | |
run: | | |
export CCACHE_COMPRESS=1 | |
export CCACHE_COMPRESSLEVEL=10 | |
export CCACHE_MAXSIZE=100M | |
export CCACHE_EXTRAFILES=${{ github.workspace }}/.clang-tidy | |
export CCACHE_LOGFILE=${{ github.workspace }}/ccache.log.txt | |
ccache -z | |
export AMREX_HYPRE_HOME=${PWD}/hypre-2.21.0/src/hypre | |
cd Tests/LinearSolvers/ABecLaplacian_C | |
make -j4 USE_MPI=TRUE USE_HYPRE=TRUE DIM=3 \ | |
CCACHE=ccache | |
mpiexec -n 2 ./main3d.gnu.MPI.ex inputs.hypre | |
${{github.workspace}}/Tools/C_scripts/mmclt.py --input ${{github.workspace}}/ccache.log.txt | |
make -j4 -k -f clang-tidy-ccache-misses.mak \ | |
CLANG_TIDY=clang-tidy-14 \ | |
CLANG_TIDY_ARGS="--config-file=${{github.workspace}}/.clang-tidy --warnings-as-errors=*" | |
ccache -s | |
du -hs ~/.cache/ccache | |
test-hypre-solver-cpu-eb-2d: | |
name: GCC EB 2D [email protected] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Dependencies | |
run: | | |
.github/workflows/dependencies/dependencies.sh | |
.github/workflows/dependencies/dependencies_clang-tidy.sh 14 | |
.github/workflows/dependencies/dependencies_ccache.sh | |
- name: Set Up Cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/ccache | |
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} | |
restore-keys: | | |
ccache-${{ github.workflow }}-${{ github.job }}-git- | |
- name: Build Hypre | |
run: | | |
wget -q https://github.com/hypre-space/hypre/archive/refs/tags/v2.28.0.tar.gz | |
tar xfz v2.28.0.tar.gz | |
cd hypre-2.28.0/src | |
./configure --with-cxxstandard=17 | |
make -j 4 | |
make install | |
cd ../../ | |
- name: Build and Run Test | |
run: | | |
export CCACHE_COMPRESS=1 | |
export CCACHE_COMPRESSLEVEL=10 | |
export CCACHE_MAXSIZE=100M | |
export CCACHE_EXTRAFILES=${{ github.workspace }}/.clang-tidy | |
export CCACHE_LOGFILE=${{ github.workspace }}/ccache.log.txt | |
ccache -z | |
export AMREX_HYPRE_HOME=${PWD}/hypre-2.28.0/src/hypre | |
cd Tests/LinearSolvers/Hypre | |
make -j4 USE_MPI=TRUE USE_HYPRE=TRUE DIM=2 CCACHE=ccache | |
mpiexec -n 2 ./main2d.gnu.MPI.ex inputs.2d | |
${{github.workspace}}/Tools/C_scripts/mmclt.py --input ${{github.workspace}}/ccache.log.txt | |
make -j4 -k -f clang-tidy-ccache-misses.mak \ | |
CLANG_TIDY=clang-tidy-14 \ | |
CLANG_TIDY_ARGS="--config-file=${{github.workspace}}/.clang-tidy --warnings-as-errors=*" | |
ccache -s | |
du -hs ~/.cache/ccache | |
save_pr_number: | |
if: github.event_name == 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Save PR number | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
run: | | |
echo $PR_NUMBER > pr_number.txt | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: pr_number | |
path: pr_number.txt | |
retention-days: 1 |