推荐一个免费的[语音识别网站](https://www.scnet.cn/ui/aihub/agent/zhenghong/asr)
# 一、环境配置
操作系统以及各种软件的版本如下:

# 二、下载代码并编译
```bash
# 注意要下载b6792版本,因为最新的版本你到最后会发现gguf模型在推理时,会报各种乱码
git clone --depth 1 --branch b6792 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 -y 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
```
如果还报错:
```bash
/root/private_data/work_space/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu:3840:24: error: no member named 'unifiedAddressing' in 'hipDeviceProp_t'
```
就修改ggml/src/ggml-cuda/ggml-cuda.cu:
把这行代码:
```bash
bool is_uma = prop.unifiedAddressing > 0 || uma_env;
```
改为:
```bash
bool is_uma = uma_env;
```
然后再重新编译。
最终成功的编译结果截图:

128核cpu并行编译,耗时7分钟38秒。
# 总结一下,整体安装脚本如下:
```bash
apt update
apt install -y libclang-rt-15-dev
export LDFLAGS="-L/usr/lib/llvm-15/lib/clang/15.0.7/lib/linux"
rm -rf build
sed -i 's/5\.3\.25211/6.3.25211/g' /opt/dtk/lib/cmake/hip/hip-config-version.cmake
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
```
# 三、参考文献
- [llama.cpp官网](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md#hip)
然后整个编译过程非常顺利