使用Altair网格引擎与NVIDIA码头工人
gpu发挥重要作用在HPC加速应用程序从分子动力学深入学习。bob电竞官方在之前的文章中,我们讨论了如何牵牛星网格引擎支持GPU资源的有效调度。我们也覆盖Altair网格引擎支持码头工人和奇点。在本文中,我将把这些概念,解释英伟达码头工人简化了部署GPU-enabled,集装箱在集群环境中应用。bob电竞官方
英伟达码头工人解决什么问题?
大多数读者欣赏码头工人在便携式应用程序中所扮演的角色。bob电竞官方提醒一下,码头工人提供了一个方便的方式来打包应用程序依赖关系,如二进制文件和库,这样他们可以在任何主机运行bob电竞官方码头工人引擎。自2014年以来主要Linux发行版支持码头工人。牵牛星网格引擎扩展这些功能集群环境中使用户能够透明地提交、管理和监控集装箱就像任何其他工作负载的应用程序。bob电竞官方牵牛星网格引擎将工作最优管理细节,优先级的工作负载,处理异常,确保所需的码头工人图像可以在主机与代表我们合适的资源。
的一个挑战GPU-aware应用程序容器,容器内硬件无关。bob电竞官方CUDA是NVIDIA的并行计算平台和API使开发者更容易构建GPU-enabled应用程序。bob电竞官方GPU-enabled应bob电竞官方用程序需要访问内核级设备驱动程序和用户级CUDA库,和不同的应用程序可能需要不同的CUDA版本。
解决这个问题的一个方法是安装NVIDIA驱动内容器和映射的物理NVIDIA GPU设备底层的码头工人主机上(例如,/dev/nvidia0正如上文所述)容器。这种方法的问题是,容器内的版本的驱动程序和库需要精确匹配。否则,应用程序将会失败。这意味着用户回担心司机和库安装在每个主机与集装箱应用程序以确保兼容性。bob电竞官方
关于英伟达码头工人
解决代理问题的GPU的应用,Nvidia开发bob电竞官方英伟达码头工人,一个开源项目,它提供了driver-agnostic CUDA图像。NVIDIA码头工人插件支持GPU在容器中运行的应用程序共享GPU设备在码头bob电竞官方工人主机上而不用担心版本库之间的不匹配和设备驱动程序。
下面的图显示了这是如何工作的牵牛星网格引擎环境。不同集群主机可能运行不同的CUDA GPU硬件甚至不同版本的运行时和设备驱动程序。理想情况下,应该有可能支持集装箱应用程序支持CUDA在同一个主机上的不同版本。
设置NVIDIA码头工人牵牛星网格引擎集群
现在NVIDIA码头工人的价值是清楚的,你可能想利用它Altair网格引擎集群。有些读者可能已经Altair网格引擎集群安装了gpu的工作。其他人可能是从零开始。导游以下省略了一些细节,但提供了一个路线图NVIDIA码头工人使用Altair网格引擎。
确保你有一个集群GPU计算能力
如果你计划运行GPU的应用程序,您将需要使用Gbob电竞官方PU硬件。如果你没有GPU主机,您可以在云中租机实例为几美元每小时。构造下面的例子,我使用AWSEC2 P3实例。这些云实例支持多达8英伟达v100 gpu /机器。一个相对便宜的p3.2xlarge实例使用一个16 gb的GPU可按需为3.06美元每小时。
至少有三种方法来构建一个“牵牛星”网格引擎集群在AWS云(我能想到的):
- 自己安装集群主机使用AWS Web UI或AWS CLI和手动安装Altair网格引擎。如果你把这条路,你知道你在做什么。
- 如果你正在寻找一个更简单的解决方案,你可以做我所做的和部署一个Altair网格引擎集群使用牵牛星的AWS市场提供。
- 如果你正在寻找一个简单但更多的定制解决方案联系牵牛星,我们可以为您提供一个定制的Navops发射。
AWS市场将部署一个主服务器基于Altair AMI提供。主安装后,您可以登录到主通过ssh和使用Navops启动添加(或删除)集群主机使用一个命令通过内置的AWS资源连接器。牵牛星AWS市场文档提供一步一步的指示。
在安装主服务器,但在添加计算主机,使用Navops发射命令下面从牵牛星电网引擎主人展示AWS资源适配器配置。
默认情况下,Navops发射与AWS适配器将增加m4.large当你扩大AWS集群计算主机。你想要改变默认实例类型p3.2xlarge(因为这些实例NVIDIA Tesla V100 gpu)如图所示。
现在,您可以添加一个或多个计算主机显示。
确保你运行get-node-requests检查请求的状态。V100实例的可用性是有限的,和可用性因地区而异,所以你会希望看到任何错误消息或异常。
在你GPU计算节点能力添加到集群可以确认他们正在运行:
三个p3.2xlarge按需计算主机在AWS如下所示将花费大约10美元每小时或每星期大约1500美元,所以要小心你不让他们跑太久!
在每个Altair安装CUDA驱动程序网格发动机主机
因为我使用了牵牛星网格引擎AMI(运行CentOS),我AWS-based计算主机没有NVIDIA CUDA驱动程序。你需要安装适当的NVIDIA驱动程序为您的操作系统版本。
的详细说明可以在这里找到:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html
rpm安装将取决于您的操作系统版本。我跳过下面几个步骤的简洁,但是我下载CentOS的公开可用的驱动程序(上市https://www.nvidia.com/Download/Find.aspx)。的p3.2xlargeAWS实例包含一个特斯拉V100 GPU如下所示,和RHEL7驱动程序用于CentOS 7。
特斯拉司机是向后兼容的。V100司机还将支持老p系列,K系列,和C, M和K类gpu。
一旦检索到rpm格式驱动程序可以安装驱动程序每个计算主机上使用下面的命令:
特斯拉司机是向后兼容的。V100司机还将支持老p系列,K系列,和C, M和K类gpu。
一旦检索到rpm格式驱动程序可以安装驱动程序每个计算主机上使用下面的命令:
集群计算主机上安装码头工人
现在,您已经有了一个“牵牛星”网格引擎集群gpu下一步是每个计算主机上安装码头工人。我们在一个解释了这个过程之前的文章所以我不会重复所有的细节,但是下面的脚本(应该)网格引擎集群主机上安装码头工人。
你可以找到详细安装CentOS的码头工人Community Edition在这里。
在集群主机安装NVIDIA码头工人插件
既然你已经工作GPU集群主机和每个主机上安装了码头工人,下一步是在每个主机上安装NVIDIA码头工人。详细的安装说明是可用的https://github.com/nvidia/nvidia-docker/wiki/Installation-(版本2.0)。
下面的脚本为我的CentOS 7计算主机工作。前几行添加nvidia-docker存储库。接下来,使用yum安装nvidia-docker2我们每个主机上重启码头工人守护进程识别nvidia-docker插入。
接下来,我们可以验证nvidia-docker是通过运行GPU-enabled应用程序在一个工作nvidia cuda技术/码头工人容器。的nvidia cuda技术/容器(可以从码头工人中心)包括CUDA工具包。打包GPU应用程序通常基于bob电竞官方这个容器。
下面的命令再次运行nvidia-smi内,但这一次nvidia cuda技术/集装箱从码头工人中心。
的运行时=英伟达开关在码头工人运行命令告诉码头工人使用NVIDIA的码头工人插件。
如果你已经这么远,那么恭喜你,你现在已经安装了NVIDIA码头工人,正在Altair网格引擎集群。
英伟达码头工人与Altair电网引擎
现在,英伟达码头工人正在计算主机,下一步是提交Nvidia集装箱码头工人Altair网格引擎工作。运行网格容器下发动机的优点是调度程序计算出最优的地方运行容器,多个应用程序和用户可以共享GPU-resources。bob电竞官方
牵牛星网格引擎提供具体改进运行NVIDIA码头工人。您可以使用xd开关在网格Altair引擎通过运行时=英伟达参数以及任何需要的环境变量可以在码头工人容器。
一个示例命令显示NVIDIA码头工人集装箱可以提交给网格应用程序引擎集群如下所示:bob电竞官方
- 的- l开关表明我们需要和码头工人资源在集群上运行主机设置为true (Altair网格设置自动引擎当码头工人安装)和要求容器创建基于“tensorflow: 18.03 -py2”形象。我们还表明GPU-enabled主机是必需的,我们需要绑定到CPU核一个套接字连接请求的特斯拉V100 GPU。
- 的xd开关是用来传递运行时=英伟达参数选择Altair网格引擎计算主机上码头工人
- 的- b y切换显示,而不是通过脚本执行,我们调用一个二进制命令已经在容器中。
- 容器内的壳开始通常对应于shell中定义的队列,但是自从我们指定的容器可能不包含/bin/bash壳- s/bin/sh开始标准bourne shell而不是越多重生的壳(bash)。
- 容器内的命令是通往一个脚本或二进制已经驻留在容器内的容器或路径安装在主机(例如/项目/ NGC / tensorflow / nvidia-examples / cnn / nvcnn.py)
有各种预包装的GPU应用程序可用bob电竞官方NGC(Nvidia GPU的云)。码头工人和NVIDIA码头工人安装在Altair网格引擎GPU主机,您可以使用上面的方法解释运行GPU-enabled应用程序(当然有一些限制)而不用担心底层设备驱动程序兼容。
你一直使用NVIDIA码头工人和牵牛星网格引擎?我们希望得到您的意见和听到你的经历。你可以了解Altair网格引擎//www.s-emart.com/grid-engine。