From a62aeb2c036e3ec8aa6409d70ee3418dd564bb3e Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:13:42 +0200 Subject: [PATCH 1/9] Start adding Intel CI --- .github/workflows/linux-intel.yml | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/linux-intel.yml diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml new file mode 100644 index 00000000..c034eb64 --- /dev/null +++ b/.github/workflows/linux-intel.yml @@ -0,0 +1,44 @@ +name: EBGeometry Linux-GNU + +on: + pull_request: + types: [push, opened, synchronize, reopened, ready_for_review] + +concurrency: + group: ${{ github.ref }}-${{ github.head_ref }}-linux-gcc + cancel-in-progress: true + +jobs: + Intel-OPT: + if: github.event.pull_request.draft == false + name: Linux-Intel opt + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout EBGeometry + uses: actions/checkout@v2 + + - name: Install Intel compilers/MPI + working-directory: /tmp + run: | + wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB + sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB + sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" + sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-mkl intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-openmp + + - name: Setup compilers + run: | + source /opt/intel/oneapi/setvars.sh + + - name: DCEL example + working-directory: Examples/EBGeometry_DCEL + run: | + icpc -std=c++14 -w -O3 main.cpp + ./a.out porsche.ply + + - name: Union example + working-directory: Examples/EBGeometry_Union + run: | + icpc -std=c++14 -w -O3 main.cpp + ./a.out From c3ff33bcac768193bfc0ef4b657ae4b90052830a Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:14:44 +0200 Subject: [PATCH 2/9] Wrong name --- .github/workflows/linux-intel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index c034eb64..f70bd882 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -1,4 +1,4 @@ -name: EBGeometry Linux-GNU +name: EBGeometry Linux-Intel on: pull_request: From 8004a6da1521e05fe6ec4a8bd7da6e3f8473b6d7 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:19:24 +0200 Subject: [PATCH 3/9] Try again --- .github/workflows/linux-intel.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index f70bd882..84fdf463 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -25,20 +25,19 @@ jobs: wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" - sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-mkl intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-openmp + sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic - - name: Setup compilers - run: | - source /opt/intel/oneapi/setvars.sh - name: DCEL example working-directory: Examples/EBGeometry_DCEL run: | + source /opt/intel/oneapi/setvars.sh icpc -std=c++14 -w -O3 main.cpp ./a.out porsche.ply - name: Union example working-directory: Examples/EBGeometry_Union run: | + source /opt/intel/oneapi/setvars.sh icpc -std=c++14 -w -O3 main.cpp ./a.out From 3dbd8988877fbf876e313919466df731a2a4cee9 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:21:45 +0200 Subject: [PATCH 4/9] Try again --- .github/workflows/linux-intel.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index 84fdf463..b4e0efff 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -26,7 +26,6 @@ jobs: sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic - - name: DCEL example working-directory: Examples/EBGeometry_DCEL From cd60021dda4612a30604f63144b2551003e62c6f Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:28:58 +0200 Subject: [PATCH 5/9] Bug fix --- Source/EBGeometry_DcelBVH.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/EBGeometry_DcelBVH.hpp b/Source/EBGeometry_DcelBVH.hpp index 9274e801..a722edb7 100644 --- a/Source/EBGeometry_DcelBVH.hpp +++ b/Source/EBGeometry_DcelBVH.hpp @@ -209,7 +209,7 @@ namespace Dcel { // The centroid-based partitioner can end up with no primitives in one of the leaves (a rare case). Use a different partitioner in // that case. if(!(EBGeometry::Dcel::validChunks(chunks))) { - chunks = EBGeometry::Dcel::chunkPartitioner(a_primitives); + chunks = EBGeometry::Dcel::chunkPartitioner(a_primitives); } return chunks; From 83c302d9d4fe7891bf65d9d0df09e4cc0eb66210 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:34:59 +0200 Subject: [PATCH 6/9] Another bug --- Source/EBGeometry_BoundingVolumes.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/EBGeometry_BoundingVolumes.hpp b/Source/EBGeometry_BoundingVolumes.hpp index fd7d7425..394b4e8e 100644 --- a/Source/EBGeometry_BoundingVolumes.hpp +++ b/Source/EBGeometry_BoundingVolumes.hpp @@ -87,7 +87,7 @@ namespace BoundingVolumes { @brief Copy assignment operator @param[in] a_other Other sphere */ - BoundingSphereT operator=(const BoundingSphereT& a_other) = default; + BoundingSphereT& operator=(const BoundingSphereT& a_other) = default; /*! @brief Template define function which takes a set of 3D points (mixed precision allowed). From 8bea7d9b23cd0734aa5d330da3b2f8842fd0f752 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:38:55 +0200 Subject: [PATCH 7/9] Go again --- .github/workflows/linux-intel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index b4e0efff..f7d94bd8 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -5,7 +5,7 @@ on: types: [push, opened, synchronize, reopened, ready_for_review] concurrency: - group: ${{ github.ref }}-${{ github.head_ref }}-linux-gcc + group: ${{ github.ref }}-${{ github.head_ref }}-linux-intel cancel-in-progress: true jobs: From e7335733a6f0e13e1cb4b4a9ed3ca674f5309f31 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:45:03 +0200 Subject: [PATCH 8/9] Add debug build --- .github/workflows/linux-intel.yml | 45 +++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index f7d94bd8..17acc246 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -19,7 +19,7 @@ jobs: - name: Checkout EBGeometry uses: actions/checkout@v2 - - name: Install Intel compilers/MPI + - name: Install Intel oneAPI working-directory: /tmp run: | wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB @@ -39,4 +39,45 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh icpc -std=c++14 -w -O3 main.cpp - ./a.out + ./a.out + + + Intel-DEBUG: + if: github.event.pull_request.draft == false + name: Linux-Intel debug + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout EBGeometry + uses: actions/checkout@v2 + + - name: Install Intel oneAPI + working-directory: /tmp + run: | + wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB + sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB + sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" + sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic + + - name: DCEL example + working-directory: Examples/EBGeometry_DCEL + run: | + source /opt/intel/oneapi/setvars.sh + icpc -std=c++14 -O0 + -Wall -Warray-bounds -Wchar-subscripts -Wcomment -Wenum-compare -Wformat -Wuninitialized -Wmaybe-uninitialized -Wmain -Wnarrowing -Wnonnull \ + -Wparentheses -Wpointer-sign -Wreorder -Wreturn-type -Wsign-compare -Wsequence-point -Wtrigraphs -Wunused-function -Wunused-but-set-variable \ + -Wunused-variable -Wwrite-strings -Werror \ + main.cpp + ./a.out porsche.ply + + - name: Union example + working-directory: Examples/EBGeometry_Union + run: | + source /opt/intel/oneapi/setvars.sh + icpc -std=c++14 -O0 + -Wall -Warray-bounds -Wchar-subscripts -Wcomment -Wenum-compare -Wformat -Wuninitialized -Wmaybe-uninitialized -Wmain -Wnarrowing -Wnonnull \ + -Wparentheses -Wpointer-sign -Wreorder -Wreturn-type -Wsign-compare -Wsequence-point -Wtrigraphs -Wunused-function -Wunused-but-set-variable \ + -Wunused-variable -Wwrite-strings -Werror \ + main.cpp + ./a.out From 1042d7ee1b70b681f8c1f40fdf76e68bd10cfa10 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Fri, 22 Apr 2022 08:51:01 +0200 Subject: [PATCH 9/9] ... --- .github/workflows/linux-intel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml index 17acc246..707eecdd 100644 --- a/.github/workflows/linux-intel.yml +++ b/.github/workflows/linux-intel.yml @@ -64,7 +64,7 @@ jobs: working-directory: Examples/EBGeometry_DCEL run: | source /opt/intel/oneapi/setvars.sh - icpc -std=c++14 -O0 + icpc -std=c++14 -O0 \ -Wall -Warray-bounds -Wchar-subscripts -Wcomment -Wenum-compare -Wformat -Wuninitialized -Wmaybe-uninitialized -Wmain -Wnarrowing -Wnonnull \ -Wparentheses -Wpointer-sign -Wreorder -Wreturn-type -Wsign-compare -Wsequence-point -Wtrigraphs -Wunused-function -Wunused-but-set-variable \ -Wunused-variable -Wwrite-strings -Werror \ @@ -75,7 +75,7 @@ jobs: working-directory: Examples/EBGeometry_Union run: | source /opt/intel/oneapi/setvars.sh - icpc -std=c++14 -O0 + icpc -std=c++14 -O0 \ -Wall -Warray-bounds -Wchar-subscripts -Wcomment -Wenum-compare -Wformat -Wuninitialized -Wmaybe-uninitialized -Wmain -Wnarrowing -Wnonnull \ -Wparentheses -Wpointer-sign -Wreorder -Wreturn-type -Wsign-compare -Wsequence-point -Wtrigraphs -Wunused-function -Wunused-but-set-variable \ -Wunused-variable -Wwrite-strings -Werror \