GPU-enabled集群
請注意
一些GPU-enabled實例類型β和被標記為下拉列表中選擇司機和工人時在集群創建類型。
創建一個GPU集群
創建一個集群GPU集群類似於創建任何火花。你應該記住以下幾點:
的磚的運行時版本的必須是一個GPU-enabled版本,如運行時9.1 LTS毫升(GPU, Scala 2.12,火花3.1.2)。
的工作類型和驅動程序類型必須GPU實例類型。
對單機工作流沒有火花,你可以設置員工的數量為零。
支持實例類型
磚支持以下GPU-accelerated實例的類型:
(棄用)P2係列實例類型:p2。超大,p2.8xlarge p2.16xlarge
P2實例隻能選擇AWS地區。信息,請參閱Amazon EC2定價。你的磚部署必須駐留在一個地區推出GPU-enabled集群支持。
P2實例需要EBS存儲卷。
警告
2023年8月31日之後,磚將不再支持集群使用Amazon EC2 P2實例旋轉起來。
P3實例類型係列:p3.8xlarge p3.2xlarge p3.16xlarge。
P3實例隻能選擇AWS地區。信息,請參閱Amazon EC2定價。你的磚部署必須駐留在一個地區推出GPU-enabled集群支持。
P4d實例類型係列:p4d.24xlarge。
P4d需要磚運行時9.1 LTS毫升以上的實例。
G4實例類型係列,優化部署在生產中機器學習模型。
G5實例類型係列,它可以用於廣泛的圖形密集和機器學習用例。
G5需要磚運行時9.1 LTS毫升以上的實例。
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火花司機和工人實例:
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-40GB與CUDA能力sm_80是不兼容的與的當前的PyTorch安裝。
可以通過升級解決這些錯誤數據磚運行時10.4 LTS毫升或以上。