diff --git a/.github/workflows/image-pr.yml b/.github/workflows/image-pr.yml index 8ebaa1b2..2d8ce440 100644 --- a/.github/workflows/image-pr.yml +++ b/.github/workflows/image-pr.yml @@ -33,6 +33,7 @@ jobs: # Pushing with all jobs in parallel # eats the bandwidth of all the nodes max-parallel: ${{ github.event_name != 'pull_request' && 4 || 8 }} + fail-fast: false matrix: include: # This is basically covered by the AIO test @@ -56,26 +57,35 @@ jobs: runs-on: 'arc-runner-set' base-image: "ubuntu:22.04" makeflags: "--jobs=3 --output-sync=target" - # - build-type: 'hipblas' - # platforms: 'linux/amd64' - # tag-latest: 'false' - # tag-suffix: '-hipblas' - # ffmpeg: 'false' - # image-type: 'extras' - # base-image: "rocm/dev-ubuntu-22.04:6.1" - # grpc-base-image: "ubuntu:22.04" - # runs-on: 'arc-runner-set' - # makeflags: "--jobs=3 --output-sync=target" - # - build-type: 'sycl_f16' - # platforms: 'linux/amd64' - # tag-latest: 'false' - # base-image: "quay.io/go-skynet/intel-oneapi-base:latest" - # grpc-base-image: "ubuntu:22.04" - # tag-suffix: 'sycl-f16-ffmpeg' - # ffmpeg: 'true' - # image-type: 'extras' - # runs-on: 'arc-runner-set' - # makeflags: "--jobs=3 --output-sync=target" + - build-type: 'hipblas' + platforms: 'linux/amd64' + tag-latest: 'false' + tag-suffix: '-hipblas' + ffmpeg: 'false' + image-type: 'extras' + base-image: "rocm/dev-ubuntu-22.04:6.1" + grpc-base-image: "ubuntu:22.04" + runs-on: 'arc-runner-set' + makeflags: "--jobs=3 --output-sync=target" + - build-type: 'sycl_f16' + platforms: 'linux/amd64' + tag-latest: 'false' + base-image: "quay.io/go-skynet/intel-oneapi-base:latest" + grpc-base-image: "ubuntu:22.04" + tag-suffix: 'sycl-f16-ffmpeg' + ffmpeg: 'true' + image-type: 'extras' + runs-on: 'arc-runner-set' + makeflags: "--jobs=3 --output-sync=target" + - build-type: 'vulkan' + platforms: 'linux/amd64' + tag-latest: 'false' + tag-suffix: '-vulkan-ffmpeg-core' + ffmpeg: 'true' + image-type: 'core' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:22.04" + makeflags: "--jobs=4 --output-sync=target" # core-image-build: # uses: ./.github/workflows/image_build.yml # with: diff --git a/Makefile b/Makefile index 88e3c89b..a5d9d148 100644 --- a/Makefile +++ b/Makefile @@ -119,10 +119,11 @@ ifeq ($(OS),Darwin) WHISPER_CMAKE_ARGS+=-DGGML_METAL=OFF export GGML_NO_ACCELERATE=1 export GGML_NO_METAL=1 + GO_LDFLAGS_WHISPER+=-lggml-blas + export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-blas endif ifeq ($(BUILD_TYPE),metal) -# -lcblas removed: it seems to always be listed as a duplicate flag. CGO_LDFLAGS += -framework Accelerate CGO_LDFLAGS_WHISPER+=-lggml-metal -lggml-blas CMAKE_ARGS+=-DGGML_METAL=ON @@ -137,6 +138,9 @@ ifeq ($(OS),Darwin) WHISPER_CMAKE_ARGS+=-DWHISPER_BUILD_SERVER=OFF WHISPER_CMAKE_ARGS+=-DGGML_OPENMP=OFF export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-metal/:$(WHISPER_DIR)/build/ggml/src/ggml-blas + else + CGO_LDFLAGS_WHISPER+=-lggml-blas + export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-blas endif else CGO_LDFLAGS_WHISPER+=-lgomp @@ -184,8 +188,7 @@ ifeq ($(BUILD_TYPE),hipblas) GPU_TARGETS ?= gfx803,gfx900,gfx906,gfx908,gfx90a,gfx942,gfx1010,gfx1030,gfx1032,gfx1100,gfx1101,gfx1102 AMDGPU_TARGETS ?= "$(GPU_TARGETS)" CMAKE_ARGS+=-DGGML_HIP=ON -DAMDGPU_TARGETS="$(AMDGPU_TARGETS)" -DGPU_TARGETS="$(GPU_TARGETS)" - CGO_LDFLAGS += -O3 --rtlib=compiler-rt -unwindlib=libgcc -lhipblas -lrocblas --hip-link -L${ROCM_HOME}/lib/llvm/lib -lggml-hip - export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-hip/ + CGO_LDFLAGS += -O3 --rtlib=compiler-rt -unwindlib=libgcc -lhipblas -lrocblas --hip-link -L${ROCM_HOME}/lib/llvm/lib endif ifeq ($(BUILD_TYPE),metal) @@ -787,11 +790,8 @@ ifneq ($(UPX),) endif backend-assets/grpc/whisper: sources/whisper.cpp sources/whisper.cpp/build/src/libwhisper.a backend-assets/grpc - CGO_LDFLAGS="$(CGO_LDFLAGS) $(CGO_LDFLAGS_WHISPER)" \ - C_INCLUDE_PATH="${WHISPER_INCLUDE_PATH}" \ - LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" \ - LD_LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" \ - $(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/whisper ./backend/go/transcribe/whisper + CGO_LDFLAGS="$(CGO_LDFLAGS) $(CGO_LDFLAGS_WHISPER)" C_INCLUDE_PATH="${WHISPER_INCLUDE_PATH}" LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" LD_LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" \ + $(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/whisper ./backend/go/transcribe/whisper ifneq ($(UPX),) $(UPX) backend-assets/grpc/whisper endif