pyAerial 入门#

先决条件#

运行 pyAerial 需要其自身的容器,该容器还包含常与 pyAerial 一起使用的机器学习工具

要创建和启动 pyAerial 容器,需要以下条件

源代码需要从 NVIDIA Aerial CUDA 加速 RAN 容器复制到容器外部的目录。源代码可以复制到 cuBB 目录中,如下所示 (例如,请参阅下面的注释)

docker run --rm -d --name cuBB <container image file>
docker cp cuBB:/opt/nvidia/cuBB cuBB
docker stop cuBB
cd cuBB

注意

如果容器已在运行,则可以省略上面的第一个命令。 同样,如果希望保持 cuBB 容器运行,则可以省略 stop 命令。 上面的示例展示了一种将源代码从容器内部复制到容器外部目录的方法。

HPC Container Maker 可以按如下方式安装

pip install hpccm

安装 pyAerial#

一旦满足上述先决条件,pyAerial 容器将使用以下脚本构建

export cuBB_SDK=`pwd`
AERIAL_BASE_IMAGE=<container image file> $cuBB_SDK/pyaerial/container/build.sh

然后可以使用以下脚本启动容器

$cuBB_SDK/pyaerial/container/run.sh

容器运行后,可以按如下方式构建和安装 pyAerial(这些命令在 pyAerial 容器内发出)

cd $cuBB_SDK
cmake -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=cuPHY/cmake/toolchains/native -DNVIPC_FMTLOG_ENABLE=OFF
cmake --build build -t _pycuphy pycuphycpp
./pyaerial/scripts/install_dev_pkg.sh

注意

请注意,与 Aerial cuPHY 类似,pyAerial 默认针对计算能力为 8.0 或 9.0 的 GPU 构建,这也是 pyAerial 经过测试的目标。 不保证 pyAerial 在其他 GPU 上能正常工作。 但是,pyAerial 可以使用额外的 cmake 选项针对其他计算能力构建,例如 CC 8.9

cmake -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=cuPHY/cmake/toolchains/native -DNVIPC_FMTLOG_ENABLE=OFF -DCMAKE_CUDA_ARCHITECTURES="89"

测试安装#

为了测试安装是否正常工作,可以运行如下所述的示例 Jupyter Notebook。或者,可以按如下方式运行单元测试

$cuBB_SDK/pyaerial/scripts/run_unit_tests.sh

注意:单元测试基于 Aerial CUDA 加速 RAN 测试向量。 这些需要挂载在 pyAerial 容器内,并且环境变量 TEST_VECTOR_DIR 设置为指向测试向量目录。 有关如何生成测试向量的信息,请参阅 Aerial CUDA 加速 RAN 文档。

测试安装的一种简单方法是运行(在 pyAerial 容器内)

python3 -c "import aerial"

这应该通过且没有错误。

运行示例 Jupyter Notebook#

NVIDIA pyAerial 包含许多 Jupyter Notebook 格式的示例 Notebook。 Jupyter Notebook 可以使用 JupyterLab 在 pyAerial 容器内交互式运行。 这可以通过如下方式启动 JupyterLab 服务器来完成

cd $cuBB_SDK/pyaerial/notebooks
jupyter lab --ip=0.0.0.0

然后将浏览器指向给定的地址。 请注意,Aerial 数据湖 Notebook 需要首先创建示例数据库。 有关如何启动 ClickHouse 服务器和创建示例数据库的信息,请参阅 Aerial 数据湖文档。

Notebook 的预执行版本在此处找到:pyAerial 使用示例