Skip to content

Commit c1dd4ff

Browse files
authored
feat(whisper): Enable SYCL (#5802)
Signed-off-by: Richard Palethorpe <[email protected]>
1 parent 48118b9 commit c1dd4ff

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

Makefile

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ STABLEDIFFUSION_GGML_VERSION?=53e3b17eb3d0b5760ced06a1f98320b68b34aaae
2626

2727
# ONEAPI variables for SYCL
2828
export ONEAPI_VARS?=/opt/intel/oneapi/setvars.sh
29+
ONEAPI_VERSION=2025.1
2930

3031
ONNX_VERSION?=1.20.0
3132
ONNX_ARCH?=x64
@@ -170,11 +171,20 @@ endif
170171
ifneq (,$(findstring sycl,$(BUILD_TYPE)))
171172
export GGML_SYCL=1
172173
CMAKE_ARGS+=-DGGML_SYCL=ON
174+
WHISPER_CMAKE_ARGS+=-DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx
175+
export CC=icx
176+
export CXX=icpx
177+
CGO_LDFLAGS_WHISPER += -fsycl -L${DNNLROOT}/lib -rpath ${ONEAPI_ROOT}/${ONEAPI_VERSION}/lib -ldnnl ${MKLROOT}/lib/intel64/libmkl_sycl.a -fiopenmp -fopenmp-targets=spir64 -lOpenCL -lggml-sycl
178+
CGO_LDFLAGS_WHISPER += $(shell pkg-config --libs mkl-static-lp64-gomp)
179+
CGO_CXXFLAGS_WHISPER += -fiopenmp -fopenmp-targets=spir64
180+
CGO_CXXFLAGS_WHISPER += $(shell pkg-config --cflags mkl-static-lp64-gomp )
181+
export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-sycl/
173182
endif
174183

175184
ifeq ($(BUILD_TYPE),sycl_f16)
176185
export GGML_SYCL_F16=1
177186
CMAKE_ARGS+=-DGGML_SYCL_F16=ON
187+
WHISPER_CMAKE_ARGS+=-DGGML_SYCL_F16=ON
178188
endif
179189

180190
ifeq ($(BUILD_TYPE),hipblas)
@@ -801,6 +811,7 @@ endif
801811

802812
backend-assets/grpc/whisper: sources/whisper.cpp sources/whisper.cpp/build/src/libwhisper.a backend-assets/grpc
803813
CGO_LDFLAGS="$(CGO_LDFLAGS) $(CGO_LDFLAGS_WHISPER)" C_INCLUDE_PATH="${WHISPER_INCLUDE_PATH}" LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" LD_LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" \
814+
CGO_CXXFLAGS="$(CGO_CXXFLAGS_WHISPER)" \
804815
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/whisper ./backend/go/transcribe/whisper
805816
ifneq ($(UPX),)
806817
$(UPX) backend-assets/grpc/whisper
@@ -852,18 +863,20 @@ docker-aio-all:
852863

853864
docker-image-intel:
854865
docker build \
855-
--build-arg BASE_IMAGE=intel/oneapi-basekit:2025.1.0-0-devel-ubuntu24.04 \
866+
--build-arg BASE_IMAGE=intel/oneapi-basekit:${ONEAPI_VERSION}.0-0-devel-ubuntu24.04 \
856867
--build-arg IMAGE_TYPE=$(IMAGE_TYPE) \
857868
--build-arg GO_TAGS="$(GO_TAGS)" \
858869
--build-arg MAKEFLAGS="$(DOCKER_MAKEFLAGS)" \
870+
--build-arg GRPC_BACKENDS="$(GRPC_BACKENDS)" \
859871
--build-arg BUILD_TYPE=sycl_f32 -t $(DOCKER_IMAGE) .
860872

861873
docker-image-intel-xpu:
862874
docker build \
863-
--build-arg BASE_IMAGE=intel/oneapi-basekit:2025.1.0-0-devel-ubuntu22.04 \
875+
--build-arg BASE_IMAGE=intel/oneapi-basekit:${ONEAPI_VERSION}.0-0-devel-ubuntu22.04 \
864876
--build-arg IMAGE_TYPE=$(IMAGE_TYPE) \
865877
--build-arg GO_TAGS="$(GO_TAGS)" \
866878
--build-arg MAKEFLAGS="$(DOCKER_MAKEFLAGS)" \
879+
--build-arg GRPC_BACKENDS="$(GRPC_BACKENDS)" \
867880
--build-arg BUILD_TYPE=sycl_f32 -t $(DOCKER_IMAGE) .
868881

869882
.PHONY: swagger

0 commit comments

Comments
 (0)