Skip to content

Commit 24feaec

Browse files
authored
ggml : riscv: add 128-bit RVV support (#12530)
* ggml : add 128-bit RVV support * ggml : revert to old RVV 256+ q2_K, q3_K, q4_K, q6_K impl * remove trailing whitespaces * restructure vector length selection code
1 parent f28bc4c commit 24feaec

File tree

4 files changed

+789
-405
lines changed

4 files changed

+789
-405
lines changed

ggml/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ endif()
123123
option(GGML_LASX "ggml: enable lasx" ON)
124124
option(GGML_LSX "ggml: enable lsx" ON)
125125
option(GGML_RVV "ggml: enable rvv" ON)
126+
option(GGML_RV_ZFH "ggml: enable riscv zfh" OFF)
126127
option(GGML_VXE "ggml: enable vxe" ON)
127128

128129
option(GGML_CPU_ALL_VARIANTS "ggml: build all variants of the CPU backend (requires GGML_BACKEND_DL)" OFF)

ggml/src/ggml-cpu/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,11 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
320320
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64")
321321
message(STATUS "RISC-V detected")
322322
if (GGML_RVV)
323-
list(APPEND ARCH_FLAGS -march=rv64gcv -mabi=lp64d)
323+
if (GGML_RV_ZFH)
324+
list(APPEND ARCH_FLAGS -march=rv64gcv_zfhmin -DGGML_RV_ZFH -mabi=lp64d)
325+
else()
326+
list(APPEND ARCH_FLAGS -march=rv64gcv -mabi=lp64d)
327+
endif()
324328
endif()
325329
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x")
326330
message(STATUS "s390x detected")

0 commit comments

Comments
 (0)