如何调试llama.cpp及判断是否支持RVV

如何调试llama.cpp

  1. 配置编译选项和编译器:cmake -B build -DGGML_RVV=ON -DGGML_RV_ZICBOP=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
  2. 编译:cmake --build build --config Debug -j 8或者制定目标编译:cmake --build build --config Debug -j 8 --target llama-cli
  3. gdb调试:gdb --args ./build/bin/llama-cli -m ../DeepSeek-R1-Distill-Llama-8B-Q2_K_L.gguf -p "Hello" -t 1,使用-t 1可以指定单线程调试。

判断RVV是否支持的手段

在llama.cpp里的RVV相关的算子里,如果判断平台当前是否支持RVV,使用的手段是:

cpp 复制代码
#if defined(__riscv_v_intrinsic)

cpp 复制代码
#if defined(__riscv_v)

或者通过

cpp 复制代码
if(ggml_cpu_has_riscv_v) {
    }

但需要注意的是:

根据ggml/src/ggml-cpu/CMakeLists.txt的内容,rvv生效的部分仅位于ggml/src/ggml-cpu范围内,因此,使用rvv需要严格的限制在此范围内的文件(当然也可以通过修改CMakeLists.txt使得范围扩张)。

相关推荐
旺仔.291几秒前
Linux系统基础详解(二)
linux·开发语言·网络
x***r1511 分钟前
Notepad++ 8.6 安装教程:详细步骤+自定义安装路径(附注意事项)
linux·前端·javascript
big_rabbit05025 分钟前
JVM堆内存查看命令
java·linux·算法
bwz999@88.com25 分钟前
联想SR5507X04安装ubuntu-24.04.4 server,采用 Linux 原生mdadm(mdraid)软 RAID+LVM分区
运维·服务器
Canicer30 分钟前
OpenClaw搭配Coze工作流实现全自动发布文章至WordPress网站!
运维·服务器
王小义笔记39 分钟前
WSL(Linux)如何安装conda
linux·运维·conda
Fairy要carry41 分钟前
面试10-Agent 团队协议的管理
运维·服务器·网络
偷懒下载原神1 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
skd89991 小时前
MicroSIP助手,智慧语音V3.2.3版本,MicroSIP自动拨号助手
服务器
源远流长jerry1 小时前
RDMA 传输服务详解:可靠性与连接模式的深度剖析
linux·运维·网络·tcp/ip·架构