diff --git a/.github/workflows/linux-intel.yml b/.github/workflows/linux-intel.yml new file mode 100644 index 00000000..707eecdd --- /dev/null +++ b/.github/workflows/linux-intel.yml @@ -0,0 +1,83 @@ +name: EBGeometry Linux-Intel + +on: + pull_request: + types: [push, opened, synchronize, reopened, ready_for_review] + +concurrency: + group: ${{ github.ref }}-${{ github.head_ref }}-linux-intel + 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 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 -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 + + + 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 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). 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;