@@ -20,8 +20,8 @@ ifneq ($(shell grep -e "Arch Linux" -e "ID_LIKE=arch" /etc/os-release 2>/dev/nul
20
20
ARCH_ADD = -lcblas
21
21
endif
22
22
23
- CCV : = $(shell $(CC ) --version | head -n 1)
24
- CXXV : = $(shell $(CXX ) --version | head -n 1)
23
+ CCV = $(shell $(CC ) --version | head -n 1)
24
+ CXXV = $(shell $(CXX ) --version | head -n 1)
25
25
26
26
# Mac OS + Arm can report x86_64
27
27
# ref: https://github.com/ggerganov/whisper.cpp/issues/66#issuecomment-1282546789
@@ -155,6 +155,24 @@ ggml_v2-cuda.o: otherarch/ggml_v2-cuda.cu otherarch/ggml_v2-cuda.h
155
155
$(NVCC ) $(NVCCFLAGS ) $(CXXFLAGS ) $(CUBLAS_CXXFLAGS ) -Wno-pedantic -c $< -o $@
156
156
endif # LLAMA_CUBLAS
157
157
158
+ ifdef LLAMA_HIPBLAS
159
+ ROCM_PATH ?= /opt/rocm
160
+ CC := $(ROCM_PATH)/llvm/bin/clang
161
+ CXX := $(ROCM_PATH)/llvm/bin/clang++
162
+ GPU_TARGETS = gfx900 gfx906 gfx908 gfx90a gfx1030
163
+ LLAMA_CUDA_DMMV_X ?= 32
164
+ LLAMA_CUDA_DMMV_Y ?= 1
165
+ CFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS $(shell $(ROCM_PATH)/bin/hipconfig -C)
166
+ CXXFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS $(shell $(ROCM_PATH)/bin/hipconfig -C)
167
+ LDFLAGS += -L/opt/rocm/lib -Wl,-rpath=$(ROCM_PATH)/lib -lhipblas -lamdhip64
168
+ OBJS += ggml-cuda.o
169
+ ggml-cuda.o : CXXFLAGS += $(addprefix --offload-arch=,$(GPU_TARGETS ) )
170
+ ggml-cuda.o : CXXFLAGS += -DGGML_CUDA_DMMV_X=$(LLAMA_CUDA_DMMV_X )
171
+ ggml-cuda.o : CXXFLAGS += -DGGML_CUDA_DMMV_Y=$(LLAMA_CUDA_DMMV_Y )
172
+ ggml-cuda.o : ggml-cuda.cu ggml-cuda.h
173
+ $(CXX ) $(CXXFLAGS ) -x hip -c -o $@ $<
174
+ endif # LLAMA_HIPBLAS
175
+
158
176
ifdef LLAMA_METAL
159
177
CFLAGS += -DGGML_USE_METAL -DGGML_METAL_NDEBUG
160
178
CXXFLAGS += -DGGML_USE_METAL
0 commit comments