Ubuntu 24.04下编译支持ROCm加速的llama.cpp

llama.cpp官方编译发布的ubuntu版本只支持cpu和vulkan版本,如需原生ROCm加速,需要自行编译。

这提供了对支持HIP的AMD GPU的GPU加速。确保已安装ROCm。您可以从Linux发行版的包管理器或此处下载ROCm快速入门(Linux)。

复制代码
# 安装必要的依赖
sudo apt install cmake git libcurl4-openssl-dev
# 克隆代码
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

# 执行编译
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release -- -j 28

如果编译成功,在可以在llama.cpp/build/bin 中查看到全部的cli和so

复制代码
# 测试命令
./build/bin/llama-cli 

# 打印
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:    no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 ROCm devices:
  Device 0: AMD Radeon Graphics, gfx906:sramecc-:xnack- (0x906), VMM: no, Wave Size: 64
build: 0 (unknown) with cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 for x86_64-linux-gnu
main: llama backend init
main: load the model and apply lora adapter, if any
llama_model_load_from_file_impl: using device ROCm0 (AMD Radeon Graphics) (0000:05:00.0) - 32732 MiB free
gguf_init_from_file: failed to open GGUF file 'models/7B/ggml-model-f16.gguf'
llama_model_load: error loading model: llama_model_loader: failed to load model from models/7B/ggml-model-f16.gguf
llama_model_load_from_file_impl: failed to load model
common_init_from_params: failed to load model 'models/7B/ggml-model-f16.gguf', try reducing --n-gpu-layers if you're running out of VRAM
main: error: unable to load model

可以看到已经加载了ROCm后端,表示成功。

相关推荐
Han.miracle3 小时前
Linux 常用命令速查与实战精讲
linux
网安老伯3 小时前
护网行动防守实战:Web应用XSS漏洞应急处置与防护体系搭建_护网行动web应用
linux·运维·服务器·前端·web安全·网络安全·xss
不愿透露姓名的大鹏3 小时前
MySQL慢查询日志实战优化指南
linux·服务器·数据库·mysql·adb
峥无4 小时前
Linux Makefile
linux·运维·服务器
camellia4 小时前
ubuntu(三)ubuntu18.04安装php7.3fpm
后端·ubuntu
笨笨饿4 小时前
28_关于交叉学科的学习方法
linux·服务器·c语言·算法·学习方法·机械
aningx4 小时前
一些linux配置文件备份
linux
一个人旅程~4 小时前
如何解决跨平台(macos/win)与跨app软件工具(Pages、Keynote/office等)的字体错乱与排版混乱问题?(完整版)
linux·windows·经验分享·macos·电脑
2401_892070981 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
lwx9148521 天前
Linux-Shell算术运算
linux·运维·服务器