安装TensorNVMe和Deepspeed时遇到的坑:无root权限安装libaio依赖库
如果你有root权限,用下面这行代码一键安装即可:
sudo apt install libaio1 libaio-dev
如果没有root权限,步骤如下
- 下载
libaio
git clone https://pagure.io/libaio
- 安装
libaio
cd libaio
make prefix=`pwd`/usr install
上面命令会在 /path/to/libaio/usr
路径下安装libaio,安装成功后会得到两个文件夹,结构如下:
/path/to/libaio/usr/
|__incude
|__libaio.h
|__lib
|__libaio.a
|__libaio.so
|__libaio.so.1
|__libaio.so.1.0.2
- 将文件加入环境变量路径
之前我一直是将路径加入到PATH
和LD_LIBRARY_PATH
这两个变量中去,但是死活安装不上TensorNVMe和Deepspeed(因为我想使用offload)。
下面介绍具体如何做,用vim ~/.bashrc
命令编辑.bashrc
文件,并添加下面两行即可。你需要将路径改成你的路径:
export CFLAGS="-I/path/to/libaio/usr/include $CFLAGS"
export LDFLAGS="-L/path/to/libaio/usr/lib $LDFLAGS"
export C_INCLUDE_PATH=/path/to/libaio/usr/include
4. 安装TensorNVMe和Deepspeed
- 安装Deepspeed
git clone https://github.com/microsoft/DeepSpeed.git
cd DeepSpeed
DS_BUILD_CPU_ADAM=1 DS_BUILD_AIO=1 DS_BUILD_UTILS=1 pip install -e . --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check
- 安装TensorNVMe
pip install TensorNVMe
后记,这破玩意浪费了我两个星期才安装好,感谢https://poe.com/sage ,让我找到了问题所在,虽然它最开始也没有告诉我怎么做,前后浪费了我快两个星期。。