From 537ff64a618628d86ab889e541af37be04d0140d Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Fri, 22 Sep 2023 22:19:31 +0000 Subject: [PATCH 01/11] mac and linux threads --- .github/workflows/build.yml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aecebaf936b23..651a1e9581b54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,10 @@ env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} GGML_NLOOP: 3 GGML_N_THREADS: 1 - + LINHOST_THR: 2 + MACHOST_THR: 3 + WINHOST_THR: 2 + jobs: ubuntu-focal-make: runs-on: ubuntu-20.04 @@ -38,13 +41,13 @@ jobs: - name: Build id: make_build run: | - CC=gcc-8 make + CC=gcc-8 make -j${LINHOST_THR} - name: Test id: make_test run: | - CC=gcc-8 make tests - make test + CC=gcc-8 make tests -j${LINHOST_THR} + make test -j${LINHOST_THR} ubuntu-latest-cmake: runs-on: ubuntu-latest @@ -66,7 +69,7 @@ jobs: mkdir build cd build cmake .. - cmake --build . --config Release + cmake --build . --config Release -j${LINHOST_THR} - name: Test id: cmake_test @@ -101,7 +104,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - cmake --build . --config ${{ matrix.build_type }} + cmake --build . --config ${{ matrix.build_type }} -j${LINHOST_THR} - name: Test id: cmake_test @@ -135,7 +138,7 @@ jobs: mkdir build cd build cmake -DLLAMA_MPI=ON .. - cmake --build . --config Release + cmake --build . --config Release -j${LINHOST_THR} - name: Test id: cmake_test @@ -160,13 +163,13 @@ jobs: - name: Build id: make_build run: | - make + make -j${MACHOST_THR} - name: Test id: make_test run: | - make tests - make test + make tests -j${MACHOST_THR} + make test -j${MACHOST_THR} macOS-latest-cmake: runs-on: macos-latest @@ -189,7 +192,7 @@ jobs: mkdir build cd build cmake -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF .. - cmake --build . --config Release + cmake --build . --config Release -j${MACHOST_THR} - name: Test id: cmake_test @@ -223,7 +226,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=iOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release + cmake --build . --config Release -j${MACHOST_THR} macOS-latest-cmake-tvos: runs-on: macos-latest @@ -251,7 +254,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=tvOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release + cmake --build . --config Release -j${MACHOST_THR} windows-latest-cmake: runs-on: windows-latest From b38e1dc03c177ded6457b4189caaf36cf3fa6431 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Fri, 22 Sep 2023 22:58:11 +0000 Subject: [PATCH 02/11] windows --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 651a1e9581b54..ebe57f584ba54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -327,7 +327,7 @@ jobs: mkdir build cd build cmake .. ${{ matrix.defines }} - cmake --build . --config Release + cmake --build . --config Release -j${env:WINHOST_THR} - name: Add clblast.dll id: add_clblast_dll @@ -418,7 +418,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON - cmake --build . --config Release + cmake --build . --config Release -j${env:WINHOST_THR} - name: Determine tag name id: tag From ad1e2a7d6db401b1eba25ba8952597f2d40a9f64 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:02:44 +0000 Subject: [PATCH 03/11] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ebe57f584ba54..5ee26898d0eed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -327,7 +327,7 @@ jobs: mkdir build cd build cmake .. ${{ matrix.defines }} - cmake --build . --config Release -j${env:WINHOST_THR} + cmake --build . --config Release -j$env:WINHOST_THR - name: Add clblast.dll id: add_clblast_dll @@ -418,7 +418,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON - cmake --build . --config Release -j${env:WINHOST_THR} + cmake --build . --config Release -j$env:WINHOST_THR - name: Determine tag name id: tag From 55eb46b966fd81081ee78039f859daef1a92e887 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:08:24 +0000 Subject: [PATCH 04/11] Update build.yml --- .github/workflows/build.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5ee26898d0eed..7763748b42edc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,13 +41,13 @@ jobs: - name: Build id: make_build run: | - CC=gcc-8 make -j${LINHOST_THR} + CC=gcc-8 make -j ${LINHOST_THR} - name: Test id: make_test run: | - CC=gcc-8 make tests -j${LINHOST_THR} - make test -j${LINHOST_THR} + CC=gcc-8 make tests -j ${LINHOST_THR} + make test -j ${LINHOST_THR} ubuntu-latest-cmake: runs-on: ubuntu-latest @@ -69,7 +69,7 @@ jobs: mkdir build cd build cmake .. - cmake --build . --config Release -j${LINHOST_THR} + cmake --build . --config Release -j ${LINHOST_THR} - name: Test id: cmake_test @@ -104,7 +104,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - cmake --build . --config ${{ matrix.build_type }} -j${LINHOST_THR} + cmake --build . --config ${{ matrix.build_type }} -j ${LINHOST_THR} - name: Test id: cmake_test @@ -138,7 +138,7 @@ jobs: mkdir build cd build cmake -DLLAMA_MPI=ON .. - cmake --build . --config Release -j${LINHOST_THR} + cmake --build . --config Release -j ${LINHOST_THR} - name: Test id: cmake_test @@ -163,13 +163,13 @@ jobs: - name: Build id: make_build run: | - make -j${MACHOST_THR} + make -j ${MACHOST_THR} - name: Test id: make_test run: | - make tests -j${MACHOST_THR} - make test -j${MACHOST_THR} + make tests -j ${MACHOST_THR} + make test -j ${MACHOST_THR} macOS-latest-cmake: runs-on: macos-latest @@ -192,7 +192,7 @@ jobs: mkdir build cd build cmake -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF .. - cmake --build . --config Release -j${MACHOST_THR} + cmake --build . --config Release -j ${MACHOST_THR} - name: Test id: cmake_test @@ -226,7 +226,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=iOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release -j${MACHOST_THR} + cmake --build . --config Release -j ${MACHOST_THR} macOS-latest-cmake-tvos: runs-on: macos-latest @@ -254,7 +254,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=tvOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release -j${MACHOST_THR} + cmake --build . --config Release -j ${MACHOST_THR} windows-latest-cmake: runs-on: windows-latest @@ -327,7 +327,7 @@ jobs: mkdir build cd build cmake .. ${{ matrix.defines }} - cmake --build . --config Release -j$env:WINHOST_THR + cmake --build . --config Release -j ${env:WINHOST_THR} - name: Add clblast.dll id: add_clblast_dll @@ -418,7 +418,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON - cmake --build . --config Release -j$env:WINHOST_THR + cmake --build . --config Release -j ${env:WINHOST_THR} - name: Determine tag name id: tag From 25f4e523f1b1aeb3bd9c40407a61a2a5c0b39d8a Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 00:17:18 +0000 Subject: [PATCH 05/11] Update build.yml --- .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 7763748b42edc..249c139a2d17f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ env: LINHOST_THR: 2 MACHOST_THR: 3 WINHOST_THR: 2 - + jobs: ubuntu-focal-make: runs-on: ubuntu-20.04 From 1e2fec124959e3912a789c2664586c6dc1baf220 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 03:37:52 +0000 Subject: [PATCH 06/11] automatically get thread count --- .github/workflows/build.yml | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 249c139a2d17f..c46733ec0ec10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,9 +19,6 @@ env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} GGML_NLOOP: 3 GGML_N_THREADS: 1 - LINHOST_THR: 2 - MACHOST_THR: 3 - WINHOST_THR: 2 jobs: ubuntu-focal-make: @@ -41,13 +38,13 @@ jobs: - name: Build id: make_build run: | - CC=gcc-8 make -j ${LINHOST_THR} + CC=gcc-8 make -j $(nproc) - name: Test id: make_test run: | - CC=gcc-8 make tests -j ${LINHOST_THR} - make test -j ${LINHOST_THR} + CC=gcc-8 make tests -j $(nproc) + make test -j $(nproc) ubuntu-latest-cmake: runs-on: ubuntu-latest @@ -69,7 +66,7 @@ jobs: mkdir build cd build cmake .. - cmake --build . --config Release -j ${LINHOST_THR} + cmake --build . --config Release -j $(nproc) - name: Test id: cmake_test @@ -104,7 +101,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - cmake --build . --config ${{ matrix.build_type }} -j ${LINHOST_THR} + cmake --build . --config ${{ matrix.build_type }} -j $(nproc) - name: Test id: cmake_test @@ -138,7 +135,7 @@ jobs: mkdir build cd build cmake -DLLAMA_MPI=ON .. - cmake --build . --config Release -j ${LINHOST_THR} + cmake --build . --config Release -j $(nproc) - name: Test id: cmake_test @@ -163,13 +160,13 @@ jobs: - name: Build id: make_build run: | - make -j ${MACHOST_THR} + make -j $(sysctl -n hw.logicalcpu) - name: Test id: make_test run: | - make tests -j ${MACHOST_THR} - make test -j ${MACHOST_THR} + make tests -j $(sysctl -n hw.logicalcpu) + make test -j $(sysctl -n hw.logicalcpu) macOS-latest-cmake: runs-on: macos-latest @@ -192,7 +189,7 @@ jobs: mkdir build cd build cmake -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF .. - cmake --build . --config Release -j ${MACHOST_THR} + cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) - name: Test id: cmake_test @@ -226,7 +223,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=iOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release -j ${MACHOST_THR} + cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) macOS-latest-cmake-tvos: runs-on: macos-latest @@ -254,7 +251,7 @@ jobs: -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_SYSTEM_NAME=tvOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 - cmake --build . --config Release -j ${MACHOST_THR} + cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) windows-latest-cmake: runs-on: windows-latest @@ -327,7 +324,7 @@ jobs: mkdir build cd build cmake .. ${{ matrix.defines }} - cmake --build . --config Release -j ${env:WINHOST_THR} + cmake --build . --config Release -j %NUMBER_OF_PROCESSORS% - name: Add clblast.dll id: add_clblast_dll @@ -418,7 +415,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON - cmake --build . --config Release -j ${env:WINHOST_THR} + cmake --build . --config Release -j %NUMBER_OF_PROCESSORS% - name: Determine tag name id: tag From 05c5adaadce3cf33ad754258ff565d0d6d87f0fe Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 03:45:44 +0000 Subject: [PATCH 07/11] windows syntax --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c46733ec0ec10..ab74a533e9a10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -324,7 +324,7 @@ jobs: mkdir build cd build cmake .. ${{ matrix.defines }} - cmake --build . --config Release -j %NUMBER_OF_PROCESSORS% + cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS} - name: Add clblast.dll id: add_clblast_dll @@ -415,7 +415,7 @@ jobs: mkdir build cd build cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON - cmake --build . --config Release -j %NUMBER_OF_PROCESSORS% + cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS} - name: Determine tag name id: tag From 49135068969338efd3d9597993be929707dc6434 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:19:02 +0000 Subject: [PATCH 08/11] try to fix freebsd --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ab74a533e9a10..346aaf3425701 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -468,11 +468,11 @@ jobs: with: operating_system: freebsd version: '13.2' - hypervisor: 'qemu' + hypervisor: 'xhyve' run: | sudo pkg update sudo pkg install -y gmake automake autoconf pkgconf llvm15 clinfo clover opencl clblast openblas - gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 + gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 -j $(sysctl -n hw.ncpu) release: if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} From 45b4697376199170bc898e8cae28b64f7e682d15 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:27:31 +0000 Subject: [PATCH 09/11] Update build.yml --- .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 346aaf3425701..646859d09a487 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -472,7 +472,7 @@ jobs: run: | sudo pkg update sudo pkg install -y gmake automake autoconf pkgconf llvm15 clinfo clover opencl clblast openblas - gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 -j $(sysctl -n hw.ncpu) + gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 -j `sysctl -n hw.ncpu` release: if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} From a2c43f8aa2bf56837a6992a9bd654669bccc691f Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:36:16 +0000 Subject: [PATCH 10/11] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 646859d09a487..725de4e02cbe7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -458,7 +458,7 @@ jobs: cudart-llama-bin-win-cu${{ matrix.cuda }}-x64.zip freeBSD-latest: - runs-on: macos-12 + runs-on: ubuntu-latest steps: - name: Clone uses: actions/checkout@v3 @@ -468,7 +468,7 @@ jobs: with: operating_system: freebsd version: '13.2' - hypervisor: 'xhyve' + hypervisor: 'qemu' run: | sudo pkg update sudo pkg install -y gmake automake autoconf pkgconf llvm15 clinfo clover opencl clblast openblas From 5fe3594e700ad938b063bab3968458ef4f38c3ab Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Thu, 28 Sep 2023 19:24:43 +0000 Subject: [PATCH 11/11] Update build.yml --- .github/workflows/build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb712b9fa28b5..2fb101d789a08 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -457,6 +457,23 @@ jobs: path: | cudart-llama-bin-win-cu${{ matrix.cuda }}-x64.zip +# freeBSD-latest: +# runs-on: macos-12 +# steps: +# - name: Clone +# uses: actions/checkout@v3 +# +# - name: Build +# uses: cross-platform-actions/action@v0.19.0 +# with: +# operating_system: freebsd +# version: '13.2' +# hypervisor: 'qemu' +# run: | +# sudo pkg update +# sudo pkg install -y gmake automake autoconf pkgconf llvm15 clinfo clover opencl clblast openblas +# gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 -j `sysctl -n hw.ncpu` + release: if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}