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實例類型。

  • 對單機工作流沒有火花,你可以設置員工的數量為零。

支持實例類型

磚支持以下GPU-accelerated實例的類型:

注意事項

對於所有GPU-accelerated實例類型,記住以下:

  • 由於亞馬遜實例現貨價格飆升,GPU實例很難留住。如果需要使用隨需應變。

  • 您可能需要請求增加限製為了創建GPU-enabled集群。

看到支持實例類型為支持GPU實例的列表類型和它們的屬性。

GPU調度

磚運行時支持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)

磚的運行時版本低於7.0,以避免衝突在多個任務試圖使用相同的GPU,火花磚自動配置的GPU集群,這樣每個節點最多有一個運行的任務。這樣的任務可以使用所有gpu的節點上沒有遇到衝突和其他任務。

NVIDIA GPU的司機,CUDA和cuDNN

磚安裝NVIDIA驅動程序和庫需要使用gpu火花司機和工人實例:

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

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

  • NCCL:NVIDIA集體通信庫。

NVIDIA驅動程序的版本包括470.57.02,支持CUDA 11.0。

的版本庫包含,請參閱發布說明您使用的特定數據磚運行時版本。

請注意

這個軟件包含NVIDIA公司提供的源代碼。具體來說,支持gpu,磚包括代碼CUDA樣品

英偉達最終用戶許可協議(EULA)

當您選擇一個GPU-enabled“磚磚運行時版本”,你含蓄地同意的條款和條件中列出的NVIDIA CUDA EULA對,cuDNN,特斯拉庫,英偉達最終用戶許可協議(NCCL補充)NCCL庫。

在GPU集群磚容器服務

預覽

這個特性是在公共預覽

您可以使用磚容器服務在集群gpu創建便攜式深度學習環境與自定義庫。看到自定義容器磚容器服務的指令。

創建自定義圖片GPU集群,您必須選擇一個標準的運行時版本代替磚運行時毫升的GPU。當您選擇使用自己的碼頭工人容器與一個標準的,你可以選擇GPU集群運行時版本。自定義圖像基於GPU集群官方CUDA容器,這是不同於磚運行時毫升的GPU。

當你創建自定義圖像GPU集群,你不能改變NVIDIA驅動程序的版本,因為它必須匹配主機上的驅動程序版本。

databricksruntime碼頭工人中心包含示例基礎圖像與GPU的能力。Dockerfiles用於生成這些圖像位於例子容器GitHub庫,也有細節的示例圖片提供,以及如何定製它們。

錯誤消息

  • 以下錯誤表明AWS雲提供商沒有足夠能力所請求的計算資源。錯誤:集群終止。原因:AWS不足實例能力失敗

    來解決,你可以試著創建一個集群可用性區域不同。在可用性區域集群配置下,高級選項。你也可以檢查保留AWS實例定價購買額外的配額。

  • 如果您的集群使用P4d或G5實例類型和磚運行時7.3 LTS ML, CUDA包版本7.3是不符合新GPU實例。在這些情況下,毫升包如TensorFlow Keras PyTorch將產生錯誤,例如:

    • TensorFlow Keras:InternalError:CUDA運行時隱式的初始化GPU: x失敗了。狀態:設備內核圖像無效的

    • PyTorch:UserWarning:英偉達A100-SXM4-40GBCUDA能力sm_80兼容的當前的PyTorch安裝。

    可以通過升級解決這些錯誤數據磚運行時10.4 LTS毫升或以上。