GPU-enabled集群

預覽

這個特性是在公共預覽

請注意

一些GPU-enabled實例類型β和被標記為下拉列表中選擇司機和工人時在集群創建類型。

概述

磚支持集群加速的圖形處理單元(gpu)。本文描述了如何創建集群GPU-enabled實例和描述了GPU司機和庫安裝在這些實例。

更多地了解深度學習在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火花司機和工人實例:

  • CUDA工具包,安裝在/usr/local/cuda

  • cuDNN:NVIDIA CUDA深層神經網絡庫。

  • NCCL:NVIDIA集體通信庫。

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磚在穀歌的雲。