@@ -46,24 +46,30 @@ ifeq ($(BUILD_TYPE),sycl_f16)
46
46
-DCMAKE_C_COMPILER=icx \
47
47
-DCMAKE_CXX_COMPILER=icpx \
48
48
-DSD_SYCL=ON \
49
- -DGGML_SYCL_F16=ON \
50
- -DCMAKE_CXX_FLAGS="-fsycl"
49
+ -DGGML_SYCL_F16=ON
51
50
CC=icx
52
51
CXX=icpx
52
+ CGO_LDFLAGS += -fsycl -L${DNNLROOT}/lib -ldnnl ${MKLROOT}/lib/intel64/libmkl_sycl.a -fiopenmp -fopenmp-targets=spir64 -lOpenCL
53
+ CGO_LDFLAGS += $(shell pkg-config --libs mkl-static-lp64-gomp)
54
+ CGO_CXXFLAGS += -fiopenmp -fopenmp-targets=spir64
55
+ CGO_CXXFLAGS += $(shell pkg-config --cflags mkl-static-lp64-gomp )
53
56
endif
54
57
55
58
ifeq ($(BUILD_TYPE ) ,sycl_f32)
56
59
CMAKE_ARGS+=-DGGML_SYCL=ON \
57
60
-DCMAKE_C_COMPILER=icx \
58
61
-DCMAKE_CXX_COMPILER=icpx \
59
- -DSD_SYCL=ON \
60
- -DCMAKE_CXX_FLAGS="-fsycl"
62
+ -DSD_SYCL=ON
61
63
CC=icx
62
64
CXX=icpx
65
+ CGO_LDFLAGS += -fsycl -L${DNNLROOT}/lib -ldnnl ${MKLROOT}/lib/intel64/libmkl_sycl.a -fiopenmp -fopenmp-targets=spir64 -lOpenCL
66
+ CGO_LDFLAGS += $(shell pkg-config --libs mkl-static-lp64-gomp)
67
+ CGO_CXXFLAGS += -fiopenmp -fopenmp-targets=spir64
68
+ CGO_CXXFLAGS += $(shell pkg-config --cflags mkl-static-lp64-gomp )
63
69
endif
64
70
65
71
# warnings
66
- CXXFLAGS += -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function
72
+ # CXXFLAGS += -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function
67
73
68
74
# Find all .a archives in ARCHIVE_DIR
69
75
# (ggml can have different backends cpu, cuda, etc., each backend generates a .a archive)
@@ -94,34 +100,33 @@ ifneq (,$(findstring sycl,$(BUILD_TYPE)))
94
100
mkdir -p build && \
95
101
cd build && \
96
102
cmake $(CMAKE_ARGS) ../../../../../sources/stablediffusion-ggml.cpp && \
97
- cmake --build . --config Release -j$(nproc) "
103
+ cmake --build . --config Release"
98
104
else
99
105
mkdir -p build && \
100
106
cd build && \
101
107
cmake $(CMAKE_ARGS) ../../../../../sources/stablediffusion-ggml.cpp && \
102
- cmake --build . --config Release -j$(nproc)
108
+ cmake --build . --config Release
103
109
endif
104
110
$(MAKE) $(COMBINED_LIB)
105
111
106
112
gosd.o :
107
113
ifneq (,$(findstring sycl,$(BUILD_TYPE ) ) )
108
- +bash -c "source $(ONEAPI_VARS)
109
- endif
114
+ +bash -c "source $(ONEAPI_VARS); \
115
+ $(CXX) $(CXXFLAGS) gosd.cpp -o gosd.o -c"
116
+ else
110
117
$(CXX) $(CXXFLAGS) gosd.cpp -o gosd.o -c
118
+ endif
111
119
112
120
libsd.a : gosd.o
113
121
cp $(INCLUDE_PATH ) /build/libstable-diffusion.a ./libsd.a
114
122
$(AR ) rcs libsd.a gosd.o
115
123
116
124
stablediffusion-ggml :
117
- ifneq (,$(findstring sycl,$(BUILD_TYPE ) ) )
118
- +bash -c "source $(ONEAPI_VARS)
119
- endif
120
125
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 /
126
+ CC=" $( CC) " CXX=" $( CXX) " CGO_CXXFLAGS= " $( CGO_CXXFLAGS ) " \
127
+ $(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o ../../../../ backend-assets/grpc/stablediffusion-ggml ./
123
128
ifneq ($(UPX ) ,)
124
- $(UPX) backend-assets/grpc/stablediffusion-ggml
129
+ $(UPX) ../../../../ backend-assets/grpc/stablediffusion-ggml
125
130
endif
126
131
127
132
clean :
0 commit comments