diff --git a/.github/workflows/build-ibm.yml b/.github/workflows/build-ibm.yml index 978a6987d..e896b8701 100644 --- a/.github/workflows/build-ibm.yml +++ b/.github/workflows/build-ibm.yml @@ -43,9 +43,9 @@ env: LLAMA_ARG_LOG_TIMESTAMPS: 1 jobs: - ubuntu-24-s390x: - name: ubuntu-24-s390x (VXE ${{ matrix.vxe }}) - runs-on: ubuntu-24.04-s390x + ubuntu-26-s390x: + name: ubuntu-26-s390x (VXE ${{ matrix.vxe }}) + runs-on: ubuntu-26.04-s390x strategy: fail-fast: false @@ -66,12 +66,6 @@ jobs: libjpeg-dev build-essential libssl-dev \ git-lfs - - name: Toolchain workaround (GCC 14) - run: | - sudo apt-get install -y gcc-14 g++-14 - echo "CC=gcc-14" >> "$GITHUB_ENV" - echo "CXX=g++-14" >> "$GITHUB_ENV" - - name: Python Dependencies id: python_depends run: | @@ -116,30 +110,19 @@ jobs: ubuntu-26-zdnn-s390x: name: ubuntu-26-zdnn-s390x - runs-on: ubuntu-24.04-s390x - container: ubuntu:26.04 # required to get GCC 15.1 and binutils 2.44 - defaults: - run: - shell: bash + runs-on: ubuntu-26.04-s390x steps: - - name: Build Dependencies - id: build_depends - run: | - apt-get update - apt-get install -y --no-install-recommends \ - build-essential cmake git ca-certificates \ - libssl-dev libzdnn-dev - - name: Clone id: checkout uses: actions/checkout@v6 - - name: Toolchain workaround (GCC 15) + - name: Build Dependencies + id: build_depends run: | - apt-get install -y gcc-15 g++-15 - echo "CC=gcc-15" >> "$GITHUB_ENV" - echo "CXX=g++-15" >> "$GITHUB_ENV" + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + build-essential libssl-dev libzdnn-dev - name: Build with zDNN Backend id: cmake_build diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 39b6753a1..243b870e6 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -172,6 +172,8 @@ jobs: - [Ubuntu x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.tar.gz) - [Ubuntu arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-arm64.tar.gz) - [Ubuntu s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz) + - [Ubuntu 26.04 s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-26.04-s390x.tar.gz) + - [Ubuntu 26.04 s390x (zDNN)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-zdnn-s390x.tar.gz) - [Ubuntu x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz) - [Ubuntu arm64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-arm64.tar.gz) - [Ubuntu x64 (CUDA 12)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-cuda-12.8-x64.tar.gz) - [CUDA 12.8 libraries](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/cudart-llama-${{ steps.tag.outputs.name }}-bin-ubuntu-cuda-12.8-x64.tar.gz) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a9ec918fd..acda37fb9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -180,6 +180,8 @@ jobs: os: ubuntu-24.04-arm - build: 's390x' os: ubuntu-24.04-s390x + - build: '26.04-s390x' + os: ubuntu-26.04-s390x runs-on: ${{ matrix.os }} @@ -200,7 +202,7 @@ jobs: id: depends run: | sudo apt-get update - sudo apt-get install build-essential libssl-dev + sudo apt-get install -y build-essential libssl-dev - name: Toolchain workaround (GCC 14) if: ${{ contains(matrix.os, 'ubuntu-24.04') }} @@ -210,7 +212,7 @@ jobs: echo "CXX=g++-14" >> "$GITHUB_ENV" - name: ccache - if: ${{ matrix.build != 's390x' }} + if: ${{ !contains(matrix.os, 's390x') }} uses: ggml-org/ccache-action@v1.2.24 with: key: release-${{ matrix.os }}-cpu @@ -242,7 +244,7 @@ jobs: archive: false - name: ccache-clear - if: ${{ matrix.build != 's390x' }} + if: ${{ !contains(matrix.os, 's390x') }} uses: ./.github/actions/ccache-clear with: key: release-${{ matrix.os }}-cpu @@ -1626,6 +1628,60 @@ jobs: with: key: release-ubuntu-24.04-rocm-${{ matrix.ROCM_VERSION }}-${{ matrix.build }} + ubuntu-26-zdnn: + needs: [check-release, ui-build] + if: ${{ needs.check-release.outputs.should_release == 'true' }} + + runs-on: ubuntu-26.04-s390x + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Download UI build + uses: actions/download-artifact@v8 + with: + name: llama-ui.zip + path: tools/ui/dist + + - name: Dependencies + id: depends + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + build-essential libssl-dev libzdnn-dev + + - name: Build + id: cmake_build + run: | + cmake -B build \ + -DCMAKE_INSTALL_RPATH='$ORIGIN' \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ + -DGGML_BACKEND_DL=ON \ + -DGGML_NATIVE=OFF \ + -DGGML_VXE=ON \ + -DGGML_ZDNN=ON \ + -DCMAKE_C_FLAGS="-march=arch15" \ + -DCMAKE_CXX_FLAGS="-march=arch15" \ + -DLLAMA_FATAL_WARNINGS=ON \ + ${{ env.CMAKE_ARGS }} + cmake --build build --config Release -j $(nproc) + + - name: Pack artifacts + id: pack_artifacts + run: | + cp LICENSE ./build/bin/ + tar -czvf llama-${{ needs.check-release.outputs.tag_name }}-bin-ubuntu-zdnn-s390x.tar.gz --transform "s,^\.,llama-${{ needs.check-release.outputs.tag_name }}," -C ./build/bin . + + - name: Upload artifacts + uses: actions/upload-artifact@v7 + with: + path: llama-${{ needs.check-release.outputs.tag_name }}-bin-ubuntu-zdnn-s390x.tar.gz + archive: false + ios-xcode: needs: [check-release] if: ${{ needs.check-release.outputs.should_release == 'true' }}