@@ -29,115 +29,6 @@ endif()
29
29
unset (GGML_EXTRA_LIBS_PRIVATE)
30
30
unset (GGML_EXTRA_LIBS_PUBLIC)
31
31
32
- if (GGML_HIPBLAS)
33
- if (NOT EXISTS $ENV{ROCM_PATH} )
34
- if (NOT EXISTS /opt/rocm)
35
- set (ROCM_PATH /usr)
36
- else ()
37
- set (ROCM_PATH /opt/rocm)
38
- endif ()
39
- else ()
40
- set (ROCM_PATH $ENV{ROCM_PATH} )
41
- endif ()
42
-
43
- list (APPEND CMAKE_PREFIX_PATH ${ROCM_PATH} )
44
- list (APPEND CMAKE_PREFIX_PATH "${ROCM_PATH} /lib64/cmake" )
45
-
46
- # CMake on Windows doesn't support the HIP language yet
47
- if (WIN32 )
48
- set (CXX_IS_HIPCC TRUE )
49
- else ()
50
- string (REGEX MATCH "hipcc(\. bat)?$" CXX_IS_HIPCC "${CMAKE_CXX_COMPILER} " )
51
- endif ()
52
-
53
- if (CXX_IS_HIPCC)
54
- if (LINUX)
55
- if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" )
56
- message (WARNING "Only LLVM is supported for HIP, hint: CXX=/opt/rocm/llvm/bin/clang++" )
57
- endif ()
58
-
59
- message (WARNING "Setting hipcc as the C++ compiler is legacy behavior."
60
- " Prefer setting the HIP compiler directly. See README for details." )
61
- endif ()
62
- else ()
63
- # Forward AMDGPU_TARGETS to CMAKE_HIP_ARCHITECTURES.
64
- if (AMDGPU_TARGETS AND NOT CMAKE_HIP_ARCHITECTURES)
65
- set (CMAKE_HIP_ARCHITECTURES ${AMDGPU_TARGETS} )
66
- endif ()
67
- cmake_minimum_required (VERSION 3.21)
68
- enable_language (HIP)
69
- endif ()
70
-
71
- find_package (hip REQUIRED)
72
- find_package (hipblas REQUIRED)
73
- find_package (rocblas REQUIRED)
74
-
75
- message (STATUS "HIP and hipBLAS found" )
76
-
77
- file (GLOB GGML_HEADERS_ROCM "ggml-cuda/*.cuh" )
78
- list (APPEND GGML_HEADERS_ROCM "../include/ggml-cuda.h" )
79
-
80
- file (GLOB GGML_SOURCES_ROCM "ggml-cuda/*.cu" )
81
- list (APPEND GGML_SOURCES_ROCM "ggml-cuda.cu" )
82
- file (GLOB SRCS "ggml-cuda/template-instances/fattn-wmma*.cu" )
83
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
84
- file (GLOB SRCS "ggml-cuda/template-instances/mmq*.cu" )
85
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
86
-
87
- if (GGML_CUDA_FA_ALL_QUANTS)
88
- file (GLOB SRCS "ggml-cuda/template-instances/fattn-vec*.cu" )
89
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
90
- add_compile_definitions (GGML_CUDA_FA_ALL_QUANTS)
91
- else ()
92
- file (GLOB SRCS "ggml-cuda/template-instances/fattn-vec*q4_0-q4_0.cu" )
93
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
94
- file (GLOB SRCS "ggml-cuda/template-instances/fattn-vec*q8_0-q8_0.cu" )
95
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
96
- file (GLOB SRCS "ggml-cuda/template-instances/fattn-vec*f16-f16.cu" )
97
- list (APPEND GGML_SOURCES_ROCM ${SRCS} )
98
- endif ()
99
-
100
- list (APPEND GGML_CDEF_PUBLIC GGML_USE_CUDA)
101
-
102
- add_compile_definitions (GGML_USE_HIPBLAS)
103
- add_compile_definitions (GGML_CUDA_DMMV_X=${GGML_CUDA_DMMV_X} )
104
- add_compile_definitions (GGML_CUDA_MMV_Y=${GGML_CUDA_MMV_Y} )
105
- add_compile_definitions (K_QUANTS_PER_ITERATION=${GGML_CUDA_KQUANTS_ITER} )
106
-
107
- if (GGML_HIP_UMA)
108
- add_compile_definitions (GGML_HIP_UMA)
109
- endif ()
110
-
111
- if (GGML_CUDA_FORCE_DMMV)
112
- add_compile_definitions (GGML_CUDA_FORCE_DMMV)
113
- endif ()
114
-
115
- if (GGML_CUDA_FORCE_MMQ)
116
- add_compile_definitions (GGML_CUDA_FORCE_MMQ)
117
- endif ()
118
-
119
- if (GGML_CUDA_FORCE_CUBLAS)
120
- add_compile_definitions (GGML_CUDA_FORCE_CUBLAS)
121
- endif ()
122
-
123
- if (GGML_CUDA_NO_PEER_COPY)
124
- add_compile_definitions (GGML_CUDA_NO_PEER_COPY)
125
- endif ()
126
-
127
- if (CXX_IS_HIPCC)
128
- set_source_files_properties (${GGML_SOURCES_ROCM} PROPERTIES LANGUAGE CXX)
129
- list (APPEND GGML_EXTRA_LIBS_PRIVATE hip::device)
130
- else ()
131
- set_source_files_properties (${GGML_SOURCES_ROCM} PROPERTIES LANGUAGE HIP)
132
- endif ()
133
-
134
- if (GGML_STATIC)
135
- message (FATAL_ERROR "Static linking not supported for HIP/ROCm" )
136
- endif ()
137
-
138
- list (APPEND GGML_EXTRA_LIBS_PUBLIC hip::host roc::rocblas roc::hipblas)
139
- endif ()
140
-
141
32
function (get_flags CCID CCVER)
142
33
set (C_FLAGS "" )
143
34
set (CXX_FLAGS "" )
@@ -354,12 +245,12 @@ function(ggml_add_backend backend)
354
245
endif ()
355
246
endfunction ()
356
247
357
- set (GGML_CPU ON )
358
248
ggml_add_backend(CPU)
359
249
ggml_add_backend(AMX)
360
250
ggml_add_backend(BLAS)
361
251
ggml_add_backend(CANN)
362
252
ggml_add_backend(CUDA)
253
+ ggml_add_backend(HIP)
363
254
ggml_add_backend(Kompute)
364
255
ggml_add_backend(METAL)
365
256
ggml_add_backend(RPC)
0 commit comments