2. 安装

Note

请与 c600-support@graphcore.ai 联系以获取文中使用的容器和其他资源.

Note

文中的示例将省略设备映射的参数, 请在需要时添加, 或使用 gc-docker 工具自动处理.

对于 C600 卡来说, 每个 IPU 设备需要映射 3 个设备文件, 以 ipu0 为例, 需要映射 /dev/ipu0, /dev/ipu0_ex/dev/ipu0_mem. 以下是映射 ipu0ipu1 两个设备到容器的示例:

docker run \
    --device=/dev/ipu0:/dev/ipu0 --device=/dev/ipu0_ex:/dev/ipu0_ex --device=/dev/ipu0_mem:/dev/ipu0_mem \
    --device=/dev/ipu1:/dev/ipu1 --device=/dev/ipu1_ex:/dev/ipu1_ex --device=/dev/ipu1_mem:/dev/ipu1_mem \
    --ipc=host \
    ...

对于 M2000/Bow2000 系列来说, 将需要添加以下参数:

docker run \
    --ulimit memlock=-1:-1 --net=host --cap-add=IPC_LOCK --device=/dev/infiniband/ --ipc=host\
    -v /path/to/ipu.conf:/etc/ipuof.conf -e IPUOF_CONFIG_PATH=/etc/ipuof.conf \
    ...

其中更多关于 IPUOF_CONFIG_PATH 的信息, 请参考 Using IPU Pod partitions

2.1. 从 Docker 镜像快速开始

PopRT 提供了已经安装好 Release 版本的 Docker 镜像.

这里以版本 v1.0.0 为例, 存在以下镜像:

# ubuntu-20.04 with Poplar SDK v3.1.0
docker pull graphcorecn/poprt:1.0.0-sdk-3.1.0-ubuntu-20.04
# debian-10 with Poplar SDK v3.1.0
docker pull graphcorecn/poprt:1.0.0-sdk-3.1.0-debian-10

快速开始

docker pull graphcorecn/poprt:1.0.0-sdk-3.1.0-ubuntu-20.04
docker run --rm graphcorecn/poprt:1.0.0-sdk-3.1.0-ubuntu-20.04 -v

2.2. 从 Wheel 包开始安装

PopRT/releases 页面下载相应的 whl 包.

v1.0.0 为例, 存在多个 whl 包:

# for ubuntu-20.04 with Poplar SDK v3.1.0
poprt-1.0.0.ubuntu.2004-cp38-cp38-linux_x86_64.whl
# for debian-10 with Poplar SDK v3.1.0
poprt-1.0.0.debian.10-cp37-cp37m-linux_x86_64.whl

下载需要的 whl 包后, 后面使用容器安装时可以将文件映射到对应的容器中.

2.2.1. For Ubuntu 20.04

PopRT 在 Ubuntu 20.04 上仅提供 Python3.8 的支持.

从 Host 开始

Note

访问 SOFTWARE DOWNLAODS 以获取需要的 Poplar SDK.

PopRT 依赖 Poplar SDK >= v3.1.0, 在获得对应的 SDK 后, 首先启用 SDK, 参考以下命令:

# 如果已经启用其他版本的 SDK, 需要执行这一步
# unset POPLAR_SDK_ENABLED
source /path/to/sdk/enable

可以通过以下命令查看目前在使用的 SDK 所在的路径:

echo $POPLAR_SDK_ENABLED

如果不希望 PopRT 安装在默认的 Python 环境内, 可以使用 venv 创建隔离的环境使用.

安装 whl

pip install poprt-*.whl

验证版本

python -m poprt.cli -v

从 Poplar Docker 镜像开始

默认的 Poplar Docker 镜像 没有预装 Python, 准备好 Python 环境后即可安装 PopRT.

启动容器

docker pull graphcore/poplar:3.1.0-ubuntu-20.04
docker run --rm -it \
    -v `pwd`:/work \
    -w /work \
    graphcore/poplar:3.1.0-ubuntu-20.04 \
    /bin/bash

安装 Python

apt update
apt install python3 python3-pip -y

安装 whl

pip3 install poprt-*.whl

验证版本

python3 -m poprt.cli -v