Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into sharedmem_3d_y_blitz_storage_order_mpi_by_…
…two_threads
- Loading branch information
Showing
38 changed files
with
332 additions
and
86 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
name: Test libmpdata++ | ||
|
||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
jobs: | ||
# run unit tests | ||
unit: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Debug", "Release"] | ||
mpi: ["none", "mvapich2"] | ||
include: | ||
- mpi: "none" | ||
tag: "ubuntu_20_04_cuda_11_4" | ||
cxx: "g++" | ||
ctest_options: "" | ||
- mpi: "mvapich2" | ||
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1" | ||
cxx: "mpic++" | ||
ctest_options: "-LE SlowWithMpi" # exclude tests with the label SlowWithMpi | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- run: mkdir ${{ github.workspace }}/tests/unit/build | ||
|
||
- name: configure,make and run unit tests #all in one call, because singularity always creates a sandbox, what takes ca. 1 min. TODO: fix this (newer singularity from apt?) | ||
working-directory: ${{ github.workspace }}/tests/unit | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /" | ||
|
||
# Alternative command, but it does not run tests. Need to specify --test-command, but to what? | ||
# - name: configure,make and run unit tests #all in one call, because singularity always creates a sandbox, what takes ca. 1 min. TODO: fix this (newer singularity from apt?) | ||
# working-directory: ${{ github.workspace }}/tests/unit/build | ||
# run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI ctest --build-and-test .. . --build-generator "Unix Makefiles" -LE SlowWithMpi --build-options "-DCMAKE_CXX_COMPILER=${{matrix.cxx}}" "-DCMAKE_BUILD_TYPE=${{matrix.build_type}}" || cat Testing/Temporary/LastTest.log / | ||
|
||
sandbox: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Release"] # Debug would be too slow | ||
mpi: ["none", "mvapich2"] | ||
include: | ||
- mpi: "none" | ||
tag: "ubuntu_20_04_cuda_11_4" | ||
cxx: "g++" | ||
ctest_options: "-LE NotInCI" | ||
- mpi: "mvapich2" | ||
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1" | ||
cxx: "mpic++" | ||
ctest_options: "-LE 'NotInCI|SlowWithMpi'" # exclude tests with either label | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- run: mkdir ${{ github.workspace }}/tests/sandbox/build | ||
|
||
- name: configure,make and run selected sandbox tests | ||
working-directory: ${{ github.workspace }}/tests/sandbox | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /" | ||
|
||
sandbox_slow_tests: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Release"] # Debug would be too slow | ||
mpi: ["mvapich2"] | ||
tests: ["pbl_smg_short", "pbl_iles_short", "shear_layer", "convergence_adv_diffusion"] | ||
include: | ||
- mpi: "mvapich2" | ||
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1" | ||
cxx: "mpic++" | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- run: mkdir ${{ github.workspace }}/tests/sandbox/build | ||
|
||
- name: configure,make and run selected sandbox tests | ||
working-directory: ${{ github.workspace }}/tests/sandbox | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest -R ${{matrix.tests}} || cat Testing/Temporary/LastTest.log /" | ||
|
||
# run tests from the 2015 GMD paper | ||
paper: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Release"] | ||
mpi: ["none", "mvapich2"] | ||
include: | ||
- mpi: "none" | ||
tag: "ubuntu_20_04_cuda_11_4" | ||
cxx: "g++" | ||
- mpi: "mvapich2" | ||
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1" | ||
cxx: "mpic++" | ||
ctest_options: "-LE SlowWithMpi" # exclude tests with the label SlowWithMpi | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- run: mkdir ${{ github.workspace }}/tests/paper_2015_GMD/build | ||
|
||
- name: configure,make and run selected sandbox tests | ||
working-directory: ${{ github.workspace }}/tests/paper_2015_GMD | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /" | ||
|
||
nair_jablonowski_2008: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Release"] | ||
mpi: ["none"] | ||
include: | ||
- mpi: "none" | ||
tag: "ubuntu_20_04_cuda_11_4" | ||
cxx: "g++" | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- run: mkdir ${{ github.workspace }}/tests/nair_jablonowski_2008/build | ||
|
||
- name: configure,make and run selected sandbox tests | ||
working-directory: ${{ github.workspace }}/tests/nair_jablonowski_2008 | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest || cat Testing/Temporary/LastTest.log /" | ||
|
||
elliptic_drop: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
build_type: ["Release"] | ||
mpi: ["none"] | ||
include: | ||
- mpi: "none" | ||
tag: "ubuntu_20_04_cuda_11_4" | ||
cxx: "g++" | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install libmpdata++ | ||
uses: igfuw/libmpdataxx_install@v0.1 | ||
with: | ||
build_type: ${{matrix.build_type}} | ||
threads: ${{matrix.threads}} | ||
path: ${{ github.workspace }}/libmpdata++ | ||
install_prefix: ${{ github.workspace }}/installed | ||
tag: ${{ matrix.tag }} | ||
cxx: ${{ matrix.cxx }} | ||
|
||
- name: checkout elliptic_drop | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: igfuw/shallow-water-elliptic-drop | ||
path: shallow-water-elliptic-drop | ||
|
||
- run: mkdir ${{ github.workspace }}/shallow-water-elliptic-drop/numerical/build | ||
|
||
- name: configure,make and run tests | ||
working-directory: ${{ github.workspace }}/shallow-water-elliptic-drop/numerical | ||
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec -B ${{ github.workspace }}/installed/ $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} -Dlibmpdata++_DIR=${{ github.workspace }}/installed/share/libmpdata++ && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest || cat Testing/Temporary/LastTest.log /" |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
libmpdataxx_add_test_gi(basic_example) | ||
libmpdataxx_add_test_gi(basic_example true) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
libmpdataxx_add_test_gi(advscheme_opts) | ||
libmpdataxx_add_test_gi(advscheme_opts true) |
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
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
libmpdataxx_add_test_gi(boussinesq_2d) | ||
libmpdataxx_add_test_gi(boussinesq_2d false) # don't compare results point-by-point with reference, because compiler optimization (-Ofast) affects them a little | ||
if(NOT USE_MPI) | ||
add_test( | ||
NAME boussinesq_stats_diff | ||
COMMAND zdiff ${CMAKE_CURRENT_SOURCE_DIR}/refdata/stats.txt.gz stats.txt | ||
) | ||
endif() | ||
|
||
set_property(TEST init_boussinesq_2d calc_boussinesq_2d clean_boussinesq_2d PROPERTY LABELS SlowWithMpi) |
Oops, something went wrong.