From f9fe78ba7a91f2789aa410dc73dc3f0c3cdb4168 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:42:18 +0200 Subject: [PATCH 1/5] macos checks --- .github/workflows/build.yml | 6 +++++- 03_01_data_oriented_design/CMakeLists.txt | 4 ++-- CMakeLists.txt | 11 +++++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6e72db..96d0eef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-latest] + os: [windows-latest, ubuntu-latest, macos-latest] c_compiler: [gcc, clang, cl] build_type: [Debug, Release] cxx_standard: ["20"] @@ -37,6 +37,10 @@ jobs: c_compiler: clang - os: ubuntu-latest c_compiler: cl + - os: macos-latest + c_compiler: gcc + - os: macos-latest + c_compiler: cl name: ${{ matrix.c_compiler }} - ${{ matrix.build_type }} - ${{ matrix.os }} - c++${{ matrix.cxx_standard }} diff --git a/03_01_data_oriented_design/CMakeLists.txt b/03_01_data_oriented_design/CMakeLists.txt index bbf8472..0bbcdce 100644 --- a/03_01_data_oriented_design/CMakeLists.txt +++ b/03_01_data_oriented_design/CMakeLists.txt @@ -1,6 +1,6 @@ if (${CPP_COURSE_BUILD_SLIDES}) add_marp_slides(03_01_data_oriented_design data_oriented_design.md) - add_marp_slides(03_01_data_oriented_design data_oriented_tips.md) + add_marp_slides(03_01_data_oriented_design_tips data_oriented_tips.md) endif() @@ -21,4 +21,4 @@ add_executable(03_01_cache_false_sharing code/cache_false_sharing.cpp ) -add_subdirectory(code/nbody) \ No newline at end of file +add_subdirectory(code/nbody) diff --git a/CMakeLists.txt b/CMakeLists.txt index b17a661..da76782 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.25) +cmake_minimum_required(VERSION 3.24) project(cpp_course_2023 CXX) @@ -28,8 +28,11 @@ endif() include(CTest) -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CPP_COURSE_AVX_OPTION "-march=core-avx2") +if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") + set(CPP_COURSE_AVX_OPTION "-march=native") + set(CPP_COURSE_MATH_NO_ERRNO_OPTION "-fno-math-errno") +elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CPP_COURSE_AVX_OPTION "-march=core-avx2") set(CPP_COURSE_MATH_NO_ERRNO_OPTION "-fno-math-errno") elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") set(CPP_COURSE_AVX_OPTION "-march=core-avx2") @@ -38,7 +41,7 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") set(CPP_COURSE_AVX_OPTION "-march=core-avx2") set(CPP_COURSE_MATH_NO_ERRNO_OPTION "") elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC") - set(CPP_COURSE_AVX_OPTION "/arch:AVX2") + set(CPP_COURSE_AVX_OPTION "/arch:AVX2") set(CPP_COURSE_MATH_NO_ERRNO_OPTION "") endif() From 24bdff7f3be9fc92002e12588215a11f94e7a00e Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:59:24 +0200 Subject: [PATCH 2/5] try macos-13 (beta) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 96d0eef..500ba2b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-latest] + os: [windows-latest, ubuntu-latest, macos-13] c_compiler: [gcc, clang, cl] build_type: [Debug, Release] cxx_standard: ["20"] From a87c65c098f65db79259eccbb76ee74b02266ce2 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:07:03 +0200 Subject: [PATCH 3/5] conditional --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 500ba2b..3dc5411 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-13] + os: [windows-latest, ubuntu-latest, macos-latest] c_compiler: [gcc, clang, cl] build_type: [Debug, Release] cxx_standard: ["20"] @@ -51,6 +51,7 @@ jobs: - uses: seanmiddleditch/gha-setup-ninja@v3 - uses: seanmiddleditch/gha-setup-vsdevenv@master - name: Install LLVM and Clang + if: ${{ matrix.os != macos-latest }} uses: KyleMayes/install-llvm-action@v1 with: version: "16.0" From 2038c25359baeb491dc12b3540fd81f96289d5ac Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:08:49 +0200 Subject: [PATCH 4/5] conditional --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3dc5411..7c74788 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: - uses: seanmiddleditch/gha-setup-ninja@v3 - uses: seanmiddleditch/gha-setup-vsdevenv@master - name: Install LLVM and Clang - if: ${{ matrix.os != macos-latest }} + if: ${{ matrix.os != 'macos-latest' }} uses: KyleMayes/install-llvm-action@v1 with: version: "16.0" From 4ecdf6af20fcc37cf58428c4bd1e8a9aa78d940a Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:10:17 +0200 Subject: [PATCH 5/5] conditional --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7c74788..4a1e488 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,6 +55,11 @@ jobs: uses: KyleMayes/install-llvm-action@v1 with: version: "16.0" + - name: Install LLVM and Clang + if: ${{ matrix.os == 'macos-latest' }} + uses: KyleMayes/install-llvm-action@v1 + with: + version: "15.0" - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build