Skip to content

0319

今天早上在水课上坐牢,配置以及运行nv新出的推理框架测试下性能(尚未跑通)。下午和师兄聊了下在新场景里推理框架可以做的工作。计划这两天看一下这个领域里相关的工作Mooncake、vllm里对应模块的工作,判断下work的可行性。配置了下昇腾的基础开发环境,尝试修了下glibc的一个bug。算是在“推理优化”这个主线任务上做了一点工作吧。

ubuntu昇腾环境配置

apt-get install -y gcc make net-tools python3 python3-dev python3-pip
# 以下我使用uv进行虚拟环境配置
uv pip install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py

下载CANN社区版资源下载-资源下载中心-昇腾社区

chmod +x Ascend-cann-toolkit_8.0.0.alpha003_linux-x86_64.run
./Ascend-cann-toolkit_8.0.0.alpha003_linux-x86_64.run --check
./Ascend-cann-toolkit_8.0.0.alpha003_linux-x86_64.run --install

Reference

环境准备-Ascend C自定义算子开发-算子开发-CANN社区版8.0.0.alpha003开发文档-昇腾社区

glibc修复

Q: 在使用uv pip install xxxx时报错,hint: Wheels are available for xxxx on the following platform: manylinux_2_38_x86_64 检索后发现是ubuntu20.04版本的glibc2.31版本过旧(使用ldd --version),不支持安装在glibc2.38预编译的wheels

前往The GNU C Library - GNU Project - Free Software FoundationGNU的glibc软件仓库Index of /gnu/glibc下载对应的源码

# wget下载glibc源码
wget https://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.gz
# 解压
tar xzvf glibc-2.38.tar.gz
cd glibc-2.38
# 安装编译相关的依赖
sudo apt install build-essential libssl-dev libgdbm-dev libdb-dev libexpat-dev libncurses5-dev libbz2-dev zlib1g-dev gawk bison
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.38
make -j$(nporc)
sudo make install
export LD_LIBRARY_PATH=/usr/local/glibc-2.38/lib:$LD_LIBRARY_PATH && uv pip install xxx 

(结果直接core dump了,艹)

Reference

How to Install Multiple glibc Libraries on Linux