@@ -8,6 +8,11 @@ ONEAPI_VARS?=/opt/intel/oneapi/setvars.sh
8
8
# keep standard at C11 and C++11
9
9
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
10
10
11
+ GOCMD? =go
12
+ CGO_LDFLAGS? =
13
+ GO_TAGS? =
14
+ LD_FLAGS? =
15
+
11
16
# Disable Shared libs as we are linking on static gRPC and we can't mix shared and static
12
17
CMAKE_ARGS+=-DBUILD_SHARED_LIBS =OFF
13
18
@@ -43,6 +48,8 @@ ifeq ($(BUILD_TYPE),sycl_f16)
43
48
-DSD_SYCL=ON \
44
49
-DGGML_SYCL_F16=ON \
45
50
-DCMAKE_CXX_FLAGS="-fsycl"
51
+ CC=icx
52
+ CXX=icpx
46
53
endif
47
54
48
55
ifeq ($(BUILD_TYPE ) ,sycl_f32)
@@ -51,6 +58,8 @@ ifeq ($(BUILD_TYPE),sycl_f32)
51
58
-DCMAKE_CXX_COMPILER=icpx \
52
59
-DSD_SYCL=ON \
53
60
-DCMAKE_CXX_FLAGS="-fsycl"
61
+ CC=icx
62
+ CXX=icpx
54
63
endif
55
64
56
65
# warnings
@@ -95,11 +104,25 @@ endif
95
104
$(MAKE) $(COMBINED_LIB)
96
105
97
106
gosd.o :
107
+ ifneq (,$(findstring sycl,$(BUILD_TYPE ) ) )
108
+ +bash -c "source $(ONEAPI_VARS)
109
+ endif
98
110
$(CXX) $(CXXFLAGS) gosd.cpp -o gosd.o -c
99
111
100
112
libsd.a : gosd.o
101
113
cp $(INCLUDE_PATH ) /build/libstable-diffusion.a ./libsd.a
102
114
$(AR ) rcs libsd.a gosd.o
103
115
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
+
104
127
clean :
105
128
rm -rf gosd.o libsd.a build $(COMBINED_LIB )
0 commit comments