From 39fd89308c0bbe26311db583cf9729f81ffa9a94 Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Thu, 30 Jan 2025 13:17:17 -0800 Subject: [PATCH] build: set CFLAGS=-O3 specifically for cpu.go --- .github/workflows/release.yaml | 12 ++++++++++-- ml/backend/ggml/ggml/src/ggml-cpu/cpu.go | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c92d59c9d..6f0706e4d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -5,6 +5,10 @@ on: tags: - 'v*' +env: + CGO_CFLAGS: '-O3' + CGO_CXXFLAGS: '-O3' + jobs: setup-environment: runs-on: ubuntu-latest @@ -291,7 +295,7 @@ jobs: - uses: docker/setup-buildx-action@v3 - run: | apt-get update && apt-get install pigz - for TARGET in ${{ matrix.targets }}; do docker buildx build --platform $PLATFORM --target $TARGET --build-arg GOFLAGS --output type=local,dest=dist/$PLATFORM .; done + for TARGET in ${{ matrix.targets }}; do docker buildx build --platform $PLATFORM --target $TARGET --build-arg GOFLAGS --build-arg CGO_CFLAGS --build-args CGO_CXXFLAGS --output type=local,dest=dist/$PLATFORM .; done tar c -C dist/$PLATFORM . | pigz -9cv >dist/ollama-${PLATFORM//\//-}.tgz env: PLATFORM: ${{ matrix.os }}/${{ matrix.arch }} @@ -308,12 +312,16 @@ jobs: - flavor: 'latest=false' platforms: linux/amd64,linux/arm64 build-args: | + CGO_CFLAGS=${{ env.CGO_CFLAGS }} + CGO_CXXFLAGS=${{ env.CGO_CXXFLAGS }} GOFLAGS=${{ needs.setup-environment.outputs.GOFLAGS }} - flavor: 'latest=false,suffix=rocm' platforms: linux/amd64 build-args: | - GOFLAGS=${{ needs.setup-environment.outputs.GOFLAGS }} + CGO_CFLAGS=${{ env.CGO_CFLAGS }} + CGO_CXXFLAGS=${{ env.CGO_CXXFLAGS }} FLAVOR=rocm + GOFLAGS=${{ needs.setup-environment.outputs.GOFLAGS }} runs-on: linux environment: release needs: setup-environment diff --git a/ml/backend/ggml/ggml/src/ggml-cpu/cpu.go b/ml/backend/ggml/ggml/src/ggml-cpu/cpu.go index f0bb54c23..895d093c3 100644 --- a/ml/backend/ggml/ggml/src/ggml-cpu/cpu.go +++ b/ml/backend/ggml/ggml/src/ggml-cpu/cpu.go @@ -1,6 +1,6 @@ package cpu -// #cgo CFLAGS: -Wno-implicit-function-declaration +// #cgo CFLAGS: -O3 -Wno-implicit-function-declaration // #cgo CXXFLAGS: -std=c++17 // #cgo CPPFLAGS: -I${SRCDIR}/amx -I${SRCDIR}/llamafile -I${SRCDIR}/.. -I${SRCDIR}/../../include // #cgo CPPFLAGS: -DGGML_USE_LLAMAFILE