RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

出色的計(jì)算密集型系統(tǒng)開發(fā)平臺(tái)-Xilinx全可編程器件

YCqV_FPGA_EETre ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-27 16:10 ? 次閱讀

未來系統(tǒng)(例如云數(shù)據(jù)中心 [DC] 和自動(dòng)駕駛汽車)需要在計(jì)算能力上大幅改進(jìn),以支持不斷增多的工作負(fù)載以及不斷演進(jìn)的底層算法。例如,大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、視覺處理、基因組以及高級(jí)駕駛員輔助系統(tǒng) (ADAS) 傳感器融合工作負(fù)載都在促使計(jì)算性能能以低成本、高效的方式實(shí)現(xiàn)提升,并且超出現(xiàn)有系統(tǒng)(例如 x86 系統(tǒng))的極限。

系統(tǒng)架構(gòu)師正在尋找能滿足要求的新計(jì)算平臺(tái)。該平臺(tái)需要足夠靈活,以便集成到現(xiàn)有的架構(gòu)中 , 并支持各種工作負(fù)載及其不斷演進(jìn)的算法。此外,這些系統(tǒng)很多還必須提供確定性的低時(shí)延性能,以支持實(shí)時(shí)系統(tǒng)(例如自動(dòng)駕駛汽車)所需的快速響應(yīng)時(shí)間。

圖形處理單元 (GPU) 廠商非常積極地將 GPU 定位成新時(shí)代計(jì)算平臺(tái)的最佳之選,主要依據(jù)其在機(jī)器學(xué)習(xí)訓(xùn)練的高性能計(jì)算 (HPC) 領(lǐng)域取得的成功。在此過程中,GPU 廠商針對(duì)機(jī)器學(xué)習(xí)推斷工作負(fù)載修改了他們的架構(gòu)。

然而,GPU 廠商還是忽視了基本的 GPU 架構(gòu)的局限性。這些局限性會(huì)嚴(yán)重影響 GPU 以高效、低成本方式提供必要的系統(tǒng)級(jí)計(jì)算性能的能力。例如,在云端 DC 系統(tǒng)中,對(duì)工作負(fù)載的需求在一天內(nèi)會(huì)發(fā)生很大變化。此外,這些工作負(fù)載的底層算法也會(huì)發(fā)生快節(jié)奏變化。GPU 架構(gòu)的局限性會(huì)阻止很多今天的工作負(fù)載和明天形成的工作負(fù)載映射到 GPU,導(dǎo)致硬件閑置或低效。本白皮書的“GPU 架構(gòu)的局限性”部分對(duì)這些局限性進(jìn)行了更詳細(xì)介紹。

相反,賽靈思 FPGA 和 SoC 具有眾多關(guān)鍵屬性,使它們非常適合解決未來系統(tǒng)要求所提出的種種挑戰(zhàn)。

這些獨(dú)特屬性包括 :? 針對(duì)所有數(shù)據(jù)類型提供極高的計(jì)算能力和效率? 具備極高靈活性,能夠針對(duì)多種工作負(fù)載將計(jì)算和效率優(yōu)勢(shì)最大化? 具備 I/O 靈活性,能方便地集成到系統(tǒng)中并實(shí)現(xiàn)更高效率? 具備大容量片上存儲(chǔ)器高速緩存,可提高效率并實(shí)現(xiàn)最低時(shí)延

本白皮書的“賽靈思 FPGA 和 SoC 的獨(dú)特優(yōu)勢(shì)”章節(jié)介紹了賽靈思架構(gòu)的優(yōu)勢(shì),并與 GPU 架構(gòu)及其局限性進(jìn)行對(duì)比。

GPU 起源和目標(biāo)工作負(fù)載

GPU 的起源要追溯到 PC 時(shí)代,英偉達(dá) (NVidia) 公司聲稱在 1999 年推出世界首款 GPU,但有很多其他顯卡要先于該公司的出品。GPU 是一款全新設(shè)計(jì)的產(chǎn)品,用來分擔(dān) / 加速圖形處理任務(wù),例如替 CPU 進(jìn)行像素陣列的陰影和轉(zhuǎn)換處理,其架構(gòu)非常適合高并行吞吐量處理 。本質(zhì)上,GPU 的主要作用是為視覺顯示器 (VDU) 渲染高質(zhì)量圖像。

多年來,少量非圖形的大規(guī)模并行和存儲(chǔ)器相關(guān)工作負(fù)載是在 GPU(而非 CPU)上實(shí)現(xiàn)并且受益良多,例如需要大規(guī)模矩陣計(jì)算的醫(yī)療成像應(yīng)用。GPU 廠商意識(shí)到他們可以將 GPU 的市場(chǎng)延伸到非圖形應(yīng)用領(lǐng)域,并導(dǎo)致 GPU 的非圖形編程語言(諸如 OpenCL)應(yīng)運(yùn)而生。這些編程語言實(shí)際上是將 GPU 轉(zhuǎn)化成了通用 GPU (GPGPU)。

機(jī)器學(xué)習(xí)

最近,能夠良好映射到 GPU 實(shí)現(xiàn)方案的工作負(fù)載之一就是機(jī)器學(xué)習(xí)訓(xùn)練。通過充分運(yùn)用 GPU,顯著縮短了深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。

GPU 廠商試圖利用機(jī)器學(xué)習(xí)訓(xùn)練方面的成功來助推其在機(jī)器學(xué)習(xí)推斷上的發(fā)展(部署經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò))。隨著機(jī)器學(xué)習(xí)算法和所需數(shù)據(jù)精度的發(fā)展演進(jìn),GPU 廠商一直在調(diào)整他們的架構(gòu)以保持自身地位優(yōu)勢(shì)。例如,英偉達(dá)在他們的 Tesla P4 產(chǎn)品中提供 INT8 支持。然而,即使是更低的精度,例如二進(jìn)制和三進(jìn)制,今天也正在被很多用戶探索。要利用機(jī)器學(xué)習(xí)及其它領(lǐng)域的進(jìn)步,GPU 用戶必須等待新硬件推出之后購(gòu)買新硬件。正如本白皮書后面所述,賽靈思 FPGA 和 SoC 的用戶則無需等待或購(gòu)買新硬件,因?yàn)檫@類產(chǎn)品本身就具有高度的靈活性。

GPU 廠商想使自身成為這個(gè)新計(jì)算時(shí)代的首選計(jì)算平臺(tái),機(jī)器學(xué)習(xí)是他們的基礎(chǔ)。但要弄清楚 GPU 是否適合未來系統(tǒng),還要做更全面的系統(tǒng)級(jí)分析,需要考慮 GPU 架構(gòu)的很多局限性以及系統(tǒng)要求如何隨時(shí)間發(fā)展演進(jìn)。

GPU 架構(gòu)的局限性

本部分將深入研究典型的 GPU 架構(gòu),以揭示它的局限性以及如何將它們應(yīng)用于各種算法和工作負(fù)載。

SIMT ALU 陣列

圖 1 給出了典型的 GPU 方框圖。通用 GPU 計(jì)算功能的核心是大型的算數(shù)邏輯單元 (ALU) 或內(nèi)核陣列。這些 ALU 通常被認(rèn)為是單指令多線程 (SIMT),類似于單指令多數(shù)據(jù) (SIMD)。

圖 1 :GPU 方框圖

基本原理是將工作負(fù)載分成數(shù)千個(gè)并行的線程。需要大量 GPU 線程來防止 ALU 閑置。然后,對(duì)這些線程進(jìn)行調(diào)度,以使 ALU 組并行執(zhí)行同一(單個(gè))指令。利用 SIMT,GPU 廠商能實(shí)現(xiàn)相對(duì) CPU 占位面積更小和能效更高的方案,因?yàn)閮?nèi)核的很多資源都可與相同組中的其他內(nèi)核共享。

然而,顯然只是特定的工作負(fù)載(或部分工作負(fù)載)能被高效映射到這種大規(guī)模并行架構(gòu)中 。如果構(gòu)成工作負(fù)載的線程不具有足夠的共性或并行性(例如連續(xù)工作負(fù)載或適度并行工作負(fù)載),則ALU 會(huì)閑置,導(dǎo)致計(jì)算效率降低。此外,構(gòu)成工作負(fù)載的線程預(yù)期要最大化 ALU 利用率,從而產(chǎn)生額外的時(shí)延。即使有英偉達(dá)的 Volta 架構(gòu)中的獨(dú)立線程調(diào)度這樣的功能,底層架構(gòu)也保持 SIMT,也需要大規(guī)模并行工作負(fù)載。

對(duì)于連續(xù)、適度并行或稀疏工作負(fù)載,GPU 提供的計(jì)算功能和效率甚至低于 CPU。例如用 GPU 實(shí)現(xiàn)稀疏矩陣計(jì)算 ;如果非零元素?cái)?shù)量較少,則從性能和效率角度看 GPU 低于或等同于 CPU。

有趣的是,很多研究人員正在研究稀疏卷積神經(jīng)網(wǎng)絡(luò),以利用很多卷積神經(jīng)網(wǎng)絡(luò)中的大規(guī)模冗余[ 參考資料 9]。這種趨勢(shì)顯然在機(jī)器學(xué)習(xí)推斷領(lǐng)域向 GPU 提出了挑戰(zhàn)。

稀疏矩陣計(jì)算也是大數(shù)據(jù)分析中的關(guān)鍵環(huán)節(jié)。

包含大量并行計(jì)算任務(wù)的大多數(shù)工作負(fù)載也包含一些連續(xù)或適度并行元素,意味著需要 GPU-CPU 混合系統(tǒng)來滿足系統(tǒng)性能要求。顯然,高端 CPU 需求會(huì)影響平臺(tái)的效率和成本效益,CPU 與GPU 之間的通信也會(huì)給系統(tǒng)增加潛在瓶頸。

SIMT/GPU 架構(gòu)的另一個(gè)局限性是 ALU 的功能取決于它的固定指令集和所支持的數(shù)據(jù)類型。

離散數(shù)據(jù)類型精度支持

系統(tǒng)設(shè)計(jì)人員正在探索簡(jiǎn)化數(shù)據(jù)類型精度,以此實(shí)現(xiàn)計(jì)算性能的跳躍式提升,而且不會(huì)使精度明顯降低。

機(jī)器學(xué)習(xí)推斷在降低精度方面一馬當(dāng)先,首先是 FP16,然后是 INT16 和 INT8。研究人員正在探索進(jìn)一步降低精度,甚至降到二進(jìn)制 。

GPU ALU 通常原生支持單精度浮點(diǎn)類型 (FP32),有些情況支持雙精度浮點(diǎn) (FP64)。FP32 是圖形工作負(fù)載的首選精度,而 FP64 經(jīng)常用于一些 HPC 用途。低于 FP32 的精度通常無法在 GPU 中得到有效支持。因此采用標(biāo)準(zhǔn) GPU 上的更低精度,除了能減少所需存儲(chǔ)器帶寬以外,作用甚微。

GPU 通常提供一些二進(jìn)制運(yùn)算功能,但通常只能每 ALU 進(jìn)行 32 位寬運(yùn)算。32 位二進(jìn)制運(yùn)算存在很大的復(fù)雜性和面積需求。在二值化神經(jīng)網(wǎng)絡(luò)中,算法需要 XNOR 運(yùn)算,緊接著進(jìn)行種群 (population) 計(jì)數(shù)。NVidia GPU 只能每四個(gè)周期進(jìn)行一次種群計(jì)數(shù)運(yùn)算,這會(huì)極大影響二進(jìn)制計(jì)算 [ 參考資料 18]。如圖 2 所示,為了與機(jī)器學(xué)習(xí)推斷空間的發(fā)展保持同步,GPU 廠商一直進(jìn)行必要的芯片修改,以支持有限的幾種降精度數(shù)據(jù)類型,例如 FP16 和 INT8。例如,Tesla P4 和 P40 卡上的 NVidia GPU 支持 INT8,每 ALU/Cuda 內(nèi)核提供 4 個(gè) INT8 運(yùn)算。

圖 2 :英偉達(dá)降精度支持

然而,英偉達(dá)面向 Tesla P40 上的 GoogLeNet v1 Inference 發(fā)布的機(jī)器學(xué)習(xí)推斷基準(zhǔn)結(jié)果表明,INT8 方案與 FP32 方案相比效率只提升 3 倍,說明要在 GPU 架構(gòu)中強(qiáng)行降低精度并取得高效結(jié)果存在較大難度。

隨著機(jī)器學(xué)習(xí)和其他工作負(fù)載轉(zhuǎn)向更低精度和定制精度,GPU 廠商需要向市場(chǎng)推出更多新產(chǎn)品,他們的現(xiàn)有用戶也需要升級(jí)平臺(tái)才能受益于這種改進(jìn)。

通過嚴(yán)格的存儲(chǔ)器層級(jí)實(shí)現(xiàn)軟件定義數(shù)據(jù)路徑

與 CPU 類似,GPU 中的數(shù)據(jù)流也由軟件定義,并取決于 GPU 的嚴(yán)格而復(fù)雜的存儲(chǔ)器層級(jí)。典型的 GPU 存儲(chǔ)器層級(jí)如圖 3 所示。

每個(gè)線程在寄存器文件中都有自己的存儲(chǔ)器空間,用以存儲(chǔ)線程的本地變量。少量線程(相同的存儲(chǔ)塊中)可通過共享存儲(chǔ)器通信 ;所有線程都能通過全局或片外存儲(chǔ)器通信 。

如圖 3 所示,與存儲(chǔ)器訪問有關(guān)的能耗和時(shí)延分別增加 100 倍和 80 倍以上,因?yàn)閿?shù)據(jù)需要遍歷存儲(chǔ)器層級(jí)——從寄存器文件到全局存儲(chǔ)器。此外,存儲(chǔ)器沖突不可避免,會(huì)增大時(shí)延,導(dǎo)致 ALU 閑置,致使計(jì)算能力和效率降低。

圖 3 :典型的 GPU 存儲(chǔ)器層級(jí)

因此,如果實(shí)現(xiàn) GPU 的計(jì)算和效率潛能,工作負(fù)載的數(shù)據(jù)流必須準(zhǔn)確映射到 GPU 存儲(chǔ)器層級(jí)。工作負(fù)載要具備足夠的數(shù)據(jù)局部性,才能高效地映射到 GPU,實(shí)際上這樣的工作負(fù)載很少。對(duì)大多數(shù)工作負(fù)載而言,當(dāng)在 GPU 上實(shí)現(xiàn)時(shí),實(shí)際的計(jì)算能力和效率會(huì)大打折扣,解決方案的時(shí)延也會(huì)增加。

機(jī)器學(xué)習(xí)推斷作為量化實(shí)例,能清楚反應(yīng)出這種數(shù)據(jù)流局限性。GPU 必須批處理,例如 128,以實(shí)現(xiàn)高效但時(shí)延更長(zhǎng)的解決方案。最終,批處理使機(jī)器學(xué)習(xí)處理局部化,但代價(jià)是時(shí)延增加。GoogLeNet v1 Inference 的 NVidia P40 基準(zhǔn)測(cè)試結(jié)果可清楚地反映出該效應(yīng)。對(duì)于 GoogLeNet v1,網(wǎng)絡(luò)因 P40 存儲(chǔ)器帶寬而受計(jì)算束縛,因此與批處理有關(guān)的存儲(chǔ)器帶寬削減不會(huì)產(chǎn)生很大幫助。然而,P40顯然需要 128 批處理以實(shí)現(xiàn) 50% 的 GPU 理論性能,會(huì)給系統(tǒng)帶來很大時(shí)延。

有些情況下,可利用 CPU 對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,以便工作負(fù)載更好地映射到 GPU SIMT 架構(gòu)和存儲(chǔ)器層級(jí),但代價(jià)是產(chǎn)生更多 CPU 計(jì)算和功耗,抵消了 GPU 的優(yōu)勢(shì)。

有限的 I/O 選項(xiàng)

如“GPU 起源和目標(biāo)工作負(fù)載”部分所述,GPU 的角色是作為協(xié)處理器。為了便于與主機(jī)通信,GPU以往只有一個(gè)硬 PCIe? 接口以及幾個(gè)片外 DRAM 接口(例如 GDDR5)。最近幾代產(chǎn)品中,有些 GPU 采用硬接口實(shí)現(xiàn) GPU 到 GPU 通信。仍然需要使用 CPU 來與網(wǎng)絡(luò)進(jìn)行連接以及向 GPU 分配任務(wù),這會(huì)增加系統(tǒng)功耗,同時(shí)會(huì)因 PCIe 的有限帶寬而帶來瓶頸問題。例如,英偉達(dá)的 Tesla P40 支持 PCIe 3.0 x16,只能實(shí)現(xiàn) 16GB/s 帶寬。

GPU 廠商已經(jīng)開始構(gòu)建小型 SoC,例如 NVidia Tegra X1,能夠提供集成 GPU 計(jì)算、ARM? 處理器以及一些通用汽車外設(shè)(如 HDMI、MIPI、SIP、CAN 和基礎(chǔ)以太網(wǎng))。這些器件只具備少量計(jì)算能力,必須依靠額外的分立 GPU 實(shí)現(xiàn)必要的計(jì)算能力。然而,分立 GPU 的接口有很大局限性,例如 Tegra X1 僅支持 PCIe 2.0 x4,造成嚴(yán)重瓶頸。額外的 SoC 的功耗會(huì)進(jìn)一步降低平臺(tái)的效率。

片上存儲(chǔ)器資源

除了時(shí)延、效率和吞吐量方面的不利影響,片外存儲(chǔ)器的帶寬要顯著低于本地 / 片上存儲(chǔ)器。因此,如果工作負(fù)載需要依靠片外存儲(chǔ)器,不僅片外存儲(chǔ)器的帶寬會(huì)成為瓶頸,而且計(jì)算資源也會(huì)被閑置,從而降低 GPU 提供的計(jì)算功能和效率。

因此,更有利的做法是采用大型低時(shí)遲、高帶寬片上存儲(chǔ)器。再次以機(jī)器學(xué)習(xí)推斷為例,GoogLeNet 共需要 27.2MB 的存儲(chǔ)器,假設(shè) FP32 方案,這樣沒能提供 GPU,這意味著需要片外存儲(chǔ)器 。很多情況下需采用高昂的高帶寬存儲(chǔ)器 (HBM) 和批處理,以防止內(nèi)核閑置。如果選擇具有更大型片上存儲(chǔ)器的器件,就能避免 HBM 成本以及額外的時(shí)延和功耗問題。

功耗范圍

GPU 廠商在設(shè)計(jì)板卡和 GPU 時(shí)通常要適應(yīng) 250W 功耗上限,并依靠有效熱管理來調(diào)節(jié)溫度。針對(duì)機(jī)器學(xué)習(xí)推斷市場(chǎng),英偉達(dá)開發(fā)了滿足 75W 功耗范圍的器件,例如 Tesla M4 和 P4。即使 75W 也遠(yuǎn)超出所允許的系統(tǒng)級(jí)功耗和熱范圍。 GPU 的絕對(duì)功耗依然是阻礙 GPU 廣泛使用的一大因素。

功能安全性

GPU 源自消費(fèi)圖形處理和高性能計(jì)算領(lǐng)域,不存在功能安全性要求。隨著 GPU 廠商瞄準(zhǔn) ADAS 市場(chǎng),功能安全性就變成了優(yōu)先考慮和要求。器件需要全新設(shè)計(jì),以確保實(shí)現(xiàn)所需的功能安全性認(rèn)證等級(jí),以便用在 ADAS 系統(tǒng)中。對(duì) GPU 廠商來說這是一個(gè)長(zhǎng)期學(xué)習(xí)過程,涉及各個(gè)方面,需要新的工具和設(shè)備。

賽靈思 FPGA 的起源

1984 年,賽靈思發(fā)明了現(xiàn)場(chǎng)可編程門陣列 (FPGA),使用戶能夠在單個(gè)器件中編程(重編程)幾乎無限數(shù)量的功能。以前,系統(tǒng)設(shè)計(jì)人員使用很多通用的分立邏輯組件或通過構(gòu)建高成本的 ASIC 來實(shí)現(xiàn)這些功能。

三十多年來,靈活性和可編程性仍然是賽靈思 All Programmable FPGA 和 SoC 的支柱。賽靈思提供的可編程平臺(tái)能滿足有線與無線通信、云計(jì)算、醫(yī)療、汽車、工業(yè)以及航空航天與國(guó)防領(lǐng)域中多種終端應(yīng)用的核心需求。所有這些應(yīng)用都需要強(qiáng)大的計(jì)算能力,很多還有非常嚴(yán)格的實(shí)時(shí)要求,例如工業(yè)自動(dòng)化和 ADAS。

通常,F(xiàn)PGA 在使用上的挑戰(zhàn)之一是需要利用硬件描述語言 (HDL)(例如 Verilog 或 VHDL)對(duì)其進(jìn)行編程。最近,賽靈思開發(fā)出了 SDSoC ? 和 SDAccel ? 工具,能夠?qū)⒖删幊唐骷闹T多優(yōu)勢(shì)提供給更廣泛的用戶(例如軟件開發(fā)人員和系統(tǒng)架構(gòu)師);并且構(gòu)建了更多加速堆棧,使系統(tǒng)設(shè)計(jì)人員能更快速地實(shí)現(xiàn)賽靈思器件的優(yōu)勢(shì)。

賽靈思 FPGA 和 SoC 的獨(dú)特優(yōu)勢(shì)

原始計(jì)算能力與 GPU 擁護(hù)者的說法不同,單個(gè)賽靈思器件能提供強(qiáng)大的原始計(jì)算能力,例如 Virtex? UltraScale+ ?XCVU13P FPGA 的性能達(dá)到 38.3 INT8 TOP/s。最先進(jìn)的 NVidia Tesla P40 加速卡以基礎(chǔ)頻率運(yùn)行時(shí)提供相似的 40 INT8 TOP/s 原始計(jì)算能力,但功耗是賽靈思解決方案的 2 倍多 [ 參考資料 26]。賽靈思器件的靈活性和片上存儲(chǔ)器能針對(duì)很多工作負(fù)載和應(yīng)用顯著提高計(jì)算能力(詳見 All Programmable 器件靈活性和片上存儲(chǔ)器資源)。

此外,賽靈思器件的靈活性意味著能夠支持各種數(shù)據(jù)類型精度,例如 FP32、INT8、二進(jìn)制和定制。例如,針對(duì)二值化神經(jīng)網(wǎng)絡(luò),賽靈思提供 500TOPs/s 的超高二進(jìn)制計(jì)算能力(假設(shè) 2.5LUT/ 運(yùn)算),相當(dāng)于 GPU 典型性能的 25 倍。有些精度最適合使用 DSP 資源,有些最適合在可編程邏輯中實(shí)現(xiàn),還有些適合將二者結(jié)合起來使用。這種靈活性確保器件的計(jì)算和效率隨著精度降低而調(diào)整,一直到二進(jìn)制運(yùn)算。

機(jī)器學(xué)習(xí)領(lǐng)域的大量研究都從計(jì)算、精度和效率角度來研究最佳精度。無論最佳點(diǎn)在哪,對(duì)于給定工作負(fù)載,賽靈思器件的計(jì)算能力和效率都能隨之調(diào)整,以實(shí)現(xiàn)降低精度后的所有優(yōu)勢(shì)。

幾年來,很多 FPGA 用戶實(shí)現(xiàn)了脈動(dòng)陣列處理設(shè)計(jì),以便針對(duì)多種工作負(fù)載實(shí)現(xiàn)最佳性能,包括機(jī)器學(xué)習(xí)推斷。為了確保賽靈思 FPGA 和 SoC 用戶能夠在現(xiàn)有的賽靈思器件上針對(duì)此類工作負(fù)載將可實(shí)現(xiàn)的計(jì)算能力和效率實(shí)現(xiàn)最大化,賽靈思為此提供多種資源。這些資源包括 INT8最優(yōu)化以及將 DSP 陣列映射到 block RAM 和 UltraRAM 的最高效存儲(chǔ)器層級(jí)。如需了解有關(guān)這些資源的更多信息,敬請(qǐng)聯(lián)系您所在地的賽靈思銷售代表。

為了針對(duì)當(dāng)今的深度學(xué)習(xí)工作負(fù)載提高可用的計(jì)算能力和效率,英偉達(dá)在 Volta 架構(gòu)中以 Tensor Core 的形式硬化了類似功能。然而,深度學(xué)習(xí)工作負(fù)載會(huì)隨時(shí)間演進(jìn),因此 Tensor Core 架構(gòu)也可能需要改變,而且 GPU 用戶需要等待和購(gòu)買新的 GPU 硬件。

效率和功耗從系統(tǒng)級(jí)角度看,計(jì)算平臺(tái)必須在給定的功率和熱范圍之內(nèi)提供最大計(jì)算能力。為滿足這一需求,計(jì)算平臺(tái)需要 :? 處于允許的功率范圍內(nèi)? 能夠在功率預(yù)算內(nèi)將計(jì)算能力最大化

賽靈思提供豐富的 All Programmable 器件,這使用戶能選擇與功率和熱范圍最匹配的器件。此外,賽靈思的 UltraScale+ 器件具有低壓模式 (VLOW),能將功耗降低 30%,效率提升 20%。

如表 1 所示,賽靈思器件針對(duì)固定精度數(shù)據(jù)類型提供從原始計(jì)算角度看最高效的通用計(jì)算平臺(tái)。這主要是因?yàn)橘愳`思 FPGA 架構(gòu)中的處理開銷更低。例如,GPU 需要圍繞計(jì)算資源實(shí)現(xiàn)更多復(fù)雜性,以便實(shí)現(xiàn)軟件可編程功能。對(duì)于當(dāng)今的深度學(xué)習(xí)工作負(fù)載的張量運(yùn)算,英偉達(dá)的 Tesla V100 憑借硬化的 Tensor Core 能實(shí)現(xiàn)與賽靈思 FPGA 和 SoC 差不多的效率。然而,深度學(xué)習(xí)工作負(fù)載也在快節(jié)奏演進(jìn),因此無法確定英偉達(dá)的 Tensor Core 能夠針對(duì)深度學(xué)習(xí)工作負(fù)載保持多久的高效性。顯然對(duì)于其他通用工作負(fù)載,NVidia V100 也存在效率方面的挑戰(zhàn)。

表 1 :器件效率假設(shè) 90% 器件利用率和 80% 有效時(shí)鐘周期 (1)

鑒于本白皮書之前介紹的局限性,對(duì)于真實(shí)的工作負(fù)載與系統(tǒng),GPU 很難接近表 1 中所給出的數(shù)字。

賽靈思器件的靈活性及其他優(yōu)勢(shì),加之賽靈思最新軟件開發(fā)堆棧,能確保基于賽靈思的解決方案為大量最終應(yīng)用和工作負(fù)載實(shí)現(xiàn)顯著提高的效率。

賽靈思器件的附加優(yōu)勢(shì)——例如靈活性和片上存儲(chǔ)器——能確保賽靈思器件的效率被大量最終應(yīng)用和工作負(fù)載所實(shí)現(xiàn)。

All Programmable 器件的靈活性

賽靈思器件經(jīng)過精心設(shè)計(jì),能滿足多種高性能終端系統(tǒng)的計(jì)算、效率、成本和靈活性需求。賽靈思將硬件可編程資源(例如邏輯、走線和 I/O)與靈活、獨(dú)立的集成內(nèi)核模塊(例如 DSP Slice 和 UltraRAM)組合在一起,全部構(gòu)建在領(lǐng)先的工藝技術(shù)上,例如臺(tái)積電 (TSMC) 的 16nm FinFET 工藝技術(shù),從而達(dá)到這種平衡。

賽靈思器件具備硬件可編程性和靈活性,意味著底層硬件通過配置可滿足給定工作負(fù)載的需求。隨后,甚至在運(yùn)行時(shí)也可通過部分重配置功能方便地重新配置數(shù)據(jù)路徑 [ 參考資料 35]。圖 4 試圖捕捉賽靈思 All Programmable 器件提供的部分靈活性,但是賽靈思器件的真正靈活性無法通過單張圖片來體現(xiàn)。內(nèi)核(或用戶設(shè)計(jì)元素)可以直接連接可編程 I/O、任意其它內(nèi)核、LUTRAM、block RAM 和UltraRAM、外部存儲(chǔ)器等。

圖 4 :All Programmable 數(shù)據(jù)路徑和任意到任意 I/O

賽靈思器件具有獨(dú)特的硬件可編程性,意味著它們不存在特定局限性,例如 SIMT 或固定數(shù)據(jù)路徑。無論是大規(guī)模并行、適度并行、流水線連續(xù)或者混合形式,都能獲得賽靈思器件的計(jì)算能力和效率。此外,如果底層算法改變(例如機(jī)器學(xué)習(xí)網(wǎng)絡(luò)的發(fā)展),則平臺(tái)也能相應(yīng)調(diào)整。

很多系統(tǒng)和工作負(fù)載中都能看到賽靈思器件發(fā)揮靈活性優(yōu)勢(shì)。其中一種工作負(fù)載就是機(jī)器學(xué)習(xí)推斷。機(jī)器學(xué)習(xí)推斷的趨勢(shì)之一是向稀疏網(wǎng)絡(luò)過渡。賽靈思器件的用戶已經(jīng)在利用這種趨勢(shì)。英偉達(dá)公司本身就是這些用戶中的一個(gè)。在最近與英偉達(dá)聯(lián)合編寫的關(guān)于語音辨識(shí)的一篇文章中,通過使用賽靈思FPGA,相對(duì) CPU 實(shí)現(xiàn)了 43 倍速度提升和 40 倍效率提升,相對(duì) NVidia GPU 實(shí)現(xiàn)了 3 倍速度提升和11.5 倍效率提升??删幊虜?shù)據(jù)路徑還減少了賽靈思 FPGA 批處理需求。批處理是系統(tǒng)的時(shí)延 vs 實(shí)時(shí)性能的重要決定因素。

從大數(shù)據(jù)角度看,賽靈思器件的靈活性也展現(xiàn)出明顯優(yōu)勢(shì)。賽靈思 FPGA 在處理 SQL 工作負(fù)載時(shí)非常高效和快速,包括具有復(fù)雜數(shù)據(jù)(例如可變長(zhǎng)度字符串)的情況。百度利用基于賽靈思 Kintex?UltraScale ? KU115 器件的加速卡實(shí)現(xiàn)了 25 倍以上的提速。該加速卡的功耗僅 50W。百度該解決方案的效率比 GPU 方案快 4 倍。對(duì)于文本和圖案匹配工作負(fù)載,研究表明基于賽靈思的RegEx 方案比 CPU 方案快 14.5–18 倍,比 GPU 方案快了將近 3 倍。

基因組分析是另一個(gè)切實(shí)的實(shí)例。有人已經(jīng)利用 GPU 來加速基因組分析,可相較于 Intel Xeon CPU 方案提速 6–10 倍。不過,賽靈思 FPGA 的提速效果要高得多,相較于同等 CPU 可提速 80倍 。

賽靈思器件的靈活性還使其成為云服務(wù)提供商的理想選擇,可作為計(jì)算平臺(tái)即服務(wù)的一部分。多種類型的軟件即服務(wù)都可以利用賽靈思器件的優(yōu)勢(shì)。

最后,對(duì)于正在努力研發(fā)自動(dòng)駕駛功能的汽車系統(tǒng)設(shè)計(jì)人員來說,賽靈思器件的靈活性能夠?yàn)樗麄兲峁┛蓴U(kuò)展的平臺(tái),用以滿足完全自動(dòng)駕駛道路上的各種美國(guó)汽車工程師學(xué)會(huì) (SAE) 標(biāo)準(zhǔn)。如需了解關(guān)于SAE 標(biāo)準(zhǔn)的更多信息 , 敬請(qǐng)?jiān)L問 SAE 網(wǎng)站。賽靈思器件可以高效處理來自各種源頭的傳感器數(shù)據(jù),例如雷達(dá)、照相機(jī)和超聲波,同時(shí)保持系統(tǒng)的實(shí)時(shí) / 時(shí)延目標(biāo)。

任意到任意 I/O 靈活性

除了器件計(jì)算資源的靈活性,賽靈思的任意到任意 I/O 靈活性能夠確保器件可無縫集成到現(xiàn)有的基礎(chǔ)架構(gòu),例如直接連接到網(wǎng)絡(luò)或存儲(chǔ)設(shè)備,無需使用主機(jī) CPU。I/O 靈活性還允許平臺(tái)針對(duì)基礎(chǔ)架構(gòu)的變化或更新進(jìn)行調(diào)整。

如需了解關(guān)于賽靈思 UltraScale 架構(gòu)器件的更多詳情,請(qǐng)參閱不斷擴(kuò)大的賽靈思大型白皮書庫(kù)。

片上存儲(chǔ)器

如表 2 所示,賽靈思器件提供業(yè)界領(lǐng)先的靈活、高帶寬、低時(shí)延的 500Mb 片上存儲(chǔ)器。如此大的片上存儲(chǔ)器緩存意味著工作負(fù)載的很大一部分存儲(chǔ)器要求都能通過片上存儲(chǔ)器來滿足,從而減小外部存儲(chǔ)器訪問帶來的存儲(chǔ)器瓶頸問題,以及高存儲(chǔ)器帶寬解決方案(例如 HBM2)的功耗和成本問題。例如,針對(duì)大多數(shù)深度學(xué)習(xí)網(wǎng)絡(luò)技術(shù)(例如 GoogLeNet)的系數(shù) / 特性圖都可存在片上存儲(chǔ)器中,以提高計(jì)算效率和降低成本。

表 2 :器件片上存儲(chǔ)器大小

封裝內(nèi)的 HBM

針對(duì)需要高帶寬存儲(chǔ)器的情況,賽靈思在部分 Virtex UltraScale+ 器件中提供 HBM。除了封裝內(nèi) HBM堆棧的 460GB/s 存儲(chǔ)器帶寬,賽靈思 HBM 存儲(chǔ)器控制器還增加更大的靈活性,以便將工作負(fù)載高效映射到器件和可用存儲(chǔ)器帶寬,將效率和計(jì)算效率最大化。

功能安全性

賽靈思長(zhǎng)期以來能夠滿足各種功能安全性,包括工業(yè)自動(dòng)化以及最近的 ADAS。賽靈思工具和器件經(jīng)過重新設(shè)計(jì),以便支持功能安全性應(yīng)用,并達(dá)到相應(yīng)認(rèn)證等級(jí)。

因此,多家汽車制造商在安全關(guān)鍵型 ADAS 應(yīng)用中采用 Zynq?-7000 All Programmable SoC 量產(chǎn)器件。Zynq UltraScale+ MPSoC 還進(jìn)一步擴(kuò)大對(duì)功能安全應(yīng)用的支持。

結(jié)論

系統(tǒng)設(shè)計(jì)人員在這個(gè)新的計(jì)算時(shí)代面對(duì)不同選擇。賽靈思 FPGA 和 SoC 為系統(tǒng)設(shè)計(jì)人員提供最低風(fēng)險(xiǎn),幫助其滿足未來系統(tǒng)的核心要求與挑戰(zhàn),同時(shí)提供足夠的靈活性以確保平臺(tái)在未來不會(huì)落伍。

在深度學(xué)習(xí)領(lǐng)域,UltraScale 架構(gòu)中的 DSP 架構(gòu)內(nèi)在的并行性能夠針對(duì)具有可伸縮 INT8 向量點(diǎn)積性能的神經(jīng)網(wǎng)絡(luò)加強(qiáng)卷積和矩陣乘法計(jì)算量。這能為深度學(xué)習(xí)推斷實(shí)現(xiàn)更低時(shí)延??焖?DSP 陣列、最高效的block RAM 存儲(chǔ)器層級(jí)以及 UltraRAM 存儲(chǔ)器陣列可實(shí)現(xiàn)最佳功率效率。

現(xiàn)在,利用開發(fā)套件,以及多種設(shè)計(jì)輸入工具,例如 HLS、SDSoC 和 SDAccel 工具,用戶可發(fā)揮賽靈思器件的諸多優(yōu)勢(shì)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 賽靈思
    +關(guān)注

    關(guān)注

    32

    文章

    1794

    瀏覽量

    131245
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4729

    瀏覽量

    128890
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8406

    瀏覽量

    132558
  • 英偉達(dá)
    +關(guān)注

    關(guān)注

    22

    文章

    3770

    瀏覽量

    90982

原文標(biāo)題:Xilinx全可編程器件:出色的計(jì)算密集型系統(tǒng)開發(fā)平臺(tái)

文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    可編程晶振的優(yōu)點(diǎn)和缺點(diǎn)

    可編程晶振,近年來漸入人們眼中。什么是可編程晶振,與普通晶振有什么區(qū)別?可編程晶振的優(yōu)點(diǎn)和缺點(diǎn)有哪些?1,什么是可編程晶振可編程晶振是一種可
    的頭像 發(fā)表于 09-30 10:44 ?380次閱讀
    <b class='flag-5'>可編程</b>晶振的優(yōu)點(diǎn)和缺點(diǎn)

    什么是現(xiàn)場(chǎng)可編程邏輯陣列?它有哪些特點(diǎn)和應(yīng)用?

    在電子工程領(lǐng)域,現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Logic Array,簡(jiǎn)稱FPLA)是一種具有強(qiáng)大靈活性和可編程性的半導(dǎo)體器件。它屬于可編程邏輯器件(PLD
    的頭像 發(fā)表于 05-23 16:25 ?918次閱讀

    ALINX聯(lián)合紫光同創(chuàng)發(fā)布首款國(guó)產(chǎn)Kosmo-2可編程系統(tǒng)平臺(tái)開發(fā)套件

    近日,ALINX 聯(lián)合國(guó)內(nèi) FPGA 芯片龍頭企業(yè)紫光同創(chuàng)發(fā)布了首款國(guó)產(chǎn)Kosmo-2 可編程系統(tǒng)平臺(tái)開發(fā)套件 AXK400。
    的頭像 發(fā)表于 05-15 11:05 ?638次閱讀
    ALINX聯(lián)合紫光同創(chuàng)發(fā)布首款國(guó)產(chǎn)Kosmo-2<b class='flag-5'>可編程</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>開發(fā)</b>套件

    簡(jiǎn)談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    )和可編程邏輯資源集成在單個(gè)芯片中,產(chǎn)生了一種全新的設(shè)計(jì)平臺(tái),我們稱之為可編程片上系統(tǒng)(ALL Programmable System-o
    發(fā)表于 05-08 16:23

    簡(jiǎn)談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    單個(gè)芯片中,產(chǎn)生了一種全新的設(shè)計(jì)平臺(tái),我們稱之為可編程片上系統(tǒng)(ALL Programmable System-on-chip,APSoC). SoC的架構(gòu)如下:(固化、靈活性差、專
    發(fā)表于 04-10 16:00

    鴻蒙OS開發(fā)實(shí)例:【ArkTS類庫(kù)多線程CPU密集型任務(wù)TaskPool】

    CPU密集型任務(wù)是指需要占用系統(tǒng)資源處理大量計(jì)算能力的任務(wù),需要長(zhǎng)時(shí)間運(yùn)行,這段時(shí)間會(huì)阻塞線程其它事件的處理,不適宜放在主線程進(jìn)行。例如圖像處理、視頻編碼、數(shù)據(jù)分析等。 基于多線程并發(fā)機(jī)制處理CPU
    的頭像 發(fā)表于 04-01 22:25 ?829次閱讀
    鴻蒙OS<b class='flag-5'>開發(fā)</b>實(shí)例:【ArkTS類庫(kù)多線程CPU<b class='flag-5'>密集型</b>任務(wù)TaskPool】

    鴻蒙OS開發(fā)實(shí)例:【ArkTS類庫(kù)多線程I/O密集型任務(wù)開發(fā)

    的處理能力,而在于I/O操作的速度和效率。這種任務(wù)通常需要頻繁地進(jìn)行磁盤讀寫、網(wǎng)絡(luò)通信等操作。此處以頻繁讀寫系統(tǒng)文件來模擬I/O密集型并發(fā)任務(wù)的處理。
    的頭像 發(fā)表于 04-01 16:32 ?510次閱讀
    鴻蒙OS<b class='flag-5'>開發(fā)</b>實(shí)例:【ArkTS類庫(kù)多線程I/O<b class='flag-5'>密集型</b>任務(wù)<b class='flag-5'>開發(fā)</b>】

    博泰“車聯(lián)網(wǎng)云服務(wù)平臺(tái)”入選2023年度專利密集型產(chǎn)品名單

    近日,中國(guó)專利保護(hù)協(xié)會(huì)首次組織開展了專利密集型產(chǎn)品認(rèn)定工作,并于近期發(fā)布2023年專利密集型產(chǎn)品名單,博泰的“車聯(lián)網(wǎng)云服務(wù)平臺(tái)”入選2023年度專利密集型產(chǎn)品名單。
    的頭像 發(fā)表于 03-29 10:23 ?450次閱讀
    博泰“車聯(lián)網(wǎng)云服務(wù)<b class='flag-5'>平臺(tái)</b>”入選2023年度專利<b class='flag-5'>密集型</b>產(chǎn)品名單

    可編程片上系統(tǒng)是什么意思

    可編程片上系統(tǒng)(Programmable System-on-Chip,PSoC)是一種特殊的嵌入式系統(tǒng)。它首先是一個(gè)片上系統(tǒng),這意味著整個(gè)系統(tǒng)
    的頭像 發(fā)表于 03-28 15:09 ?563次閱讀

    可編程片上系統(tǒng)是什么

    可編程片上系統(tǒng)(Programmable System-on-Chip,PSoC)是一種特殊的嵌入式系統(tǒng),它集成了數(shù)字邏輯、模擬電路和可配置模塊,將傳統(tǒng)的微處理器、微控制器和可編程邏輯器件
    的頭像 發(fā)表于 03-28 14:55 ?640次閱讀

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫(kù)多線程I/O密集型任務(wù)開發(fā)

    能力,而在于I/O操作的速度和效率。這種任務(wù)通常需要頻繁地進(jìn)行磁盤讀寫、網(wǎng)絡(luò)通信等操作。此處以頻繁讀寫系統(tǒng)文件來模擬I/O密集型并發(fā)任務(wù)的處理。 定義并發(fā)函數(shù),內(nèi)部密集調(diào)用I/O能力。 import
    發(fā)表于 03-21 14:57

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫(kù)多線程CPU密集型任務(wù)TaskPool

    CPU密集型任務(wù)是指需要占用系統(tǒng)資源處理大量計(jì)算能力的任務(wù),需要長(zhǎng)時(shí)間運(yùn)行,這段時(shí)間會(huì)阻塞線程其它事件的處理,不適宜放在主線程進(jìn)行。例如圖像處理、視頻編碼、數(shù)據(jù)分析等。 基于多線程并發(fā)機(jī)制處理CPU
    發(fā)表于 03-19 14:14

    現(xiàn)場(chǎng)可編程門陣列是什么

    現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,簡(jiǎn)稱FPGA)是一種超大規(guī)模可編程邏輯器件,由可編程邏輯資源、可編程互連資源和
    的頭像 發(fā)表于 03-16 16:38 ?2452次閱讀

    可編程邏輯器件的特征及優(yōu)勢(shì)科普

    可編程邏輯器件是一種集成電路,具有可編程功能的特性。它們可以根據(jù)用戶的需求進(jìn)行編程,從而實(shí)現(xiàn)不同的邏輯功能。
    的頭像 發(fā)表于 02-26 18:24 ?1104次閱讀

    HarmonyOS CPU與I/O密集型任務(wù)開發(fā)指導(dǎo)

    一、CPU密集型任務(wù)開發(fā)指導(dǎo) CPU密集型任務(wù)是指需要占用系統(tǒng)資源處理大量計(jì)算能力的任務(wù),需要長(zhǎng)時(shí)間運(yùn)行,這段時(shí)間會(huì)阻塞線程其它事件的處理,
    的頭像 發(fā)表于 02-18 10:17 ?971次閱讀
    HarmonyOS CPU與I/O<b class='flag-5'>密集型</b>任務(wù)<b class='flag-5'>開發(fā)</b>指導(dǎo)
    RM新时代网站-首页