如何在 chroot 的 Debian 环境中设置和编译 FastLLM 以利用 MT6895Z/TC SoC 的性能。
在 chroot 的 Debian 上设置和编译 FastLLM
前提条件
- 设备已 root 并且 chroot 环境已安装。
- 已安装 Debian chroot 环境。
第一步:准备 chroot 环境
-
确保你的 chroot 环境是最新的:
sudo apt update && sudo apt upgrade
-
安装必要的开发工具和库:
sudo apt install build-essential cmake git libopenblas-dev liblapack-dev
-
安装 OpenMP:
sudo apt install libomp-dev
-
确保 /dev/random 和 /dev/urandom 存在:
ls -l /dev/random /dev/urandom
如果这些文件不存在,从宿主系统挂载它们:
mount -o bind /dev/random /path/to/chroot/dev/random mount -o bind /dev/urandom /path/to/chroot/dev/urandom
-
设置 /tmp 目录的权限:
mkdir -p /tmp chmod 1777 /tmp
-
检查 /root 目录的权限:
ls -ld /root
确保它的权限至少是 700。
第二步:克隆 FastLLM 仓库
-
克隆仓库:
git clone https://github.com/ztxz16/fastllm.git cd fastllm
-
如果克隆失败,尝试使用 --depth 1 选项:
git clone --depth 1 https://github.com/ztxz16/fastllm.git
-
如果仍然失败,直接下载 zip 文件:
wget https://github.com/ztxz16/fastllm/archive/refs/heads/main.zip unzip main.zip mv fastllm-main fastllm
第三步:配置和编译 FastLLM
-
创建并进入构建目录:
mkdir build cd build
-
设置环境变量以确保 pkg-config 能找到 OpenBLAS:
export BLAS_HOME=/usr/lib/aarch64-linux-gnu export LD_LIBRARY_PATH=$BLAS_HOME:$LD_LIBRARY_PATH
-
运行 CMake 命令进行配置:
cmake .. -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS="-O3 -march=armv8.2-a+fp16+simd -mtune=cortex-a78 -fopenmp -pthread --std=c++17 $(pkg-config --cflags openblas)" \ -DCMAKE_EXE_LINKER_FLAGS="$(pkg-config --libs openblas)" \ -DUSE_OPENMP=ON
-
编译项目:
make -j$(nproc)
第五步:后续步骤
-
如果性能不如预期:
- 检查是否所有核心都在被使用。
- 确认 OpenMP 是否正确启用和配置。
- 考虑使用性能分析工具来识别瓶颈。
-
定期更新和维护:
保持你的 chroot 环境和 FastLLM 项目更新,以利用最新的优化和修复。
通过以上步骤,你应该能够在 chroot 的 Debian 环境中成功设置和编译 FastLLM,并利用 MT6895Z/TC SoC 的性能。如果在过程中遇到任何问题,建议查阅相关文档或社区支持资源。
转自 https://ai-chatgpt.eu.org/