如何调试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使得范围扩张)。

相关推荐
Jason_zhao_MR26 分钟前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式
FITA阿泽要努力30 分钟前
第 1 周·第 3 讲|工具如何交给模型:工具定义、参数与结构化调用
服务器·数据库·python·agent
qetfw39 分钟前
Debian SSH 安全配置:端口、来源限制与免密登录
linux·安全·debian·ssh
东鹏特饮44 分钟前
15个实用Linux运维脚本
linux·运维·shell·脚本·redhat·常用生产脚本
远牧1 小时前
Ubuntu 26 升级踩坑实录:hermes-agent venv 重建全过程
linux·ubuntu·ai·agent
新时代牛马1 小时前
Linux PREEMPT_RT 详解(5.10.268-rt164)
linux·运维·服务器
眼不痛请看我1 小时前
Ubuntu_22.04_LTS虚拟机安装指南
linux·数据库·ubuntu
哎呦,帅小伙哦1 小时前
查看网卡配置连接工具组合——nmcli + nmtui
linux
xiaoye-duck1 小时前
《Linux 网络编程》从 0 手写 Reactor 反应堆(上):拆解 Reactor 架构 —— 连接抽象、Poller 封装与事件派发核心
linux·网络
脚踏实地,坚持不懈!1 小时前
Android 电池健康度检测全流程(驱动 → 内核 → HAL → Framework)
android·linux