Build file changes
Now HIP Clang is not required, the CMake scripts will configure the needed compiler, which can be system clang++. Also other code can still use GCC, but CMake will force the clang to link.
This commit is contained in:
parent
54a63c10e8
commit
0e005f7793
2 changed files with 16 additions and 21 deletions
|
@ -170,27 +170,23 @@ if (LLAMA_CUBLAS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (LLAMA_HIPBLAS)
|
if (LLAMA_HIPBLAS)
|
||||||
cmake_minimum_required(VERSION 3.21)
|
|
||||||
|
|
||||||
find_package(hip)
|
find_package(hip)
|
||||||
find_package(hipblas)
|
find_package(hipblas)
|
||||||
|
|
||||||
if (hipblas_FOUND)
|
if (${hipblas_FOUND} AND ${hip_FOUND})
|
||||||
message(STATUS "hipBLAS found")
|
message(STATUS "hipBLAS found")
|
||||||
|
add_compile_definitions(GGML_USE_HIPBLAS)
|
||||||
|
enable_language(HIP)
|
||||||
|
add_library(ggml-hip OBJECT ggml-cuda.cu ggml-cuda.h)
|
||||||
|
set_source_files_properties(ggml-cuda.cu PROPERTIES LANGUAGE HIP)
|
||||||
|
target_link_libraries(ggml-hip PRIVATE hip::device)
|
||||||
|
|
||||||
set(LLAMA_HIPBLAS_PLATFORM "AMD" CACHE STRING "hip device type" FORCE)
|
if (LLAMA_STATIC)
|
||||||
set_property(CACHE LLAMA_HIPBLAS_PLATFORM PROPERTY STRINGS "AMD" "NVIDIA")
|
message(FATAL_ERROR "Static linking not supported for HIP/ROCm")
|
||||||
|
endif()
|
||||||
add_compile_definitions(GGML_USE_HIPBLAS "__HIP_PLATFORM_${LLAMA_HIPBLAS_PLATFORM}__")
|
|
||||||
|
|
||||||
add_library(ggml-hip OBJECT ggml-cuda.cu)
|
|
||||||
set_source_files_properties(ggml-cuda.cu PROPERTIES LANGUAGE CXX)
|
|
||||||
target_link_libraries(ggml-hip hip::device)
|
|
||||||
|
|
||||||
set(LLAMA_EXTRA_LIBS ${LLAMA_EXTRA_LIBS} hip::host roc::hipblas ggml-hip)
|
set(LLAMA_EXTRA_LIBS ${LLAMA_EXTRA_LIBS} hip::host roc::hipblas ggml-hip)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
message(WARNING "hipBLAS not found")
|
message(WARNING "hipBLAS or HIP not found. Try setting CMAKE_PREFIX_PATH=/opt/rocm")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
13
Makefile
13
Makefile
|
@ -108,13 +108,12 @@ ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
|
||||||
nvcc -arch=native -c -o $@ $<
|
nvcc -arch=native -c -o $@ $<
|
||||||
endif
|
endif
|
||||||
ifdef LLAMA_HIPBLAS
|
ifdef LLAMA_HIPBLAS
|
||||||
ROCMPATH?= /opt/rocm
|
ROCM_PATH ?= /opt/rocm
|
||||||
CFLAGS += -DGGML_USE_HIPBLAS -D__HIP_PLATFORM_AMD__ -I$(ROCMPATH)/include
|
LDFLAGS += -lhipblas -lamdhip64 -L$(ROCM_PATH)/lib
|
||||||
CXXFLAGS+= -D__HIP_PLATFORM_AMD__ -I$(ROCMPATH)/include
|
HIPCC ?= $(ROCM_PATH)/bin/hipcc
|
||||||
HIPFLAGS?= -amdgpu-early-inline-all=true -amdgpu-function-calls=false -march=native
|
OBJS += ggml-cuda.o
|
||||||
LDFLAGS += -lhipblas -lamdhip64 -L$(ROCMPATH)/lib
|
ggml.o: CFLAGS += -DGGML_USE_HIPBLAS -D__HIP_PLATFORM_AMD__ -I$(ROCM_PATH)/include
|
||||||
HIPCC ?= $(ROCMPATH)/bin/hipcc
|
ggml-cuda.o: CXXFLAGS += -march=native -D__HIP_PLATFORM_AMD__ -I$(ROCMPATH)/include
|
||||||
OBJS += ggml-cuda.o
|
|
||||||
ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
|
ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
|
||||||
$(HIPCC) $(CXXFLAGS) -x hip $(HIPFLAGS) -c -o $@ $<
|
$(HIPCC) $(CXXFLAGS) -x hip $(HIPFLAGS) -c -o $@ $<
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue