Spaces:
Sleeping
Sleeping
alonfaraj
commited on
make : check nvcc version and set flag (#1115)
Browse files
Makefile
CHANGED
|
@@ -12,6 +12,12 @@ ifndef UNAME_M
|
|
| 12 |
UNAME_M := $(shell uname -m)
|
| 13 |
endif
|
| 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
CCV := $(shell $(CC) --version | head -n 1)
|
| 16 |
CXXV := $(shell $(CXX) --version | head -n 1)
|
| 17 |
|
|
@@ -167,12 +173,18 @@ ifdef WHISPER_OPENBLAS
|
|
| 167 |
endif
|
| 168 |
|
| 169 |
ifdef WHISPER_CUBLAS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
CFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
|
| 171 |
CXXFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
|
| 172 |
LDFLAGS += -lcublas -lculibos -lcudart -lcublasLt -lpthread -ldl -lrt -L/usr/local/cuda/lib64 -L/opt/cuda/lib64 -L$(CUDA_PATH)/targets/$(UNAME_M)-linux/lib
|
| 173 |
WHISPER_OBJ += ggml-cuda.o
|
| 174 |
NVCC = nvcc
|
| 175 |
-
NVCCFLAGS = --forward-unknown-to-host-compiler -arch
|
| 176 |
|
| 177 |
ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
|
| 178 |
$(NVCC) $(NVCCFLAGS) $(CXXFLAGS) -Wno-pedantic -c $< -o $@
|
|
|
|
| 12 |
UNAME_M := $(shell uname -m)
|
| 13 |
endif
|
| 14 |
|
| 15 |
+
ifndef NVCC_VERSION
|
| 16 |
+
ifeq ($(call,$(shell which nvcc))$(.SHELLSTATUS),0)
|
| 17 |
+
NVCC_VERSION := $(shell nvcc --version | egrep -o "V[0-9]+.[0-9]+.[0-9]+" | cut -c2-)
|
| 18 |
+
endif
|
| 19 |
+
endif
|
| 20 |
+
|
| 21 |
CCV := $(shell $(CC) --version | head -n 1)
|
| 22 |
CXXV := $(shell $(CXX) --version | head -n 1)
|
| 23 |
|
|
|
|
| 173 |
endif
|
| 174 |
|
| 175 |
ifdef WHISPER_CUBLAS
|
| 176 |
+
ifeq ($(shell expr $(NVCC_VERSION) \>= 11.6), 1)
|
| 177 |
+
CUDA_ARCH_FLAG=native
|
| 178 |
+
else
|
| 179 |
+
CUDA_ARCH_FLAG=all
|
| 180 |
+
endif
|
| 181 |
+
|
| 182 |
CFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
|
| 183 |
CXXFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/$(UNAME_M)-linux/include
|
| 184 |
LDFLAGS += -lcublas -lculibos -lcudart -lcublasLt -lpthread -ldl -lrt -L/usr/local/cuda/lib64 -L/opt/cuda/lib64 -L$(CUDA_PATH)/targets/$(UNAME_M)-linux/lib
|
| 185 |
WHISPER_OBJ += ggml-cuda.o
|
| 186 |
NVCC = nvcc
|
| 187 |
+
NVCCFLAGS = --forward-unknown-to-host-compiler -arch=$(CUDA_ARCH_FLAG)
|
| 188 |
|
| 189 |
ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
|
| 190 |
$(NVCC) $(NVCCFLAGS) $(CXXFLAGS) -Wno-pedantic -c $< -o $@
|