ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

llama.cpp MUSA GPU 跑通指南:从编译报错到推理成功的 4 步

llama.cpp MUSA GPU 跑通指南:从编译报错到推理成功的 4 步 llama.cpp MUSA GPU 跑通指南从编译报错到推理成功的 4 步【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp你敲下编译命令终端刷出一片红色报错先是musa.h: No such file or directory接着 cmake 提示找不到 MUSA Toolkit。别慌llama.cpp 对 MUSA摩尔线程 GPU的支持已经比较成熟了卡住你的通常就三件事环境没装对、架构参数没指定、运行参数没调好。 这篇文章带你走通装环境 → 编译 → 跑通 → 排障全流程。从装 MUSA 驱动到进容器环境搭建全流程先交代一句背景MUSA 后端复用了 ggml 里 CUDA 的内核实现两边差异由兼容层抹平源码在ggml/src/ggml-cuda/vendors/musa.h你不用关心它内部怎么写的。要跑通按下面四步走装驱动和 MUSA SDK宿主机装好后用musactl --version确认 toolkit 版本再跑musactl devices确认 GPU 被识别。这两条命令能排除掉一大半环境玄学。拉镜像起容器官方 CI 用的就是下面这个 mthreads 官方镜像仓库 clone 地址是https://gitcode.com/GitHub_Trending/ll/llama.cppdocker run --privileged -it \ -v $PWD:/ws -w /ws \ mthreads/musa:rc4.3.0-devel-ubuntu22.04-amd64容器内编译先补装基础依赖apt update -y apt install -y bc cmake ccache git然后在仓库根目录执行cmake -B build -DGGML_MUSAON -DMUSA_ARCHITECTURES21 cmake --build build -j$(nproc)其中MUSA_ARCHITECTURES写你自己的卡对应架构MTT S80 是 21。如果你不想折腾容器宿主机装好 SDK 后直接跑上面两条 cmake 也行选项定义都在ggml/CMakeLists.txt里。跑第一次推理./build/bin/llama-cli -m model-q4_0.gguf -p Hello -ngl 99看到模型正常吐字就算跑通了。三类高频报错速查症状 → 原因 → 处理真跑起来后你大概率会遇到下面三种情况对着表查就行症状可能原因怎么处理musa.h找不到 /MUSA Toolkit not foundSDK 没装或MUSA_PATH没指向 SDK 目录装 SDK找不到时手动export MUSA_PATH/opt/musa再重新 cmake初始化 MUSA 上下文失败、看不到设备驱动与 toolkit 版本不匹配或容器没拿到 GPU核对musactl --versiondocker 启动务必带--privilegedout of memory上下文太长、模型太大或卸载层数过多先砍-c上下文长度换更低比特量化模型最后再降-ngl榨干性能编译侧和运行侧编译侧重点解释两个参数为什么有效-DMUSA_ARCHITECTURES21默认会编译 21、22、31 三代架构的全部内核模板实例编译又慢、产物又大。只编自己卡的架构编译时间和二进制体积都能明显缩水运行速度不变。-DGGML_MUSA_GRAPHSON实验性开启图捕获模式把重复的内核启动开销降下来长文本生成场景更受益。运行侧推荐这组参数./build/bin/llama-cli -m model-q4_0.gguf -p Hi \ -ngl 99 -c 4096 -fa on -b 512其中最影响速度的是-ngl卸载到 GPU 的层数每多一层进显存就少一层被 CPU 拖慢。-fa on开启 Flash Attention长上下文下省显存也更稳。用官方工具验证和排障跑通之后建议顺手验证一下项目自带三件工具ctest / test-backend-opscd build ctest跑单元测试会校验 MUSA 后端各算子的数值正确性改过架构参数后跑一遍最安心。llama-bench./build/bin/llama-bench -m model.gguf输出 tokens/s方便你对比开不开 FA、CPU 和 GPU 的差距。日志开关给命令行加-v或调高--log-verbosity值日志越详细初始化失败这类问题越容易定位到具体一步。更完整的 CI 流程见仓库里的ci/README-MUSA.md构建选项文档在docs/build.md和docs/docker.md。遇到问题别硬扛把完整报错贴到项目 issues 里通常很快有人能定位。下一篇聊聊 MUSA 卡上的量化性能对比感兴趣的持续关注。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表