ADD file via upload
DeepSeek等模型的兴起推动了端侧大模型的发展,而RISC-V架构凭借其开放性和可扩展性,在端侧推理终端中逐步占据一席之地。优化RISC-V端侧大模型推理技术,不仅能提升推理性能,还能推动RISC-V操作系统AI生态的完善,加速RISC-V智能操作系统的发展。 本赛题旨在通过优化大模型应用中的核心算子,在 RISC-V 架构上实现高效的推理性能,充分利用RISC-V向量和矩阵扩展指令集,以及多核计算体系架构,进一步提升大模型推理的计算速度和吞吐量。 推理框架方面,参赛者可以选择llama.cpp开源框架。操作系统环境为开源操作系统,要求参赛者基于此系统进行开发,提供全方位的优化方案。
李可 li_ke@hl-it.cn
════════════════════════════════════════════════════════════════════════════════════════════════
此项目基于Lichee Pi 4A开发,配置如下表所示 | Lichee Pi 4A | 参数说明 | |——————|—————————————| | SoC | SpacemiT TH1520 | | CPU 核心 | 4 × Xuantie C910,64-bit RISC-V | | 向量扩展 | RVV 0.7,支持最大 m8 向量宽度 | | 内存 | 16GB LPDDR4X | | 存储 | 128GB eMMC + 可扩展 NVMe | | 系统 | OpenKylin |
新版 GCC 中虽然有了 XTheadVector 的支持,但部分指令与 RVV0p7 是不对应的。强行使用 XTheadVector 会导致编译错误。因此,我们需要使用 RVV0p7 的工具链。
cd ~ // 下载编译链压缩包 wget https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz // 解压 tar -xvf RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz cd RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu/bin // 设置环境变量 export PATH=$(pwd):$PATH
git clone https://gitlink.org.cn/cufish/mxdmxyydrvxlhjzkzszyh.git //cd至项目根目录 cd
// 构建 CC=riscv64-plctxthead-linux-gnu-gcc CXX=riscv64-plctxthead-linux-gnu-g++ cmake -B build -DGGML_XTHEADVECTOR=ON -DLLAMA_CURL=OFF -DGGML_OPENMP=OFF -DCMAKE_BUILD_TYPE=Release // 如果报错permission denied,就使用sudo运行,但sudo会使设置的临时环境变量失效,因此需要指定编译器的路径 sudo CC=path-to-riscv64-plctxthead-linux-gnu-gcc CXX=path-to-riscv64-plctxthead-linux-gnu-g++ cmake -B build -DGGML_XTHEADVECTOR=ON -DLLAMA_CURL=OFF -DGGML_OPENMP=OFF -DCMAKE_BUILD_TYPE=Release // 生成可执行文件,可在命令最后添加-j {线程数} cmake --build build
以运行llama-cli为例。默认模型文件存放在models文件夹
./build/bin/llama-cli -m models/Qwen3-1.7B-f16.gguf // 运行后会进入聊天交互
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
赛题题目:面向大模型应用的RISC-V向量和矩阵扩展算子优化
赛题说明:
DeepSeek等模型的兴起推动了端侧大模型的发展,而RISC-V架构凭借其开放性和可扩展性,在端侧推理终端中逐步占据一席之地。优化RISC-V端侧大模型推理技术,不仅能提升推理性能,还能推动RISC-V操作系统AI生态的完善,加速RISC-V智能操作系统的发展。 本赛题旨在通过优化大模型应用中的核心算子,在 RISC-V 架构上实现高效的推理性能,充分利用RISC-V向量和矩阵扩展指令集,以及多核计算体系架构,进一步提升大模型推理的计算速度和吞吐量。 推理框架方面,参赛者可以选择llama.cpp开源框架。操作系统环境为开源操作系统,要求参赛者基于此系统进行开发,提供全方位的优化方案。
赛题要求:
评分标准:
功能完整性(40%):
性能优化(30%):
代码规范性(20%):
文档质量(10%):
赛题联系人:
李可 li_ke@hl-it.cn
参考资料:
参赛资源支持:
════════════════════════════════════════════════════════════════════════════════════════════════
项目安装指南
硬件平台
此项目基于Lichee Pi 4A开发,配置如下表所示 | Lichee Pi 4A | 参数说明 | |——————|—————————————| | SoC | SpacemiT TH1520 | | CPU 核心 | 4 × Xuantie C910,64-bit RISC-V | | 向量扩展 | RVV 0.7,支持最大 m8 向量宽度 | | 内存 | 16GB LPDDR4X | | 存储 | 128GB eMMC + 可扩展 NVMe | | 系统 | OpenKylin |
交叉编译链
新版 GCC 中虽然有了 XTheadVector 的支持,但部分指令与 RVV0p7 是不对应的。强行使用 XTheadVector 会导致编译错误。因此,我们需要使用 RVV0p7 的工具链。
下载项目源码
编译项目
Quick Start
以运行llama-cli为例。默认模型文件存放在models文件夹
优化思路图