cuda: improve gpu architecture detection for cuda version < 11.7
This commit is contained in:
parent
9e359a4f47
commit
107bca3e2d
1 changed files with 8 additions and 9 deletions
17
Makefile
17
Makefile
|
@ -402,7 +402,14 @@ endif #LLAMA_CUDA_NVCC
|
||||||
ifdef CUDA_DOCKER_ARCH
|
ifdef CUDA_DOCKER_ARCH
|
||||||
MK_NVCCFLAGS += -Wno-deprecated-gpu-targets -arch=$(CUDA_DOCKER_ARCH)
|
MK_NVCCFLAGS += -Wno-deprecated-gpu-targets -arch=$(CUDA_DOCKER_ARCH)
|
||||||
else ifndef CUDA_POWER_ARCH
|
else ifndef CUDA_POWER_ARCH
|
||||||
MK_NVCCFLAGS += -arch=native
|
# For CUDA versions < 11.7 a target CUDA architecture was provided via nvcc -code-ls
|
||||||
|
# https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#list-gpu-code-code-ls
|
||||||
|
CUDA_VERSION := $(shell nvcc --version | grep -oP 'release (\K[0-9]+\.[0-9])')
|
||||||
|
ifeq ($(shell awk -v "v=$(CUDA_VERSION)" 'BEGIN { print (v < 11.7) }'),1)
|
||||||
|
MK_NVCCFLAGS += -arch=$(shell $(NVCC) -code-ls | tail -n 1)
|
||||||
|
else
|
||||||
|
MK_NVCCFLAGS += -arch=native
|
||||||
|
endif
|
||||||
endif # CUDA_DOCKER_ARCH
|
endif # CUDA_DOCKER_ARCH
|
||||||
ifdef LLAMA_CUDA_FORCE_DMMV
|
ifdef LLAMA_CUDA_FORCE_DMMV
|
||||||
MK_NVCCFLAGS += -DGGML_CUDA_FORCE_DMMV
|
MK_NVCCFLAGS += -DGGML_CUDA_FORCE_DMMV
|
||||||
|
@ -597,14 +604,6 @@ $(info I CC: $(shell $(CC) --version | head -n 1))
|
||||||
$(info I CXX: $(shell $(CXX) --version | head -n 1))
|
$(info I CXX: $(shell $(CXX) --version | head -n 1))
|
||||||
ifdef LLAMA_CUBLAS
|
ifdef LLAMA_CUBLAS
|
||||||
$(info I NVCC: $(shell $(NVCC) --version | tail -n 1))
|
$(info I NVCC: $(shell $(NVCC) --version | tail -n 1))
|
||||||
CUDA_VERSION := $(shell nvcc --version | grep -oP 'release (\K[0-9]+\.[0-9])')
|
|
||||||
ifeq ($(shell awk -v "v=$(CUDA_VERSION)" 'BEGIN { print (v < 11.7) }'),1)
|
|
||||||
ifndef CUDA_DOCKER_ARCH
|
|
||||||
ifndef CUDA_POWER_ARCH
|
|
||||||
$(error I ERROR: For CUDA versions < 11.7 a target CUDA architecture must be explicitly provided via CUDA_DOCKER_ARCH)
|
|
||||||
endif # CUDA_POWER_ARCH
|
|
||||||
endif # CUDA_DOCKER_ARCH
|
|
||||||
endif # eq ($(shell echo "$(CUDA_VERSION) < 11.7" | bc),1)
|
|
||||||
endif # LLAMA_CUBLAS
|
endif # LLAMA_CUBLAS
|
||||||
$(info )
|
$(info )
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue