@@ -216,35 +216,48 @@ ifdef WHISPER_OPENBLAS
216
216
endif
217
217
218
218
ifdef WHISPER_CUBLAS
219
+ # WHISPER_CUBLAS is deprecated and will be removed in the future
220
+ WHISPER_CUDA := 1
221
+ endif
222
+
223
+ ifdef WHISPER_CUDA
219
224
ifeq ($(shell expr $(NVCC_VERSION) \>= 11.6), 1)
220
225
CUDA_ARCH_FLAG ?= native
221
226
else
222
227
CUDA_ARCH_FLAG ?= all
223
228
endif
224
229
225
- CFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
226
- CXXFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
230
+ CFLAGS += -DGGML_USE_CUDA -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
231
+ CXXFLAGS += -DGGML_USE_CUDA -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
227
232
LDFLAGS += -lcuda -lcublas -lculibos -lcudart -lcublasLt -lpthread -ldl -lrt -L/usr/local/cuda/lib64 -L/opt/cuda/lib64 -L$(CUDA_PATH)/targets/$(UNAME_M)-linux/lib -L/usr/lib/wsl/lib
228
233
WHISPER_OBJ += ggml-cuda.o
234
+ WHISPER_OBJ += $(patsubst %.cu,%.o,$(wildcard ggml-cuda/*.cu))
229
235
NVCC = nvcc
230
236
NVCCFLAGS = --forward-unknown-to-host-compiler -arch=$(CUDA_ARCH_FLAG)
231
237
232
- ggml-cuda.o : ggml-cuda.cu ggml-cuda.h
238
+ ggml-cuda/% .o : ggml-cuda/% .cu ggml-cuda/% .cuh ggml.h ggml-common.h ggml-cuda/common.cuh
239
+ $(NVCC ) $(NVCCFLAGS ) $(CXXFLAGS ) -c $< -o $@
240
+
241
+ ggml-cuda.o : ggml-cuda.cu ggml-cuda.h ggml.h ggml-backend.h ggml-backend-impl.h ggml-common.h $(wildcard ggml-cuda/* .cuh)
233
242
$(NVCC ) $(NVCCFLAGS ) $(CXXFLAGS ) -Wno-pedantic -c $< -o $@
234
243
endif
235
244
236
245
ifdef WHISPER_HIPBLAS
237
246
ROCM_PATH ?= /opt/rocm
238
247
HIPCC ?= $(ROCM_PATH)/bin/hipcc
239
248
GPU_TARGETS ?= $(shell $(ROCM_PATH)/llvm/bin/amdgpu-arch)
240
- CFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS
241
- CXXFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS
249
+ CFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUDA
250
+ CXXFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUDA
242
251
LDFLAGS += -L$(ROCM_PATH)/lib -Wl,-rpath=$(ROCM_PATH)/lib
243
252
LDFLAGS += -lhipblas -lamdhip64 -lrocblas
244
253
HIPFLAGS += $(addprefix --offload-arch=,$(GPU_TARGETS))
245
254
WHISPER_OBJ += ggml-cuda.o
255
+ WHISPER_OBJ += $(patsubst %.cu,%.o,$(wildcard ggml-cuda/*.cu))
256
+
257
+ ggml-cuda/% .o : ggml-cuda/% .cu ggml-cuda/% .cuh ggml.h ggml-common.h ggml-cuda/common.cuh
258
+ $(HIPCC ) $(CXXFLAGS ) $(HIPFLAGS ) -x hip -c -o $@ $<
246
259
247
- ggml-cuda.o : ggml-cuda.cu ggml-cuda.h
260
+ ggml-cuda.o : ggml-cuda.cu ggml-cuda.h ggml.h ggml-backend.h ggml-backend-impl.h ggml-common.h $( wildcard ggml-cuda/ * .cuh)
248
261
$(HIPCC ) $(CXXFLAGS ) $(HIPFLAGS ) -x hip -c -o $@ $<
249
262
endif
250
263
@@ -309,6 +322,13 @@ $(info I CC: $(CCV))
309
322
$(info I CXX : $(CXXV ) )
310
323
$(info )
311
324
325
+ ifdef WHISPER_CUBLAS
326
+ $(info !!!!)
327
+ $(info WHISPER_CUBLAS is deprecated and will be removed in the future. Use WHISPER_CUDA instead.)
328
+ $(info !!!!)
329
+ $(info )
330
+ endif
331
+
312
332
#
313
333
# Build library
314
334
#
@@ -410,8 +430,8 @@ lsp: examples/lsp/lsp.cpp $(SRC_COMMON) $(SRC_COMMON_SDL) $(WHISPER_OBJ)
410
430
talk : examples/talk/talk.cpp examples/talk/gpt-2.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ )
411
431
$(CXX ) $(CXXFLAGS ) examples/talk/talk.cpp examples/talk/gpt-2.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ ) -o talk $(CC_SDL ) $(LDFLAGS )
412
432
413
- talk-llama : examples/talk-llama/talk-llama.cpp examples/talk-llama/llama.cpp examples/talk-llama/unicode.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ )
414
- $(CXX ) $(CXXFLAGS ) examples/talk-llama/talk-llama.cpp examples/talk-llama/llama.cpp examples/talk-llama/unicode.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ ) -o talk-llama $(CC_SDL ) $(LDFLAGS )
433
+ talk-llama : examples/talk-llama/talk-llama.cpp examples/talk-llama/llama.cpp examples/talk-llama/unicode.cpp examples/talk-llama/unicode-data.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ )
434
+ $(CXX ) $(CXXFLAGS ) examples/talk-llama/talk-llama.cpp examples/talk-llama/llama.cpp examples/talk-llama/unicode.cpp examples/talk-llama/unicode-data.cpp $(SRC_COMMON ) $(SRC_COMMON_SDL ) $(WHISPER_OBJ ) -o talk-llama $(CC_SDL ) $(LDFLAGS )
415
435
416
436
#
417
437
# Audio samples
0 commit comments