From ed4be06ed651cadfac941f0e9defb86b97ae72aa Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:21:40 +1000 Subject: [PATCH 01/27] Moving to local action --- .github/actions/compile/action.yaml | 12 +++++ .github/actions/configure/action.yaml | 77 +++++++++++++++++++++++++++ .github/actions/install/action.yaml | 36 +++++++++++++ .github/workflows/test.yml | 12 +++-- 4 files changed, 132 insertions(+), 5 deletions(-) create mode 100644 .github/actions/compile/action.yaml create mode 100644 .github/actions/configure/action.yaml create mode 100644 .github/actions/install/action.yaml diff --git a/.github/actions/compile/action.yaml b/.github/actions/compile/action.yaml new file mode 100644 index 000000000..042533616 --- /dev/null +++ b/.github/actions/compile/action.yaml @@ -0,0 +1,12 @@ +name: 'TCLB Test' +description: 'This action tests TCLB' +inputs: + model: + description: model to compile + default: d2q9 +runs: + using: 'composite' + steps: + - shell: bash + id: compile + run: cd TCLB && make ${{ inputs.model }} diff --git a/.github/actions/configure/action.yaml b/.github/actions/configure/action.yaml new file mode 100644 index 000000000..ff77d16df --- /dev/null +++ b/.github/actions/configure/action.yaml @@ -0,0 +1,77 @@ +name: 'TCLB Test' +description: 'This action tests TCLB' +inputs: + gpu: + description: compile a GPU version + default: false + cuda_arch: + description: CUDA arch (sm_) to use + default: sm_50 + precision: + description: compute precision to use + default: double + rinside: + description: compute precision to use + default: false + marklines: + description: compute precision to use + default: true + coverage: + description: compute precision to use + default: false + paranoid: + description: compute precision to use + default: true + python: + description: compute precision to use + default: true + options: + description: other configure options + default: '' +runs: + using: 'composite' + steps: + - shell: bash + id: compile + run: | + cd TCLB + make configure + CONFOPT="" + case "${{ inputs.gpu }}" in + true) CONFOPT="$CONFOPT --enable-cuda --with-cuda-arch=${{ inputs.cuda_arch }}" ;; + false) CONFOPT="$CONFOPT --disable-cuda" ;; + *) echo "Wrong 'gpu' input in configure action"; exit -1 + esac + case "${{ inputs.precision }}" in + double) CONFOPT="$CONFOPT --enable-double" ;; + float) CONFOPT="$CONFOPT --disable-double" ;; + *) echo "Wrong 'precision' input in configure action"; exit -1 + esac + case "${{ inputs.rinside }}" in + true) CONFOPT="$CONFOPT --enable-rinside" ;; + false) CONFOPT="$CONFOPT --disable-rinside" ;; + *) echo "Wrong 'rinside' input in configure action"; exit -1 + esac + case "${{ inputs.marklines }}" in + true) CONFOPT="$CONFOPT --enable-marklines" ;; + false) CONFOPT="$CONFOPT --disable-marklines" ;; + *) echo "Wrong 'marklines' input in configure action"; exit -1 + esac + case "${{ inputs.coverage }}" in + true) CONFOPT="$CONFOPT --enable-coverage" ;; + false) CONFOPT="$CONFOPT --disable-coverage" ;; + *) echo "Wrong 'coverage' input in configure action"; exit -1 + esac + case "${{ inputs.paranoid }}" in + true) CONFOPT="$CONFOPT --enable-paranoid" ;; + false) CONFOPT="$CONFOPT --disable-paranoid" ;; + *) echo "Wrong 'paranoid' input in configure action"; exit -1 + esac + case "${{ inputs.python }}" in + true) CONFOPT="$CONFOPT --with-python" ;; + false) CONFOPT="$CONFOPT --without-python" ;; + *) echo "Wrong 'python' input in configure action"; exit -1 + esac + CONFOPT="$CONFOPT ${{ inputs.options }}" + echo "Configure options:$CONFOPT" + ./configure $CONFOPT diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml new file mode 100644 index 000000000..f6aaf24a8 --- /dev/null +++ b/.github/actions/install/action.yaml @@ -0,0 +1,36 @@ +name: 'TCLB Install' +description: 'This action installes TCLB dependencies' +inputs: + R: + description: install R + default: true + essentials: + description: install essentials + default: false + MPI: + description: install MPI (openmpi) + default: openmpi + python_dev: + description: install python-dev + default: false + rdep: + description: install python-dev + default: true +runs: + using: 'composite' + steps: + - if: inputs.essentials == true + shell: bash + run: cd TCLB && tools/install.sh --sudo essentials + - if: inputs.R == true + shell: bash + run: cd TCLB && tools/install.sh --sudo r + - if: inputs.MPI == openmpi + shell: bash + run: cd TCLB && tools/install.sh --sudo openmpi + - if: inputs.python_dev == true + shell: bash + run: cd TCLB && tools/install.sh --sudo python-dev + - if: inputs.rdep == true + shell: bash + run: cd TCLB && tools/install.sh --sudo rdep diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8ecb6d28a..52f9d83dd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Testing the test +name: Testing models on: [ push, pull_request ] @@ -10,9 +10,11 @@ jobs: matrix: model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] steps: - - uses: CFD-GO/action_TCLB_test@master + - uses: actions/checkout@v3 + with: + path: 'TCLB' + - uses: ./.github/actions/install + - uses: ./.github/actions/configure + - uses: ./.github/actions/compile with: - repository: ${{ github.repository }} model: ${{ matrix.model }} - ref: ${{ github.ref }} - install: true From b6bb419d23b6d816b4fd419d3d78065c9ff846e1 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:24:37 +1000 Subject: [PATCH 02/27] updating actions --- .github/actions/compile/action.yaml | 2 +- .github/actions/configure/action.yaml | 1 - .github/actions/install/action.yaml | 10 +++++----- .github/workflows/test.yml | 2 -- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/actions/compile/action.yaml b/.github/actions/compile/action.yaml index 042533616..f9f1a59e2 100644 --- a/.github/actions/compile/action.yaml +++ b/.github/actions/compile/action.yaml @@ -9,4 +9,4 @@ runs: steps: - shell: bash id: compile - run: cd TCLB && make ${{ inputs.model }} + run: make ${{ inputs.model }} diff --git a/.github/actions/configure/action.yaml b/.github/actions/configure/action.yaml index ff77d16df..a35850e2e 100644 --- a/.github/actions/configure/action.yaml +++ b/.github/actions/configure/action.yaml @@ -34,7 +34,6 @@ runs: - shell: bash id: compile run: | - cd TCLB make configure CONFOPT="" case "${{ inputs.gpu }}" in diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index f6aaf24a8..115ab9aab 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -21,16 +21,16 @@ runs: steps: - if: inputs.essentials == true shell: bash - run: cd TCLB && tools/install.sh --sudo essentials + run: tools/install.sh --sudo essentials - if: inputs.R == true shell: bash - run: cd TCLB && tools/install.sh --sudo r + run: tools/install.sh --sudo r - if: inputs.MPI == openmpi shell: bash - run: cd TCLB && tools/install.sh --sudo openmpi + run: tools/install.sh --sudo openmpi - if: inputs.python_dev == true shell: bash - run: cd TCLB && tools/install.sh --sudo python-dev + run: tools/install.sh --sudo python-dev - if: inputs.rdep == true shell: bash - run: cd TCLB && tools/install.sh --sudo rdep + run: tools/install.sh --sudo rdep diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 52f9d83dd..1ed5e06b5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,8 +11,6 @@ jobs: model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] steps: - uses: actions/checkout@v3 - with: - path: 'TCLB' - uses: ./.github/actions/install - uses: ./.github/actions/configure - uses: ./.github/actions/compile From ccaa52166c309e81edafd9357940038ff46efcae Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:27:18 +1000 Subject: [PATCH 03/27] correcting values in action --- .github/actions/test/action.yaml | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/actions/test/action.yaml diff --git a/.github/actions/test/action.yaml b/.github/actions/test/action.yaml new file mode 100644 index 000000000..201c13d6a --- /dev/null +++ b/.github/actions/test/action.yaml @@ -0,0 +1,55 @@ +name: 'TCLB Test' +description: 'This action tests TCLB' +inputs: + repository: + description: 'Repository name with owner. For example, actions/checkout' + default: ${{ github.repository }} + ref: + description: branch or tag to test + default: master + install: + description: install dependencies + default: false + configureoptions: + description: options for configure + default: --disable-cuda + model: + description: model to compile + default: d2q9 + cluster: + description: use TCLB_cluster + default: "" +runs: + using: 'composite' + steps: + - uses: actions/checkout@v3 + with: + repository: ${{ inputs.repository }} + ref: ${{ inputs.ref }} + path: 'TCLB' + - shell: bash + id: compile + run: | + DIR="TCLB" + INSTALL="$(test "${{ inputs.install }}" == "true" && echo true || echo false)" + CLUSTER="${{ inputs.cluster }}" + cd "$DIR" + if $INSTALL + then + tools/install.sh --sudo essentials + tools/install.sh --sudo r + tools/install.sh --sudo openmpi + # tools/install.sh --sudo python-dev + fi + if test -z "$CLUSTER" + then + source tools/env.sh # needed only on macos + tools/install.sh rdep + make configure + ./configure ${{ inputs.configureoptions }} + make ${{ inputs.model }} + else + git clone --depth 1 --branch "$CLUSTER" "https://github.com/CFD-GO/TCLB_cluster.git" "p" + p/config -y + p/make ${{ inputs.model }} + fi From 4ad799205ce0803fa29f3a4f716de07f9f16a218 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:29:31 +1000 Subject: [PATCH 04/27] correcting values in actions --- .github/actions/compile/action.yaml | 2 +- .github/actions/configure/action.yaml | 4 ++-- .github/actions/install/action.yaml | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/actions/compile/action.yaml b/.github/actions/compile/action.yaml index f9f1a59e2..8cec417ac 100644 --- a/.github/actions/compile/action.yaml +++ b/.github/actions/compile/action.yaml @@ -3,7 +3,7 @@ description: 'This action tests TCLB' inputs: model: description: model to compile - default: d2q9 + default: 'd2q9' runs: using: 'composite' steps: diff --git a/.github/actions/configure/action.yaml b/.github/actions/configure/action.yaml index a35850e2e..dd394f931 100644 --- a/.github/actions/configure/action.yaml +++ b/.github/actions/configure/action.yaml @@ -6,10 +6,10 @@ inputs: default: false cuda_arch: description: CUDA arch (sm_) to use - default: sm_50 + default: 'sm_50' precision: description: compute precision to use - default: double + default: 'double' rinside: description: compute precision to use default: false diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index 115ab9aab..654d8242d 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -9,7 +9,7 @@ inputs: default: false MPI: description: install MPI (openmpi) - default: openmpi + default: 'openmpi' python_dev: description: install python-dev default: false @@ -19,18 +19,18 @@ inputs: runs: using: 'composite' steps: - - if: inputs.essentials == true + - if: inputs.essentials shell: bash run: tools/install.sh --sudo essentials - - if: inputs.R == true + - if: inputs.R shell: bash run: tools/install.sh --sudo r - - if: inputs.MPI == openmpi + - if: inputs.MPI == 'openmpi' shell: bash run: tools/install.sh --sudo openmpi - - if: inputs.python_dev == true + - if: inputs.python_dev shell: bash run: tools/install.sh --sudo python-dev - - if: inputs.rdep == true + - if: inputs.rdep shell: bash run: tools/install.sh --sudo rdep From 296bc5e9a5436110d6a0fc906f0b95b1fe87026d Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:36:53 +1000 Subject: [PATCH 05/27] moving to python3 in python-dev installation --- tools/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index ecdb11245..b70dbee76 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -371,7 +371,7 @@ do try "Installing sympy from yum" $SUDO yum install -y sympy ;; apt-get) - try "Installing python-dev from APT" $SUDO apt-get install -qq python-dev python-numpy python-sympy + try "Installing python-dev from APT" $SUDO apt-get install -qq python3-dev python3-numpy python3-sympy ;; brew) try "Installing Python from brew (this should install headers as well)" brew install python From e49f90862997f363f9153d76f76d8cb43ef5327f Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:37:16 +1000 Subject: [PATCH 06/27] Adding model testing --- .github/actions/configure/action.yaml | 2 +- .github/actions/test/action.yaml | 48 ++------------------------- .github/workflows/test.yml | 11 ++++++ 3 files changed, 14 insertions(+), 47 deletions(-) diff --git a/.github/actions/configure/action.yaml b/.github/actions/configure/action.yaml index dd394f931..bdb1c2ed4 100644 --- a/.github/actions/configure/action.yaml +++ b/.github/actions/configure/action.yaml @@ -24,7 +24,7 @@ inputs: default: true python: description: compute precision to use - default: true + default: false options: description: other configure options default: '' diff --git a/.github/actions/test/action.yaml b/.github/actions/test/action.yaml index 201c13d6a..f93007f53 100644 --- a/.github/actions/test/action.yaml +++ b/.github/actions/test/action.yaml @@ -1,55 +1,11 @@ name: 'TCLB Test' description: 'This action tests TCLB' inputs: - repository: - description: 'Repository name with owner. For example, actions/checkout' - default: ${{ github.repository }} - ref: - description: branch or tag to test - default: master - install: - description: install dependencies - default: false - configureoptions: - description: options for configure - default: --disable-cuda model: description: model to compile - default: d2q9 - cluster: - description: use TCLB_cluster - default: "" + default: 'd2q9' runs: using: 'composite' steps: - - uses: actions/checkout@v3 - with: - repository: ${{ inputs.repository }} - ref: ${{ inputs.ref }} - path: 'TCLB' - shell: bash - id: compile - run: | - DIR="TCLB" - INSTALL="$(test "${{ inputs.install }}" == "true" && echo true || echo false)" - CLUSTER="${{ inputs.cluster }}" - cd "$DIR" - if $INSTALL - then - tools/install.sh --sudo essentials - tools/install.sh --sudo r - tools/install.sh --sudo openmpi - # tools/install.sh --sudo python-dev - fi - if test -z "$CLUSTER" - then - source tools/env.sh # needed only on macos - tools/install.sh rdep - make configure - ./configure ${{ inputs.configureoptions }} - make ${{ inputs.model }} - else - git clone --depth 1 --branch "$CLUSTER" "https://github.com/CFD-GO/TCLB_cluster.git" "p" - p/config -y - p/make ${{ inputs.model }} - fi + run: tools/test.sh ${{ inputs.model }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1ed5e06b5..0d4f10449 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,18 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/install + with: + python-dev: true + rinside: true - uses: ./.github/actions/configure + with: + gpu: false + python: true + paranoid: true + coverage: true - uses: ./.github/actions/compile with: model: ${{ matrix.model }} + - uses: ./.github/actions/test + with: + model: ${{ matrix.model }} From 987fb0cab8c344097802ad4a02bef8ac891c2ecd Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:37:39 +1000 Subject: [PATCH 07/27] Adding model testing --- .github/actions/test/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/test/action.yaml b/.github/actions/test/action.yaml index f93007f53..ccf35ba90 100644 --- a/.github/actions/test/action.yaml +++ b/.github/actions/test/action.yaml @@ -8,4 +8,4 @@ runs: using: 'composite' steps: - shell: bash - run: tools/test.sh ${{ inputs.model }} + run: tools/tests.sh ${{ inputs.model }} From 4391923797a2fb5b89e8c86a6b7df039c1a2bf7a Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 10:46:23 +1000 Subject: [PATCH 08/27] Moving to python3 in configure --- src/configure.ac | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/configure.ac b/src/configure.ac index 3b99d3f32..fd91a339d 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -445,9 +445,8 @@ fi if test "x${with_python}" == "xyes"; then - AC_CHECK_PROG(python_config,"${with_python_config}","${with_python_config}",python-config) - AC_CHECK_PROG(python_bin,"${with_python_bin}","${with_python_bin}",python) - + AC_CHECK_PROG(python_bin,"${with_python_bin}","${with_python_bin}",python3) + AC_CHECK_PROG(python_config,"${with_python_config}","${with_python_config}",${python_bin}-config) AC_MSG_NOTICE([python config: ${python_config}]) AC_MSG_NOTICE([python: ${python_bin}]) From 4441fe6590d7e4f8a013a141e233c80789ac3d14 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 11:42:05 +1000 Subject: [PATCH 09/27] Temprorary switch off checking sprint overflow --- src/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configure.ac b/src/configure.ac index fd91a339d..732c1ca19 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -815,7 +815,7 @@ fi if test "x${enable_paranoid}" == "xyes" then - CPP_OPT="${CPP_OPT} -Wall -Werror -Wno-unused-but-set-variable -Wno-unused-variable" + CPP_OPT="${CPP_OPT} -Wall -Werror -Wno-unused-but-set-variable -Wno-unused-variable -Wno-format-overflow" fi if test "x${enable_profiling}" == "xyes" From 108477129c13735a1c67ac2cdfdee044a3475408 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 11:42:27 +1000 Subject: [PATCH 10/27] Making FTabs trivialy copyable --- src/Global.h.Rt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/Global.h.Rt b/src/Global.h.Rt index 90ce0c46f..0b36f0f51 100644 --- a/src/Global.h.Rt +++ b/src/Global.h.Rt @@ -69,13 +69,6 @@ for (m in Margin) { ?> void Clear(int,int,int); void PreAlloc(int,int,int); void Free(); -/// Assign operator (no alloc) - inline FTabs & operator=(const FTabs & in) { - = in. ; - return *this; - } }; #define INFO_H 1 From 8de5012d8afa46a5a942cad79cd99ee12899613a Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 11:44:07 +1000 Subject: [PATCH 11/27] Checkout submodules for tests --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d4f10449..e17e77818 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,8 @@ jobs: model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] steps: - uses: actions/checkout@v3 + with: + submodules: true - uses: ./.github/actions/install with: python-dev: true From 1cf5512073cce93e9c26a65a54ca172e09703196 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 13:04:39 +1000 Subject: [PATCH 12/27] Updating tests --- tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests b/tests index d1ec9250f..8abd63974 160000 --- a/tests +++ b/tests @@ -1 +1 @@ -Subproject commit d1ec9250f4f08aeff5d06aa18e9ccaf90296e441 +Subproject commit 8abd639747207824355bb3376b2180da99d705f6 From 43ed021571456841fd61e469f72f2df44889702a Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 13:34:30 +1000 Subject: [PATCH 13/27] moving test workflow --- .github/workflows/{test.yml => cpu_test.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{test.yml => cpu_test.yml} (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/cpu_test.yml similarity index 100% rename from .github/workflows/test.yml rename to .github/workflows/cpu_test.yml From 5c7c28e3c5904041062b8ca50695ebbea6a1bbcf Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 13:37:00 +1000 Subject: [PATCH 14/27] correcting minor things and adding codecov --- .github/actions/install/action.yaml | 6 ++++++ .github/workflows/cpu_test.yml | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index 654d8242d..65977c0ad 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -16,6 +16,9 @@ inputs: rdep: description: install python-dev default: true + rinside: + description: install python-dev + default: true runs: using: 'composite' steps: @@ -25,6 +28,9 @@ runs: - if: inputs.R shell: bash run: tools/install.sh --sudo r + - if: inputs.rinside + shell: bash + run: tools/install.sh --sudo rinside - if: inputs.MPI == 'openmpi' shell: bash run: tools/install.sh --sudo openmpi diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index e17e77818..7c4d4f55e 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -15,7 +15,7 @@ jobs: submodules: true - uses: ./.github/actions/install with: - python-dev: true + python_dev: true rinside: true - uses: ./.github/actions/configure with: @@ -29,3 +29,4 @@ jobs: - uses: ./.github/actions/test with: model: ${{ matrix.model }} + - uses: codecov/codecov-action@v3 From 0711dca1c85ca7cdc0cca42b13f2dc83e9e9a5e3 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 14:36:09 +1000 Subject: [PATCH 15/27] Adding lcov coverage generation --- .github/actions/coverage/action.yaml | 14 ++++++++++++++ .github/workflows/cpu_test.yml | 4 ++++ 2 files changed, 18 insertions(+) create mode 100644 .github/actions/coverage/action.yaml diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml new file mode 100644 index 000000000..30b4296fe --- /dev/null +++ b/.github/actions/coverage/action.yaml @@ -0,0 +1,14 @@ +name: 'TCLB Test' +description: 'This action tests TCLB' +inputs: + model: + description: model to compile + default: 'd2q9' +runs: + using: 'composite' + steps: + - shell: bash + run: | + lcov --capture --directory . --output-file coverage.info + lcov --remove coverage.info '/usr/*' --output-file coverage.info + lcov --list coverage.info diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index 7c4d4f55e..f4840eefe 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -29,4 +29,8 @@ jobs: - uses: ./.github/actions/test with: model: ${{ matrix.model }} + - uses: ./.github/actions/coverage - uses: codecov/codecov-action@v3 + with: + files: coverage.info + flags: ${{ matrix.model }} \ No newline at end of file From d5436100854c44c9cd14186dba0b014906e3fd24 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 14:59:03 +1000 Subject: [PATCH 16/27] Improving the install action and installing lcov in test --- .github/actions/install/action.yaml | 80 +++++++++++++++++++++++------ .github/workflows/cpu_test.yml | 6 ++- 2 files changed, 69 insertions(+), 17 deletions(-) diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index 65977c0ad..eafc97d6c 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -1,42 +1,90 @@ name: 'TCLB Install' description: 'This action installes TCLB dependencies' inputs: - R: - description: install R - default: true essentials: description: install essentials default: false - MPI: - description: install MPI (openmpi) - default: 'openmpi' - python_dev: - description: install python-dev - default: false + r: + description: install r + default: true rdep: - description: install python-dev + description: install rdep default: true + rpython: + description: install rpython + default: false + reticulate: + description: install reticulate + default: false rinside: - description: install python-dev + description: install rinside + default: false + cuda: + description: install cuda + default: false + openmpi: + description: install openmpi default: true + lcov: + description: install lcov + default: false + submodules: + description: install submodules + default: false + gitdep: + description: install gitdep + default: false + python-dev: + description: install python-dev + default: false + module: + description: install module + default: false + tapenade: + description: install tapenade + default: false runs: using: 'composite' steps: - if: inputs.essentials shell: bash run: tools/install.sh --sudo essentials - - if: inputs.R + - if: inputs.r shell: bash run: tools/install.sh --sudo r + - if: inputs.rdep + shell: bash + run: tools/install.sh --sudo rdep + - if: inputs.rpython + shell: bash + run: tools/install.sh --sudo rpython + - if: inputs.reticulate + shell: bash + run: tools/install.sh --sudo reticulate - if: inputs.rinside shell: bash run: tools/install.sh --sudo rinside - - if: inputs.MPI == 'openmpi' + - if: inputs.cuda + shell: bash + run: tools/install.sh --sudo cuda + - if: inputs.openmpi shell: bash run: tools/install.sh --sudo openmpi - - if: inputs.python_dev + - if: inputs.lcov + shell: bash + run: tools/install.sh --sudo lcov + - if: inputs.submodules + shell: bash + run: tools/install.sh --sudo submodules + - if: inputs.gitdep + shell: bash + run: tools/install.sh --sudo gitdep + - if: inputs.python-dev shell: bash run: tools/install.sh --sudo python-dev - - if: inputs.rdep + - if: inputs.module shell: bash - run: tools/install.sh --sudo rdep + run: tools/install.sh --sudo module + - if: inputs.tapenade + shell: bash + run: tools/install.sh --sudo tapenade diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index f4840eefe..47e94bdf0 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -15,8 +15,12 @@ jobs: submodules: true - uses: ./.github/actions/install with: - python_dev: true + r: true + rdep: true + openmpi: true + python-dev: true rinside: true + lcov: true - uses: ./.github/actions/configure with: gpu: false From 354c505390130607aed109528c19ca7843a9fe00 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 15:15:52 +1000 Subject: [PATCH 17/27] Improving the install action --- .github/actions/install/action.yaml | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index eafc97d6c..ec5c27ebc 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -46,45 +46,45 @@ inputs: runs: using: 'composite' steps: - - if: inputs.essentials + - if: inputs.essentials != 'false' shell: bash run: tools/install.sh --sudo essentials - - if: inputs.r + - if: inputs.r != 'false' shell: bash run: tools/install.sh --sudo r - - if: inputs.rdep + - if: inputs.rdep != 'false' shell: bash run: tools/install.sh --sudo rdep - - if: inputs.rpython + - if: inputs.rpython != 'false' shell: bash run: tools/install.sh --sudo rpython - - if: inputs.reticulate + - if: inputs.reticulate != 'false' shell: bash run: tools/install.sh --sudo reticulate - - if: inputs.rinside + - if: inputs.rinside != 'false' shell: bash run: tools/install.sh --sudo rinside - - if: inputs.cuda + - if: inputs.cuda != 'false' shell: bash - run: tools/install.sh --sudo cuda - - if: inputs.openmpi + run: tools/install.sh --sudo cuda ${{ inputs.cuda }} + - if: inputs.openmpi != 'false' shell: bash run: tools/install.sh --sudo openmpi - - if: inputs.lcov + - if: inputs.lcov != 'false' shell: bash run: tools/install.sh --sudo lcov - - if: inputs.submodules + - if: inputs.submodules != 'false' shell: bash run: tools/install.sh --sudo submodules - - if: inputs.gitdep + - if: inputs.gitdep != 'false' shell: bash run: tools/install.sh --sudo gitdep - - if: inputs.python-dev + - if: inputs.python-dev != 'false' shell: bash run: tools/install.sh --sudo python-dev - - if: inputs.module + - if: inputs.module != 'false' shell: bash run: tools/install.sh --sudo module - - if: inputs.tapenade + - if: inputs.tapenade != 'false' shell: bash run: tools/install.sh --sudo tapenade From e95b02cd3f7d9b8c2230c0159d6a66e28e380a1e Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 15:48:41 +1000 Subject: [PATCH 18/27] Correcting CUDA installation script and adding GPU compilation workflow --- .github/actions/coverage/action.yaml | 4 ++-- .github/workflows/gpu_comp.yml | 30 ++++++++++++++++++++++++++++ tools/install.sh | 13 ++++++++++-- 3 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/gpu_comp.yml diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml index 30b4296fe..9ffea96d9 100644 --- a/.github/actions/coverage/action.yaml +++ b/.github/actions/coverage/action.yaml @@ -10,5 +10,5 @@ runs: - shell: bash run: | lcov --capture --directory . --output-file coverage.info - lcov --remove coverage.info '/usr/*' --output-file coverage.info - lcov --list coverage.info + test -s coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info + test -s coverage.info && lcov --list coverage.info diff --git a/.github/workflows/gpu_comp.yml b/.github/workflows/gpu_comp.yml new file mode 100644 index 000000000..5672abd48 --- /dev/null +++ b/.github/workflows/gpu_comp.yml @@ -0,0 +1,30 @@ +name: Testing models + +on: [ push, pull_request ] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - uses: ./.github/actions/install + with: + r: true + rdep: true + openmpi: true + rinside: true + cuda: 10.2 + - uses: ./.github/actions/configure + with: + gpu: true + cuda_arch: sm_60 + paranoid: true + - uses: ./.github/actions/compile + with: + model: ${{ matrix.model }} diff --git a/tools/install.sh b/tools/install.sh index b70dbee76..a7b90769a 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -300,8 +300,17 @@ do case "$PMS" in apt-get) - try "Downloading CUDA dist" wget $WGETOPT http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_${CUDA}_amd64.deb - try "Installing CUDA dist" dpkg -i cuda-repo-ubuntu1204_${CUDA}_amd64.deb + OS=ubuntu1204 + if test "$(lsb_release -si)" == "Ubuntu" + then + OS="ubuntu$(lsb_release -sr | sed 's/[.]//g')" + fi + KEYRINGVER='1.0-1' + PINFILE="cuda-${OS}.pin" + try "Downloading CUDA pin file" wget $WGETOPT http://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/${PINFILE} -O tmp.pinfile + try "Downloading CUDA pin file" wget $WGETOPT http://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-keyring_${KEYRINGVER}_all.deb -O tmp.keyring.deb + try "Installing CUDA dist" $SUDO dpkg -i tmp.keyring.deb + try "Planting pin file" $SUDO mv tmp.pinfile /etc/apt/preferences.d/cuda-repository-pin-600 try "Updating APT" $SUDO apt-get update -qq CUDA_APT=${CUDA%-*} CUDA_APT=${CUDA_APT/./-} From c00d49d9d480fd9574eaabfe6814113ae6336761 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 16:05:38 +1000 Subject: [PATCH 19/27] Correcting coverage export and cuda installation --- .github/actions/coverage/action.yaml | 7 +++++-- tools/install.sh | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml index 9ffea96d9..1379d1225 100644 --- a/.github/actions/coverage/action.yaml +++ b/.github/actions/coverage/action.yaml @@ -10,5 +10,8 @@ runs: - shell: bash run: | lcov --capture --directory . --output-file coverage.info - test -s coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info - test -s coverage.info && lcov --list coverage.info + if test -s coverage.info + then + lcov --remove coverage.info '/usr/*' --output-file coverage.info + lcov --list coverage.info + fi diff --git a/tools/install.sh b/tools/install.sh index a7b90769a..4a0db4db9 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -314,7 +314,7 @@ do try "Updating APT" $SUDO apt-get update -qq CUDA_APT=${CUDA%-*} CUDA_APT=${CUDA_APT/./-} - try "Installing CUDA form APT" $SUDO apt-get install -y cuda-drivers cuda-core-${CUDA_APT} cuda-cudart-dev-${CUDA_APT} + try "Installing CUDA form APT" $SUDO apt-get install -y cuda-${CUDA_APT} try "Clean APT" $SUDO apt-get clean ;; *) From 52b10b7e5e0d5103964d753a51f4616a1bf8882d Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 16:10:51 +1000 Subject: [PATCH 20/27] Changed CUDA version in test --- .github/workflows/gpu_comp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gpu_comp.yml b/.github/workflows/gpu_comp.yml index 5672abd48..6581af5dc 100644 --- a/.github/workflows/gpu_comp.yml +++ b/.github/workflows/gpu_comp.yml @@ -19,7 +19,7 @@ jobs: rdep: true openmpi: true rinside: true - cuda: 10.2 + cuda: 11.7 - uses: ./.github/actions/configure with: gpu: true From 4482fbdff5b2451e2d20df53fa7a4c59417f8920 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 16:38:15 +1000 Subject: [PATCH 21/27] Changed CUDA version in test --- tools/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 4a0db4db9..34c0427a7 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -314,7 +314,7 @@ do try "Updating APT" $SUDO apt-get update -qq CUDA_APT=${CUDA%-*} CUDA_APT=${CUDA_APT/./-} - try "Installing CUDA form APT" $SUDO apt-get install -y cuda-${CUDA_APT} + try "Installing CUDA form APT" $SUDO apt-get install -y cuda-compiler-${CUDA_APT} cuda-libraries-${CUDA_APT} cuda-libraries-dev-${CUDA_APT} try "Clean APT" $SUDO apt-get clean ;; *) From c4904cfca587560e5bb0074bb8afb5cab6bcc42e Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 16:54:22 +1000 Subject: [PATCH 22/27] Switching to external CUDA installer --- .github/workflows/gpu_comp.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/gpu_comp.yml b/.github/workflows/gpu_comp.yml index 6581af5dc..b86cb2b72 100644 --- a/.github/workflows/gpu_comp.yml +++ b/.github/workflows/gpu_comp.yml @@ -19,7 +19,8 @@ jobs: rdep: true openmpi: true rinside: true - cuda: 11.7 + - uses: Jimver/cuda-toolkit@v0.2.8 + id: cuda-install - uses: ./.github/actions/configure with: gpu: true From 8078672cd877920e2c9baaafae6d821d03b42cd4 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 16:57:51 +1000 Subject: [PATCH 23/27] Omitting codecov upload when empty report --- .github/actions/coverage/action.yaml | 3 +++ .github/workflows/cpu_test.yml | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml index 1379d1225..a6dde530d 100644 --- a/.github/actions/coverage/action.yaml +++ b/.github/actions/coverage/action.yaml @@ -14,4 +14,7 @@ runs: then lcov --remove coverage.info '/usr/*' --output-file coverage.info lcov --list coverage.info + echo "empty=true" >> $GITHUB_OUTPUT + else + echo "empty=false" >> $GITHUB_OUTPUT fi diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index 47e94bdf0..edf261049 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -34,7 +34,9 @@ jobs: with: model: ${{ matrix.model }} - uses: ./.github/actions/coverage + id: coverage - uses: codecov/codecov-action@v3 + if: steps.coverage.outputs.empty != 'true' with: files: coverage.info - flags: ${{ matrix.model }} \ No newline at end of file + flags: ${{ matrix.model }} From e91e43151818937e73c973cf31b2e011578a5788 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Wed, 9 Nov 2022 17:37:06 +1000 Subject: [PATCH 24/27] Omitting codecov upload when empty report --- .github/actions/coverage/action.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml index a6dde530d..cfde99f5b 100644 --- a/.github/actions/coverage/action.yaml +++ b/.github/actions/coverage/action.yaml @@ -1,13 +1,14 @@ -name: 'TCLB Test' -description: 'This action tests TCLB' -inputs: - model: - description: model to compile - default: 'd2q9' +name: 'TCLB Coverage' +description: 'This action gatheres coverage data for TCLB' +outputs: + empty: + description: "Is the report empty" + value: ${{ steps.gather.outputs.empty }} runs: using: 'composite' steps: - shell: bash + id: gather run: | lcov --capture --directory . --output-file coverage.info if test -s coverage.info From e051428957c48c9fa404f18f07a3707afa6e3be5 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Thu, 10 Nov 2022 09:54:26 +1000 Subject: [PATCH 25/27] Switching back to own CUDA installation --- .github/actions/install/action.yaml | 7 ++++++- .github/workflows/gpu_comp.yml | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/actions/install/action.yaml b/.github/actions/install/action.yaml index ec5c27ebc..c6a365741 100644 --- a/.github/actions/install/action.yaml +++ b/.github/actions/install/action.yaml @@ -66,7 +66,12 @@ runs: run: tools/install.sh --sudo rinside - if: inputs.cuda != 'false' shell: bash - run: tools/install.sh --sudo cuda ${{ inputs.cuda }} + run: | + tools/install.sh --sudo cuda ${{ inputs.cuda }} + CUDA_PATH=/usr/local/cuda-${{ inputs.cuda }} + echo "$CUDA_PATH/bin" >>$GITHUB_PATH + echo "LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH" >>$GITHUB_ENV + echo "CUDA_PATH=$CUDA_PATH" >>$GITHUB_OUTPUT - if: inputs.openmpi != 'false' shell: bash run: tools/install.sh --sudo openmpi diff --git a/.github/workflows/gpu_comp.yml b/.github/workflows/gpu_comp.yml index b86cb2b72..6581af5dc 100644 --- a/.github/workflows/gpu_comp.yml +++ b/.github/workflows/gpu_comp.yml @@ -19,8 +19,7 @@ jobs: rdep: true openmpi: true rinside: true - - uses: Jimver/cuda-toolkit@v0.2.8 - id: cuda-install + cuda: 11.7 - uses: ./.github/actions/configure with: gpu: true From cc826b5ebffa46f5eab08758b8d29a81aa80f67b Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Thu, 10 Nov 2022 09:56:41 +1000 Subject: [PATCH 26/27] Moving to a different variable setup for coverage reports --- .github/actions/coverage/action.yaml | 10 +++++----- .github/workflows/cpu_test.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/actions/coverage/action.yaml b/.github/actions/coverage/action.yaml index cfde99f5b..8d7fc3615 100644 --- a/.github/actions/coverage/action.yaml +++ b/.github/actions/coverage/action.yaml @@ -1,9 +1,9 @@ name: 'TCLB Coverage' description: 'This action gatheres coverage data for TCLB' outputs: - empty: - description: "Is the report empty" - value: ${{ steps.gather.outputs.empty }} + reports: + description: "Report files" + value: ${{ steps.gather.outputs.reports }} runs: using: 'composite' steps: @@ -15,7 +15,7 @@ runs: then lcov --remove coverage.info '/usr/*' --output-file coverage.info lcov --list coverage.info - echo "empty=true" >> $GITHUB_OUTPUT + echo "reports=coverage.info" >> $GITHUB_OUTPUT else - echo "empty=false" >> $GITHUB_OUTPUT + echo "reports=" >> $GITHUB_OUTPUT fi diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index edf261049..57398646f 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -36,7 +36,7 @@ jobs: - uses: ./.github/actions/coverage id: coverage - uses: codecov/codecov-action@v3 - if: steps.coverage.outputs.empty != 'true' + if: steps.coverage.outputs.reports != '' with: - files: coverage.info + files: ${{ steps.coverage.outputs.reports }} flags: ${{ matrix.model }} From b19c1da251d6399d29722ca20d2f9c5256f213b8 Mon Sep 17 00:00:00 2001 From: L Laniewski-Wollk Date: Thu, 10 Nov 2022 10:35:52 +1000 Subject: [PATCH 27/27] Nice names and badges --- .github/workflows/cpu_test.yml | 23 +++++++++++++++-------- .github/workflows/gpu_comp.yml | 14 +++++++++----- README.md | 6 ++++-- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cpu_test.yml b/.github/workflows/cpu_test.yml index 57398646f..f5b11310c 100644 --- a/.github/workflows/cpu_test.yml +++ b/.github/workflows/cpu_test.yml @@ -1,4 +1,4 @@ -name: Testing models +name: CPU on: [ push, pull_request ] @@ -10,10 +10,12 @@ jobs: matrix: model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] steps: - - uses: actions/checkout@v3 + - name: Git checkout + uses: actions/checkout@v3 with: submodules: true - - uses: ./.github/actions/install + - name: Install dependencies + uses: ./.github/actions/install with: r: true rdep: true @@ -21,21 +23,26 @@ jobs: python-dev: true rinside: true lcov: true - - uses: ./.github/actions/configure + - name: Configure + uses: ./.github/actions/configure with: gpu: false python: true paranoid: true coverage: true - - uses: ./.github/actions/compile + - name: Compile + uses: ./.github/actions/compile with: model: ${{ matrix.model }} - - uses: ./.github/actions/test + - name: Run tests + uses: ./.github/actions/test with: model: ${{ matrix.model }} - - uses: ./.github/actions/coverage + - name: Gather coverage data + uses: ./.github/actions/coverage id: coverage - - uses: codecov/codecov-action@v3 + - name: Send coverage data + uses: codecov/codecov-action@v3 if: steps.coverage.outputs.reports != '' with: files: ${{ steps.coverage.outputs.reports }} diff --git a/.github/workflows/gpu_comp.yml b/.github/workflows/gpu_comp.yml index 6581af5dc..173eb4394 100644 --- a/.github/workflows/gpu_comp.yml +++ b/.github/workflows/gpu_comp.yml @@ -1,4 +1,4 @@ -name: Testing models +name: GPU on: [ push, pull_request ] @@ -10,21 +10,25 @@ jobs: matrix: model: [d2q9_npe_guo, d2q9_bc, d2q9, d2q9_SRT, d2q9_thin_film, d3q19, d3q19_les, d3q19_heat, d2q9_kuper, d2q9_pf, d2q9_pf_fd, d3q27, d3q27_cumulant, d3q27_cumulant_AVG_IB_SMAG] steps: - - uses: actions/checkout@v3 + - name: Git checkout + uses: actions/checkout@v3 with: submodules: true - - uses: ./.github/actions/install + - name: Install dependencies + uses: ./.github/actions/install with: r: true rdep: true openmpi: true rinside: true cuda: 11.7 - - uses: ./.github/actions/configure + - name: Configure + uses: ./.github/actions/configure with: gpu: true cuda_arch: sm_60 paranoid: true - - uses: ./.github/actions/compile + - name: Compile + uses: ./.github/actions/compile with: model: ${{ matrix.model }} diff --git a/README.md b/README.md index 6a343bce9..6952b1f39 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,10 @@ TCLB Solver [![ZENADO DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3550331.s TCLB is a MPI+CUDA or MPI+CPU high-performance Computational Fluid Dynamics simulation code, based on the Lattice Boltzmann Method. It provides a clear interface for calculation of complex physics, and the implementation of new models. -- Stable release [(`master` branch)](https://github.com/CFD-GO/TCLB/tree/master):
[![Build Status](https://travis-ci.org/CFD-GO/TCLB.svg?branch=master)](https://travis-ci.org/CFD-GO/TCLB) [![codecov](https://codecov.io/gh/CFD-GO/TCLB/branch/master/graph/badge.svg)](https://codecov.io/gh/CFD-GO/TCLB) [![documentation](https://raw.githubusercontent.com/CFD-GO/documents/master/assets/documentation.svg?sanitize=true)](https://docs.tclb.io/) -- Current release [(`develop` branch)](https://github.com/CFD-GO/TCLB/tree/develop):
[![Build Status](https://travis-ci.org/CFD-GO/TCLB.svg?branch=develop)](https://travis-ci.org/CFD-GO/TCLB) [![codecov](https://codecov.io/gh/CFD-GO/TCLB/branch/develop/graph/badge.svg)](https://codecov.io/gh/CFD-GO/TCLB) [![documentation](https://raw.githubusercontent.com/CFD-GO/documents/master/assets/documentation.svg?sanitize=true)](https://develop.docs.tclb.io/) +- Stable release [(`master` branch)](https://github.com/CFD-GO/TCLB/tree/master):
[![CPU build status](https://github.com/CFD-GO/TCLB/actions/workflows/cpu_test.yml/badge.svg?branch=master)](https://github.com/CFD-GO/TCLB/actions/workflows/cpu_test.yml) [![GPU build status](https://github.com/CFD-GO/TCLB/actions/workflows/gpu_comp.yml/badge.svg?branch=master)](https://github.com/CFD-GO/TCLB/actions/workflows/gpu_comp.yml) [![codecov](https://codecov.io/gh/CFD-GO/TCLB/branch/master/graph/badge.svg)](https://codecov.io/gh/CFD-GO/TCLB) [![documentation](https://raw.githubusercontent.com/CFD-GO/documents/master/assets/documentation.svg?sanitize=true)](https://docs.tclb.io/) + + +- Current release [(`develop` branch)](https://github.com/CFD-GO/TCLB/tree/develop):
[![CPU build status](https://github.com/CFD-GO/TCLB/actions/workflows/cpu_test.yml/badge.svg?branch=develop)](https://github.com/CFD-GO/TCLB/actions/workflows/cpu_test.yml) [![GPU build status](https://github.com/CFD-GO/TCLB/actions/workflows/gpu_comp.yml/badge.svg?branch=develop)](https://github.com/CFD-GO/TCLB/actions/workflows/gpu_comp.yml) [![codecov](https://codecov.io/gh/CFD-GO/TCLB/branch/develop/graph/badge.svg)](https://codecov.io/gh/CFD-GO/TCLB) [![documentation](https://raw.githubusercontent.com/CFD-GO/documents/master/assets/documentation.svg?sanitize=true)](https://develop.docs.tclb.io/) ## How to use it