Skip to content

Commit c68d0c4

Browse files
committed
fix(stablediffusion): Use ICX compiler with CGO and SYCL
1 parent 79987c0 commit c68d0c4

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,11 +260,7 @@ backend/go/image/stablediffusion-ggml/libsd.a: sources/stablediffusion-ggml.cpp
260260
$(MAKE) -C backend/go/image/stablediffusion-ggml libsd.a
261261

262262
backend-assets/grpc/stablediffusion-ggml: backend/go/image/stablediffusion-ggml/libsd.a backend-assets/grpc
263-
CGO_LDFLAGS="$(CGO_LDFLAGS)" C_INCLUDE_PATH=$(CURDIR)/backend/go/image/stablediffusion-ggml/ LIBRARY_PATH=$(CURDIR)/backend/go/image/stablediffusion-ggml/ \
264-
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/stablediffusion-ggml ./backend/go/image/stablediffusion-ggml/
265-
ifneq ($(UPX),)
266-
$(UPX) backend-assets/grpc/stablediffusion-ggml
267-
endif
263+
$(MAKE) -C backend/go/image/stablediffusion-ggml stablediffusion-ggml
268264

269265
sources/onnxruntime:
270266
mkdir -p sources/onnxruntime

backend/go/image/stablediffusion-ggml/Makefile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ ONEAPI_VARS?=/opt/intel/oneapi/setvars.sh
88
# keep standard at C11 and C++11
99
CXXFLAGS = -I. -I$(INCLUDE_PATH)/../../../../sources/stablediffusion-ggml.cpp/thirdparty -I$(INCLUDE_PATH)/../../../../sources/stablediffusion-ggml.cpp/ggml/include -I$(INCLUDE_PATH)/../../../../sources/stablediffusion-ggml.cpp -O3 -DNDEBUG -std=c++17 -fPIC
1010

11+
GOCMD?=go
12+
CGO_LDFLAGS?=
13+
GO_TAGS?=
14+
LD_FLAGS?=
15+
1116
# Disable Shared libs as we are linking on static gRPC and we can't mix shared and static
1217
CMAKE_ARGS+=-DBUILD_SHARED_LIBS=OFF
1318

@@ -43,6 +48,8 @@ ifeq ($(BUILD_TYPE),sycl_f16)
4348
-DSD_SYCL=ON \
4449
-DGGML_SYCL_F16=ON \
4550
-DCMAKE_CXX_FLAGS="-fsycl"
51+
CC=icx
52+
CXX=icpx
4653
endif
4754

4855
ifeq ($(BUILD_TYPE),sycl_f32)
@@ -51,6 +58,8 @@ ifeq ($(BUILD_TYPE),sycl_f32)
5158
-DCMAKE_CXX_COMPILER=icpx \
5259
-DSD_SYCL=ON \
5360
-DCMAKE_CXX_FLAGS="-fsycl"
61+
CC=icx
62+
CXX=icpx
5463
endif
5564

5665
# warnings
@@ -95,11 +104,25 @@ endif
95104
$(MAKE) $(COMBINED_LIB)
96105

97106
gosd.o:
107+
ifneq (,$(findstring sycl,$(BUILD_TYPE)))
108+
+bash -c "source $(ONEAPI_VARS)
109+
endif
98110
$(CXX) $(CXXFLAGS) gosd.cpp -o gosd.o -c
99111

100112
libsd.a: gosd.o
101113
cp $(INCLUDE_PATH)/build/libstable-diffusion.a ./libsd.a
102114
$(AR) rcs libsd.a gosd.o
103115

116+
stablediffusion-ggml:
117+
ifneq (,$(findstring sycl,$(BUILD_TYPE)))
118+
+bash -c "source $(ONEAPI_VARS)
119+
endif
120+
CGO_LDFLAGS="$(CGO_LDFLAGS)" C_INCLUDE_PATH="$(INCLUDE_PATH)" LIBRARY_PATH="$(LIBRARY_PATH)" \
121+
CC=$(CC) CXX=$(CXX) \
122+
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/stablediffusion-ggml ./backend/go/image/stablediffusion-ggml/
123+
ifneq ($(UPX),)
124+
$(UPX) backend-assets/grpc/stablediffusion-ggml
125+
endif
126+
104127
clean:
105128
rm -rf gosd.o libsd.a build $(COMBINED_LIB)

0 commit comments

Comments
 (0)