在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练

本文详细介绍了如何在OpenShift平台上验证使用NVIDIA DGX系统进行分布式多节点的自动驾驶AI训练。内容涵盖数据并行训练、OpenShift集群配置、GPU启用、MPI操作符的使用,以及如何通过MPIJob资源聚合优化计算效率。
摘要由CSDN通过智能技术生成

在OpenShift平台上验证NVIDIA
DGX系统的分布式多节点自动驾驶AI训练

自动驾驶汽车的深度神经网络(DNN)开发是一项艰巨的工作。本文验证了DGX多节点,多GPU,分布式训练在DXC机器人驱动环境中运行。

还使用了一个机器人学习平台来驱动深度学习(11.3)的工作负载。目前,OpenShift 3.11已部署在许多大型GPU加速的自动驾驶(AD)开发和测试环境中。这里显示的方法同样适用于新的OpenShift版本,并且可以转移到其他基于OpenShift的集群中。

DXC Robotic Drive是一个自动驾驶的数据驱动开发平台,可大大降低风险,加快ADAS/AD功能的开发、测试和验证,以支持2级以上5级自主功能。它是目前已知的最大的EB级开发解决方案,利用业界成熟的本地和云基础设施、方法、工具和加速器实现高度自动化的广告开发过程。

互操作性测试环境是运行OpenShift 3.11和4.3的机器人驱动创新实验室。

DL workloads at scale

数据并行(dataparallelishm)是最常用的扩展DL工作负载的设计模式。关于如何加速视觉和递归神经网络,有许多参考文献和实践。

DL模型被多次实例化,并且数据在这些实例中并行传输。实例彼此交换渐变,以协同工作,而不是独立工作。

这是来自高性能计算(HPC)领域的消息传递接口(MPI)框架的经典计算模式。因此,在众所周知的MPI的帮助下对这些工作负载进行编排是很简单的。MPI还可以轻松扩展到多个节点之外。

支持多GPU的DL框架,如PyTorch和TensorFlow,在任何项目开始时都非常适合使用,以确保工作负载可以使用单个GPU工作站直到大型GPU集群。

这些框架还支持使用MPI本机进行数据并行训练,并且可以使用MPI工具(如mpirun或mpiexec)触发工作负载。数据并行模式的多种实现都遵循这种模式,比如Horovod。

RedHat OpenShift Container Platform(OCP)是基于Kubernetes的Docker或CRI-O运行时容器构建的平台即服务。OpenShift专注于安全性,并且确实包括了对上游Kubernetes的缺陷、安全性和性能问题的修复。作为Kubernetes,OpenShift允许在RedHat的支持下大规模地部署和管理集群。

Kubernetes和OpenShift可以轻松地处理MPI工作负载。一个集成以Kubeflow MPI操作符的形式存在,它在后台协调资源并提高工作负载。

图1显示了使用两个DGX-1系统的DL工作负载。在这种情况下,有16个单独的进程。在Horovod中,它们被赋予一个名为rank的唯一ID来区分它们:rank 0到rank
15。所有单独的进程在输入数据的不同部分并行工作,并交换它们的梯度以协同工作。

在这里插入图片描述

Figure 1. DL workload using two DGX-1 systems.

为了在各个塔之间进行有效的通信,使用NVIDIA集体通信库(NCCL)。NCCL实现了针对NVIDIA
GPU的性能优化的多GPU和多节点集合通信原语。

训练数据的低延迟POSIX存储是通过机器人驱动的持久Volumes来实现的。大规模地处理存储是至关重要的,但不是这里的重点。

Installation steps

下面是如何在运行OpenShift v3.11的DXC机器人驱动环境中安装DGX系统。
测试系统概述

OpenShift v3.11至少需要一个临时引导计算机、三个主节点和至少两个计算节点。

因为DL可能是一个数据密集型工作负载,所以集群需要一个合适的网络解决方案。机器人驱动创新实验室提供了HPE FlexFabric 5945 32QSFP28交换机,这些交换机与DGX系统的Mellanox适配器结合使用。

DGX-1的所有集群互连适配器都以以太网模式使用,并通过使用LACP分组模式捆绑在一起。

下表总结了群集的硬件和软件配置。

在这里插入图片描述

Table 1. Overview of HW/SW configuration.

Preparing the DGX-1 systems

要在DGX系统上安装RHEL 7.7,请使用NVIDIA提供的安装说明。这些步骤还包括安装特定于DGX的软件。

将DGX系统连接到OpenShift群集

按照OpenShift 3.11的RedHat文档中的说明安装集群。

集群启动并运行后,使用RedHat提供的官方版本来扩展集群并包括两个DGX系统。这些执行手册添加必要的库和配置节点,并将它们添加到集群本身。

图2显示了OCP仪表板的开始显示,允许与OpenShift集群交互。这些交互包括监测资源、创建pod和检索日志。
在这里插入图片描述

Figure 2. Start screen of an OpenShift cluster.

Enabling GPUs in the cluster

OpenShift(和Kubernetes)都支持标准资源,比如CPU、内存和监测可用的磁盘空间。使用设备插件或操作符处理其它资源。在此设置中,将使用用于OpenShift 3.11的NVIDIA GPU设备插件。

在Kubernetes和OpenShift(v1.13+,v4.1+)的更新版本中,引入了operator框架。使用这个操作框架,NVIDIA GPU操作符允许自动部署以前必须手动部署的组件。这些组件包括NVIDIA驱动程序、用于gpu的Kubern

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值