2. 安装

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. PopRT 和 Poplar SDK 版本的对应关系

PopRT 的版本需要和 Poplar SDK 的版本对应, 以保证 PopRT 的功能和 Poplar SDK 的兼容性. 具体的对应关系如下:

PopRT 版本

Poplar SDK 版本

注释

v1.1.0

v3.2.0

v1.0.2

v3.1.0

2.2. 从 Docker 镜像快速开始

PopRT 提供了 Release 版本的 Docker 镜像. 可在 DockerHub 页面查看详细信息.

快速开始

docker pull graphcorecn/poprt:latest
docker run --rm graphcorecn/poprt:latest -v

2.3. 在 Host 上安装 PopRT

访问 Github Releases 页面下载需要的 whl 包.

访问 SOFTWARE DOWNLAODS 以获取对应版本的 Poplar SDK.

2.3.1. For Ubuntu 20.04

Note

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

在获得对应的 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

验证版本

poprt -v

# for PopRT version 1.0.2, expected output is:
# PopRT version: 1.0.2
# Build with SDK: 3.1.0+6824 (8387f79d96)
# Runtime SDK: 3.1.0+6824 (8387f79d96)