如何在DCU上面编译llama.cpp

文章目录

推荐一个免费的 语音识别网站

一、环境配置

操作系统以及各种软件的版本如下:

二、下载代码并编译

bash 复制代码
git clone  https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx928 -DCMAKE_BUILD_TYPE=Release

备注:在上面的命令中,gfx928是DCU的架构名称,可以通过下面的命令获得:

bash 复制代码
clinfo | grep Name

编译时,报错如下:

此时,vi examples/CMakeLists.txt,将simple文件夹那行注释掉:

重新运行上面的编译命令,再次报错如下:

解决办法是:

bash 复制代码
sed -i 's/5\.3\.25211/6.3.25211/g' /opt/dtk/lib/cmake/hip/hip-config-version.cmake

然后再次重新运行上面的编译命令。

完成后,再运行:(下面的128可改为你真实的cpu核数)

bash 复制代码
cmake --build build --config Release -- -j 128

此处的编译时间很长,需耐心等待。

如果中途报错如下:

那么就执行下面的操作:

bash 复制代码
apt install libclang-rt-15-dev
#下面的LDFLAGS路径是通过这个命令获得:find /usr/lib -name "libclang_rt.builtins-x86_64.a"
#/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux/libclang_rt.builtins-x86_64.a
export LDFLAGS="-L/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux"
rm -rf build
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx928 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -- -j 128

最终成功的编译结果截图:

128核cpu并行编译,耗时7分钟38秒。

三、参考文献

相关推荐
学计算机的计算基3 分钟前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法
一只小菜鸡..14 分钟前
Stanford CS144 学习笔记 (九):大师访谈与互联网的未来
笔记·学习
十月的皮皮32 分钟前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库
疯狂打码的少年37 分钟前
【软件工程】软件项目管理(人员/产品/过程/项目)
笔记·软件工程
zyplayer-doc1 小时前
研发接口文档怎么长期维护:zyplayer-doc把API、Markdown和变更记录放进同一个知识库
大数据·数据库·人工智能·笔记·pdf·ocr
2CM_Embed1 小时前
F28379D 下载后 VOFA+ 无数据、Reset 后恢复:一次 TZ 中断误触发排查记录
笔记·单片机·sci·c2000·f28379d·vofa·tz
星恒随风2 小时前
C++ STL 详解:list 的使用、迭代器失效、模拟实现与 vector 对比
开发语言·数据结构·c++·笔记·学习·list
一起努力啊~2 小时前
DataWhale组队学习笔记--llm-algo-leetcode(五)
笔记·学习·llm
是上好佳佳佳呀3 小时前
【机器学习|DAY03】K近邻算法(KNN)笔记
笔记·机器学习·近邻算法
圣光SG13 小时前
Servlet学习笔记
笔记·学习·servlet