今天又折腾了一下openEuler和vllm.
openEuler RISC-V QEMU镜像
openEuler的镜像是官方提供的, 今天意识到原来qemu-img工具如此强大.
一方面是镜像可以增量保存, 通过qemu-img create创建一个新的镜像, 不会修改原有的基础镜像.
者可以很方便得在不同版本的os之间切换.
1 | qemu-img create -o backing_file=base.qcow2,backing_fmt=qcow2 -f qcow2 test.qcow2 |
另外QEMU的镜像也可以创建snapshot, 查看已有的snapshot, 从snapshot中恢复镜像
1 | qemu-img snapshot -c snap1 test.qcow2 |
创建管理用户
刚进入系统时只有root用户, 为了后面开发更安全, 还是有必要先创建一个普通用户
1 | useradd <username> |
改一下/etc/sudoers, 给<username>加上sudo权限
再装一个zsh, 改一下/etc/passwd设置一下默认的shell为zsh, 方便用zsh的autosuggestion和highlight
安装软件
openEuler推荐用dnf来管理软件包, 用下面的命令可以列出所有的软件源.
1 | dnf repolist all |
据openEuler的文档介绍, 只需要留OS和source两个软件源就可以了,
其它软件源可以通过dnf config-manager来启用或禁用
1 | dnf config-manager --enable/disable <repo> |
安装, 卸载, 搜索软件包和apt差不多, 都是install, remove, search命令
vllm
vllm是一个python的包, 可以用来做语言模型的推理, 我先尝试在x86的机器上跑, 结果提示我的GPU显存不足, 所以还是需要根据源码来编译一个版本进行测试.
我没有用uv管理环境, 而是用conda, 在创建conda虚拟环境之后安装依赖
1 | pip install -r requirements/cpu-build.txt |
编译安装vllm
1 | VLLM_TARGET_DEVICE=cpu uv pip install . --no-build-isolation |
这样就成功安装来CPU版本的vllm了, 我用的源码是v0.11.0版本的, 也就是最新的release版本,
前面0.9.2版本好像有点问题.
这样就可以跑指定的模型来做性能测试了:
1 | vllm bench throughput --model "Qwen/Qwen2.5-7B-Instruct" --input-len 64 --output-len 64 --num-prompts 1 |
如果要在openEuler RISC-V的虚拟机上编译vllm的话感觉有点麻烦, 需要之后再尝试一下.