FPGA滲透到資料中心的必然性

FPGA滲透到資料中心的必然性
您不需要成為晶片設計師才能為 FPGA 編程,就像您不需要成為 C++ 程式設計師才能使用 Java 編寫程式碼一樣。 然而,在這兩種情況下它可能都會有用。

Java 和 FPGA 技術商業化的目的是反駁後者的說法。 對於FPGA 來說是個好消息- 自可編程邏輯裝置發明以來的過去35 年裡,使用正確的抽象層和工具集,為FPGA 而不是CPU、DSP、GPU 或任何其他形式的定制ASIC 創建演算法和數據流已變得越來越普遍,越來越容易。

FPGA 的誕生具有驚人的及時性,事實證明,當 CPU 由於各種原因不再是資料中心執行許多任務的唯一計算模組時,FPGA 發揮了其功效,提供了速度、低延遲和網路功能和記憶體— —現代FPGA SoC 的異質運算能力,它們幾乎是成熟的運算系統。 然而,FPGA 也成功地與混合系統中的其他設備結合,我們認為,它們才剛開始在計算層次結構中找到自己應有的位置。

這就是我們在 22 月 XNUMX 日在聖荷西組織 The Next FPGA Platform 會議的原因。 當然,全球主要 FPGA 供應商之一、該領域的先驅者就是 Xilinx。 Xilinx 高級副總裁兼首席技術長 Ivo Bolsens 今天在會議上發表了講話,並向我們介紹了他今天關於 Xilinx 如何幫助為資料中心創建可變計算系統的想法。

系統架構師和程式設計師花了很多時間才想出一個異質資料中心,該中心將具有各種類型的電腦能力,可以解決運算、儲存和網路方面的問題。 這似乎是必要的,因為使用各種 CMOS 裝置來遵循摩爾定律變得越來越困難。 目前,我們的語言仍然以 CPU 為中心,我們仍然談論“應用程式加速”,這意味著讓程式運行得比單獨在 CPU 上運行得更好。 隨著時間的推移,資料中心將成為運算能力、資料儲存和將一切連結在一起的協議的集合,我們將回到「計算」和「應用程式」等術語。 混合運算將變得像當今在桌面或虛擬機器上運行的雲端服務一樣正常,並且在某些時候我們將簡單地使用「計算」一詞來描述它們的工作方式。 在某些時候 - FPGA 很可能會幫助迎來這個時代 - 我們將再次稱之為資料處理。

在資料中心採用 FPGA 需要改變思維方式。 「在考慮加速當今應用程式的方法時,您必須了解它們的運作方式、使用哪些資源以及時間花在哪裡等基礎知識,」Bolsens 解釋道。 – 你需要研究你試圖解決的一般問題。 如今,在資料中心運行的許多應用程式都會擴展並消耗大量資源。 以機器學習為例,它使用大量的運算節點。 但當我們談論加速時,我們不僅需要考慮加速運算,還需要考慮加速基礎設施。”

例如,Bolsens 在實踐中研究的那種機器學習操作中,大約 50% 的時間花費在分散的計算能力之間來回傳輸數據,只有剩下的一半時間花在計算本身上。

「我認為 FPGA 可以在這方面提供幫助,因為我們可以確保應用程式的計算和通訊方面都得到最佳化。 我們可以在整體基礎設施層面和晶片層面做到這一點。 這是 FPGA 的巨大優勢之一,它允許您創建滿足特定應用需求的通訊網路。 根據人工智慧工作負載中資料移動的典型模式,我認為不需要複雜的基於交換器的架構。 您可以建立一個具有大數據流的網路。 這同樣適用於神經網路訓練任務 - 您可以建立一個具有適應特定任務的資料包大小的網狀網路。 使用 FPGA,可以非常精確地縮放資料傳輸協定和電路拓撲,並根據特定應用進行客製化。 在機器學習的情況下,很明顯我們不需要雙精度浮點數,我們也可以對其進行調整。”

FPGA 與 CPU 或自訂 ASIC 之間的區別在於,後者在工廠進行編程,之後您無法再改變關於正在計算的資料類型或正在計算的元素或資料性質的想法流經設備。 如果操作條件發生變化,FPGA 可以讓您改變主意。

在過去,這種優勢是有代價的,因為 FPGA 程式不適合膽小的人。 我們需要開放 FPGA 編譯器,以便更好地與程式設計師用來用 C、C++ 或 Python 編寫 CPU 並行應用程式的工具集成,並將部分工作外包給可加速 FPGA 上程式的程式庫。 這就是Vitis 機器學習堆疊的作用,為Caffe 和TensorFlow 等ML 平台提供支持,並提供用於運行傳統AI 模型或向視頻轉碼、視頻對象識別、數據分析、金融風險管理和任何第三方等任務添加FPGA 功能的庫派對圖書館。

這個概念與十年前推出的Nvidia CUDA 專案(將並行運算卸載到GPU 加速器)、AMD 的ROCm 工具包、或與英特爾OneAPI 專案(應在不同的CPU、GPU 和FPGA 上運行)的承諾沒有太大區別。

唯一的問題是如何將所有這些工具連接在一起,以便任何人都可以自行決定對一組運算能力進行程式設計。 這一點很重要,因為 FPGA 已經變得越來越複雜,比任何可用的 CPU 都複雜得多。 它們採用最先進的製造工藝和最現代的晶片封裝技術製造。 他們會找到自己的定位,因為我們不能再浪費時間、金錢、精力和智力——所有這些都是太昂貴的資源。

「FPGA 具有技術優勢,」Bolsens 說。 – 這不僅僅是關於適應性和可重構性的常見廣告。 在所有重要的應用中——機器學習、圖形分析、高速交易等。 - 它們有能力適應特定任務,不僅是資料分發路徑,還有記憶體架構-資料在晶片內的移動方式。 FPGA 還內建了比其他裝置更多的記憶體。 還應該考慮到,如果某個任務不適合一個 FPGA,您可以將其擴展到多個晶片,而不會遇到在多個 CPU 或 GPU 上擴展任務時遇到的缺點。”

來源: www.habr.com

添加評論