Skip to content

Latest commit

 

History

History
84 lines (66 loc) · 2.46 KB

build.md

File metadata and controls

84 lines (66 loc) · 2.46 KB

编译和安装

LMDeploy 提供了预编译包,可以很方便的通过 pip install lmdeploy 安装和使用。

如果有源码编译的需求,请先下载 lmdeploy 源码:

git clone --depth=1 https://github.com/InternLM/lmdeploy

然后,参考以下章节编译和安装。

在 docker 内编译安装(强烈推荐)

LMDeploy 提供了编译镜像 openmmlab/lmdeploy-builder:cuda11.8。使用之前,请确保 docker 已安装。

在 lmdeploy 源码的根目录下,运行以下命令:

# lmdeploy 源码根目录
cd lmdeploy
bash builder/manywheel/build_all_wheel.sh

即可在 builder/manywheel/cuda11.8_dist 文件夹下,得到 lmdeploy 在 py3.8 - py3.11 下所有的 wheel 文件。比如,

builder/manywheel/cuda11.8_dist/
├── lmdeploy-0.0.12-cp310-cp310-manylinux2014_x86_64.whl
├── lmdeploy-0.0.12-cp311-cp311-manylinux2014_x86_64.whl
├── lmdeploy-0.0.12-cp38-cp38-manylinux2014_x86_64.whl
└── lmdeploy-0.0.12-cp39-cp39-manylinux2014_x86_64.whl

如果需要固定 python 版本的 wheel 文件,比如 py3.8,可以执行:

bash builder/manywheel/build_wheel.sh py38 manylinux2014_x86_64 cuda11.8 cuda11.8_dist

wheel 文件存放在目录 builder/manywheel/cuda11.8_dist 下。

在宿主机上,通过 pip install 安装和宿主机python版本一致的 wheel 文件,即完成 lmdeploy 整个编译安装过程。

在物理机上编译安装(可选)

首先,请确保物理机环境的 gcc 版本不低于 9,可以通过gcc --version确认。

然后,按如下步骤,配置编译环境:

  • 安装编译和运行依赖包:
    pip install -r requirements.txt
    apt-get install rapidjson-dev
  • 安装 nccl,设置环境变量
    export NCCL_ROOT_DIR=/path/to/nccl/build
    export NCCL_LIBRARIES=/path/to/nccl/build/lib
  • 源码编译安装 openmpi:
    wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz
    tar xf openmpi-4.1.5.tar.gz
    cd openmpi-4.1.5
    ./configure
    make -j$(nproc) && make install
  • lmdeploy 编译安装:
    # 安装更快的 Ninja
    apt install ninja-build
    # lmdeploy 源码的根目录
    cd lmdeploy
    mkdir build && cd build
    sh ../generate.sh
    ninja && ninja install
    ninja -j$(nproc) && ninja install
  • 安装 lmdeploy python package:
    cd ..
    pip install -e .