GPU-enabled集群
预览
这个特性是在公共预览。
请注意
一些GPU-enabled实例类型β和被标记为下拉列表中选择司机和工人时在集群创建类型。
概述
砖支持集群加速的图形处理单元(gpu)。本文描述了如何创建集群GPU-enabled实例和描述了GPU司机和库安装在这些实例。
更多地BOB低频彩了解深度学习在GPU-enabled集群,明白了深度学习。
创建一个GPU集群
创建一个集群GPU集群类似于创建任何火花。你应该记住以下几点:
的砖的运行时版本的必须是一个GPU-enabled版本,如运行时9.1 LTS毫升(GPU, Scala 2.12,火花3.1.2)。
的工作类型和驱动程序类型必须GPU实例类型。
对单机工作流没有火花,你可以设置员工的数量为零。
支持实例类型
砖支持以下实例的类型:
A2机家庭:a2-highgpu-2g a2-highgpu-1g a2-highgpu-4g、a2-highgpu-8g a2-megagpu-16g
看到GCP accelerator-optimized机器在这些实例类型的更多信息,和丰富的地区检查这些实例可用。你的砖部署必须驻留在一个地区推出GPU-enabled集群支持。
GPU调度
砖运行时9.1 LTS毫升以上的支持GPU-aware调度从Apache 3.0火花。砖preconfigures在GPU集群。
GPU调度不是单一节点上启用集群。
spark.task.resource.gpu.amount
是唯一的火花GPU-aware调度相关配置,您可能需要改变。缺省配置使用一个GPU每个任务,这是理想的分布式推理工作负载和分布式训练,如果你使用所有GPU节点。做分布式训练节点的一个子集,这有助于减少通信开销在分布式训练,砖推荐设置spark.task.resource.gpu.amount
人均的gpu集群中的节点火花配置。
对于PySpark任务,砖自动重新映射分配GPU (s)指数0,1,…。在每个任务使用一个GPU的默认配置,您的代码可以使用默认的GPU没有检查这GPU是分配给的任务。如果您设置多个gpu每个任务,例如4中,您的代码可以假定的指标分配gpu总是0,1,2,3。如果你需要指定的gpu的物理指标,你可以得到的CUDA_VISIBLE_DEVICES
环境变量。
如果你使用Scala,你可以得到gpu的指标分配给的任务TaskContext.resources () . get (gpu)
。
NVIDIA GPU的司机,CUDA和cuDNN
砖安装NVIDIA驱动程序和库需要使用gpu火花司机和工人实例:
NVIDIA驱动程序的版本包括450.119.04,支持CUDA 11.0。
的版本库包含,请参阅发布说明您使用的特定数据砖运行时版本。
请注意
这个软件包含NVIDIA公司提供的源代码。具体来说,支持gpu,砖包括代码CUDA样品。
英伟达最终用户许可协议(EULA)
当您选择一个GPU-enabled“砖砖运行时版本”,你含蓄地同意的条款和条件中列出的NVIDIA CUDA EULA对,cuDNN,特斯拉库,英伟达最终用户许可协议(NCCL补充)NCCL库。
限制
你不能当你创建一个新的GPU集群安排一个工作从一个笔记本。你可以在现有的GPU集群上运行的工作只有从集群创建页面。
砖在谷歌的云,常用的NVIDIA的可执行文件
nvidia-smi
不包括在内吗路径
环境变量。相反,他们在/usr/local/nvidia/bin
。例如,使用nvidia-smi
你必须使用网络终端或% sh
笔记本神奇的命令运行/usr/local/nvidia/bin/nvidia-smi
。不支持集群监控指标使用Ganglia砖在谷歌的云。