1. 安装综述¶
1.1. 综述¶
TopsRider 是燧原软件栈的总称,覆盖用户运行所需要的驱动、开发框架、应用软件等,为了帮助大家快速安装,节约开发流程,燧原官方提供了 TopsInstaller 安装方式,快速实现软件栈的安装。
1.2. 名词解释¶
名词 |
解释 |
---|---|
GCU |
General Compute Unit 的缩写, Enflame 生产的高性能并行计算设备。 |
TopsInstaller |
将 TopsRider 软件栈整体封装后的自解压软件安装包 |
2. 安装说明¶
2.1. 使用前说明¶
当下载好对应的 TopsInstaller 后,需要注意以下事项:
安装时请确保具有 root 权限。
TopsInstaller 会自动识别用户安装环境是 Host 或 Docker 环境,默认会在 Host 环境安装 Driver 相关内容,在 Docker 环境安装除 Driver 外的其他软件内容。用户也可以将全部软件安装在 Host 环境中,但在 Docker 环境中只能安装 Driver 以外的软件
TopsInstaller 提供 交互式操作界面安装 和 静默安装
安装方式解释如下
安装方式 |
说明 |
适用人群 |
---|---|---|
静默安装 |
一行命令,无需其他操作即可完成 TopsRider 的安装 |
已对于燧原软件栈比较了解的开发者 |
交互式操作界面安装 |
提供可视化交互界面,让用户清晰感知 TopsInstaller 中内容 |
首次接触燧原软件栈的开发者 |
2.2. 安装使用¶
首先请确认 TopsRider_{filename}.run 为可执行文件,如果不是,需要手动添加执行权限后才可正常运行。
chmod +x TopsRider_{filename}.run
2.2.1. 静默安装¶
步骤一: 下载安装包后,在 Host 端执行
# 需要使用 root 权限
./TopsRider_{filename}.run -y
# or
./TopsRider_{filename}.run --silence
步骤二: 下载安装包后,在 Docker 端执行
这里默认用户已经有 Docker 的环境,如果没有可参考 Docker 制作
Note
TopsInstaller支持多种框架安装,由于不同框架版本对于protobuf版本支持情况不一致,用户通过-C选择不同的框架,推荐用户在使用不同框架,使用不同的docker容器,避免同一个docker容器环境下安装多个框架。不同的安装包可能有不同框架支持,具体请参考安装包内的列表,通过 -h/–help 调出建议的列表。
1、针对torch-gcu 1.10框架,执行如下命令
# 需要使用 root 权限
./TopsRider_{filename}.run -y -C torch-gcu
2、 针对TensorFlow 1.15框架,执行如下命令
# 需要使用 root 权限
./TopsRider_{filename}.run -y -C tensorflow_115
3、 针对vllm框架,执行如下命令
# 需要使用 root 权限
./TopsRider_{filename}.run -y -C vllm
4、 针对fast-diffusers框架,执行如下命令
# 需要使用 root 权限
./TopsRider_{filename}.run -y -C fast-diffusers
5、 针对TopsInference框架,执行如下命令
# 需要使用 root 权限
./TopsRider_{filename}.run -y -C TopsInference
安装示例代码、文档、其它文件到指定目录下,默认安装到/usr/local/topsrider/
下,用户也可指定安装路径
# 需要使用 root 权限
./TopsRider_{filename}.run -y --install-dir /your_dir
2.2.2. 交互式操作界面安装¶
步骤一: 下载安装包后,在Host端执行,菜单项会根据具体软件安装包内容而有所不同,选项-l/–list可查看安装包内包含的软件组件
# 需要使用 root 权限
./TopsRider_{filename}.run
在host环境下会勾选如下默认组件:
用户可通过上下箭头选择来选择菜单项
点击空格键可选择对应组件
选择 Driver Options ,并点击回车键,会进入驱动安装高级选项
选择 Quit ,并点击回车键,会中止并退出安装过程
选择 Install ,并点击回车键,会进入安装流程。
安装成功后,执行如下操作即为驱动安装成功
# 需要使用 root 权限
lsmod | grep enflame
步骤二: 下载安装包后,在Docker内执行,菜单项会根据具体软件安装包内容而有所不同,选项-l/–list可查看安装包内包含的软件组件
# 需要使用 root 权限
./TopsRider_{filename}.run
这里默认用户已经有 Docker 的环境,如果没有可参考 Docker 制作 , 在 Docker 环境中会默认勾选如下组件,用户可参照步骤一中的操作说明,进行选择确认:
安装示例代码、文档、其它文件到指定目录下,默认安装到 /usr/local/topsrider/ 下
# 需要使用 root 权限
./TopsRider_{filename}.run -y --install-dir /your_dir
Note
针对已经装好的组件,如在上层 python 调用时报出诸如:ImportError: libxxx.so: cannot open shared object file: No such file or directory 等某个共享库找不到对应的文件或目录的情况,可能是共享库路径未正确配置所致。可依次按如下操作进行配置:
可以使用 ldd [对应共享库名] 命令检查共享库的依赖项;
如果依赖项存在 not found ,请尝试在当前环境下运行 ldconfig 命令更新动态链接器的配置。
更多可以参考 ldconfig 相关 Linux man pages (man 8 ldconfig)
2.3. 软件栈卸载¶
使用如下命令,直接卸载本安装包内安装过的软件,在 Host 下会卸载所有包含软件,包含驱动软件,在 Docker 下会卸载除了驱动软件包外所有其它软件。
# 需要使用 root 权限
./TopsRider_{filename}.run --uninstall
2.4. TopsInstaller 命令说明¶
2.4.1. 参数解释¶
参数 |
说明 |
---|---|
|
解压安装包的文件到一个目录中,而不执行安装脚本 |
|
查看安装包内可安装的软件模块列表,其中括号中为模块id |
|
指定软件模块id安装软件模块,多个模块id用逗号分隔 |
|
使用静默安装 |
|
打印帮助指令 |
|
指定Python版本安装 |
|
指定安装路径 |
|
卸载 |
|
中文模式下安装 |
|
安装dkms, 默认不安装 |
|
重启默认不自动加载, 默认加载 |
|
以mdev_host模式,即虚拟机monitor模式加载kmd |
|
以vgcu模式加载kmd |
|
安装分布式相关驱动 |
|
安装虚拟化插件包 |
2.4.2. 重点参数说明¶
参数 peermem :安装 Peer Memeory 驱动插件
# 需要使用 root 权限
./TopsRider_{filename}.run --peermem
默认情况下,驱动软件包支持传统模式的RDMA功能,即跨机架的两个设备想通过RDMA的方式传输数据时,需要将数据从设备HBM存储拷贝至系统内存,再通过网卡传输。 如果系统中有支持相关功能的Mellanox硬件,可以开启GCUDirect RDMA,来对RDMA功能进行加速,使得设备HBM存储中的数据可以直接通过网卡进行传输,不再需要拷贝至系统内存。
安装该驱动插件,即可开启GCUDirect RDMA功能。该插件安装在 HOST 端,安装前请确认已安装 Mellanox OFED ,仅支持版本“5.0-2.1.8.0”、“5.4-3.1.0.0”, 具体请参考Mellanox OFED文档,安装命令建议使用:
# ./mlnxofedinstall --add-kernel-support
Note
TopsRider 驱动插件(如果安装包含有)依赖 Mellanox OFED 以及 TopsRider 驱动软件。如果系统中没有安装 Mellanox OFED 或者安装 TopsRider 驱动软件失败,该插件都会安装失败。
安装好之后插件独立运行,对主模块功能没有影响。可以随时卸载或者重新安装。
在卸载后,驱动将不会使用 GCUDirect RDMA ,转而使用传统方式完成 RDMA 功能。
在 Host OS 卸载驱动软件(如有必要):如果有安装驱动插件,首先卸载驱动插件。
参数 virt :安装虚拟化驱动插件
# 需要使用 root 权限
./TopsRider_{filename}.run --mdev-host --virt
如果需要开启虚拟机 monitor 模式,使用该命令开启 GCU 的虚拟化模块。(在 Host 下安装)
Note
在 mdev_host 模式下,设备可以按空分方式划分,并被虚拟成为最多4个单cluster 的 mdev 虚拟设备,使用 Qemu 透传给不同的虚拟机使用。
参数 python :指定Python版本
# 需要使用 root 权限
./TopsRider_{filename}.run -y --python /usr/bin/python3.6
# or
./TopsRider_{filename}.run -y --python python3.6
安装whl安装包时,安装到指定的 Python
版本环境中,如不指定参数将会默认选择python3命令对应的版本,请通过命令
“ python3 -V
” 查看对应版本号。
3. 附录¶
3.1. Docker 制作¶
Docker 环境准备请参照官网最新说明 Install on Linux
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译, Dockerfile 在文件系统中能够访问到。
例如:/usr/local/topsrider/dockerfile/ubuntu_amd64_20.04_dockerfile/dockerfile
,下述命令也是根据该路径执行,用户可根据实际情况更换对应的文件路径
cd /usr/local/topsrider/dockerfile/ubuntu_amd64_20.04_dockerfile
docker build --network host -t enflame:ubuntu_amd64_20.04_dockerfile .
docker image ls
编译中如遇到相关内容下载失败,可自行更换其他国内源进行重新下载。
3.2. Docker 启动¶
在 Host OS 中运行 Docker 时候, 具体根据你的工作目录,需要通过 –volume 映射工作目录进入容器内:
--privileged
使得板卡在 Docker 内可见--name
选项指定 container 名称
docker run -it --name enflame_container --ipc host --network host --privileged enflame:ubuntu_amd64_20.04_dockerfile
3.3. 版本历史¶
版本 |
描述 |
日期 |
---|---|---|
V2.0 |
初版 |
2022年10月 |
V2.1 |
修订版 |
2023年1月 |
V3.0 |
修订版 |
2024年3月 |