一、 FPGA背景介紹
FPGA是Field-Programmable Gate Array的英文縮寫(xiě),英文直譯叫做“現(xiàn)場(chǎng)可編程門(mén)陣列”,一般都叫做“可編程硅芯片”。計(jì)算機(jī)的處理器是在預(yù)定義的電路中運(yùn)行軟件應(yīng)用程序,與此相反,對(duì)FPGA進(jìn)行編程會(huì)使芯片內(nèi)部的線路重新連接,從而直接在硬件中執(zhí)行所需的功能。
每一塊FPGA芯片都是由有限多個(gè)帶有可編程連接的預(yù)定義源組成,可實(shí)現(xiàn)可重配置數(shù)字電路和I/O模塊并允許電路接觸外部環(huán)境。
FPGA資源說(shuō)明書(shū)中通常介紹了可編程邏輯模塊的數(shù)量、固定功能邏輯模塊(如乘法器)的數(shù)目及存儲(chǔ)器資源(如嵌入式塊RAM)的大小。FPGA芯片中還有很多其它的部分,但是以上指標(biāo)通常是在為特定應(yīng)用選擇和比較FPGA時(shí)的最重要參考指標(biāo)。
可重配置邏輯模塊(configurable logic block, CLB)是FPGA的基礎(chǔ)邏輯單元。CLB有時(shí)又稱(chēng)為片(slice)或邏輯單元,由兩個(gè)基本元器件構(gòu)成:觸發(fā)器和查找表(LUT)。不同F(xiàn)PGA產(chǎn)品系列的區(qū)別在于觸發(fā)器和LUT的組合方式,因此理解觸發(fā)器和LUT是至關(guān)重要的。
二、 FPGA作用
在計(jì)算加速領(lǐng)域,傳統(tǒng)CPU處理能力的需要突破已經(jīng)成為共識(shí),目前的途徑主要有以下幾類(lèi):
途徑一,ASIC:經(jīng)歷了幾十年的發(fā)展演變,為專(zhuān)門(mén)目的而設(shè)計(jì)的ASIC,由于面向特定用戶的需求,在加速效率上可圈可點(diǎn)。但是,設(shè)計(jì)周期長(zhǎng)、成本貴、應(yīng)用范圍窄的通病,使ASIC僅適合于批量很大或者對(duì)產(chǎn)品成本不計(jì)較的場(chǎng)合。
途徑二,GPU:隨著近年來(lái)機(jī)器學(xué)習(xí)等領(lǐng)域的突飛猛進(jìn),GPU也早已經(jīng)不再局限于3D圖形處理,其在浮點(diǎn)運(yùn)算、并行計(jì)算等部分計(jì)算方面的特性已經(jīng)引起業(yè)界越來(lái)越多的關(guān)注,尤其是目前最大的獨(dú)立芯片生產(chǎn)銷(xiāo)售商N(yùn)VIDIA有些如日中天的感覺(jué),但其在應(yīng)用廣度上的通用性仍然有待時(shí)間的檢驗(yàn)。
途徑三,F(xiàn)PGA:它作為半定制的ASIC而出現(xiàn),既解決了定制電路的不足,又在性能與應(yīng)用廣度上顯示出優(yōu)勢(shì),英特爾已經(jīng)積極布局,推出CPU+FPGA架構(gòu),也有廠商推出了單獨(dú)的FPGA架構(gòu),這些都使FPGA進(jìn)入數(shù)據(jù)中心加速的主角地位。
下面是一個(gè)廠商提供的測(cè)試數(shù)據(jù):
可以看出,這個(gè)廠商FPGA與服務(wù)器CPU的性能對(duì)比,單位功耗性能在機(jī)器學(xué)習(xí)推斷方面提高了11倍;數(shù)據(jù)分析SQL查詢方面提升了33倍;視頻處理轉(zhuǎn)碼提高40倍;存儲(chǔ)壓縮提高40倍;網(wǎng)絡(luò)vSwitch可提高23倍。
三、 AWS的FPGA
亞馬遜AWS提供了新的EC2實(shí)例F1,這種新的EC2實(shí)例是具有現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 的計(jì)算實(shí)例。可以進(jìn)行編程,為應(yīng)用程序創(chuàng)建自定義硬件加速。F1 實(shí)例易于編程,并且配備了開(kāi)發(fā)、模擬、調(diào)試和編譯硬件加速代碼所需的各種資源,包括 FPGA Developer AMI 和硬件開(kāi)發(fā)工具包 (HDK)。FPGA 設(shè)計(jì)完成后,您可以將其注冊(cè)為 Amazon FPGA Image (AFI),然后將其部署到您的 F1 實(shí)例,只需單擊幾下即可完成部署。您可以多次重復(fù)使用您的 AFI,并可以根據(jù)需要跨多個(gè) F1 實(shí)例使用。
Amazon EC2 F1 現(xiàn)已推出預(yù)覽版,具有兩種不同的實(shí)例大小,且每個(gè)實(shí)例包含多達(dá)八個(gè) FPGA。F1 實(shí)例配有最新的 16nm Xilinx UltraScale Plus FPGA。每個(gè) FPGA 都具有 64 GiB 本地 DDR4 ECC 受保護(hù)內(nèi)存,并配有專(zhuān)用 PCIe x16 連接。每個(gè) FPGA 大約包含 250 萬(wàn)個(gè)邏輯元件以及大約 6800 個(gè)數(shù)字信號(hào)處理 (DSP) 引擎。與其他 Amazon EC2 按需實(shí)例一樣,您將按小時(shí)為 F1 計(jì)算容量付費(fèi),無(wú)需簽訂長(zhǎng)期合約,也無(wú)須支付預(yù)付款。FPGA DeveloperAMI 或 HDK 都是免費(fèi)的,您可以在您的 F1 實(shí)例上根據(jù)需要對(duì) FPGA 多次進(jìn)行編程,無(wú)需額外付費(fèi)。
四、 AWS FPGA的優(yōu)勢(shì)
快速部署自定義硬件加速。借助 F1 實(shí)例,您只需在 AWS 管理控制臺(tái)中單擊幾下,即可在 AWS 上部署自定義 FPGA。F1 實(shí)例可以擁有一個(gè)或多個(gè)與其關(guān)聯(lián)的 FPGA 設(shè)計(jì),使您能夠快速且靈活地在同一個(gè)實(shí)例上運(yùn)行多個(gè) AFI。此外,F(xiàn)1 實(shí)例還為您提供了編程、模擬、調(diào)試和編譯硬件加速代碼所需的易于訪問(wèn)的工具。
可預(yù)測(cè)的性能。FPGA 通過(guò)一種專(zhuān)用的 PCI Express(PCIe) 結(jié)構(gòu)連接到您的 F1 實(shí)例,從而使各個(gè) FPGA能夠共用同一內(nèi)存空間,并能夠以高達(dá) 12GBps 的速度相互通信。PCI Express 結(jié)構(gòu)與其他網(wǎng)絡(luò)相隔離,且 FPGA 不會(huì)跨實(shí)例、用戶或賬戶進(jìn)行共享。此設(shè)計(jì)可確保您在使用 FPGA 時(shí)只有您的邏輯在其上運(yùn)行,有助于提供一致的性能。
改變 FPGA 的經(jīng)濟(jì)性。借助 F1 實(shí)例,您無(wú)需自行購(gòu)買(mǎi) FPGA 或購(gòu)買(mǎi)專(zhuān)門(mén)的硬件來(lái)運(yùn)行 FPGA,即可為您的工作負(fù)載部署硬件加速,從而大幅降低為應(yīng)用程序部署硬件加速所需的成本。如此一來(lái),您便能夠?qū)?FPGA 用于更多工作負(fù)載,如基因組學(xué)研究和財(cái)務(wù)風(fēng)險(xiǎn)建模。FPGA可以按小時(shí)付費(fèi),無(wú)限次燒寫(xiě)。
可使用您現(xiàn)有的 FPGA 算法。您可以輕松地將您現(xiàn)有的加速算法引入AWS,并在 F1 實(shí)例中使用它們。F1 實(shí)例中的 FPGA 及 HDK 中的開(kāi)發(fā)人員工具與熱門(mén) FPGA 供應(yīng)商 (如 Xilinx、Altera 和其他供應(yīng)商) 提供的硬件加速代碼和設(shè)計(jì)工具兼容。
五、 AWS FPGA的特性
可編程的硬件加速。借助 F1 實(shí)例,您可以輕松地使用 FPGA 為您的工作負(fù)載部署硬件加速。FPGA 是可編程的集成電路,您可以使用軟件進(jìn)行配置。與僅使用 CPU 的服務(wù)器相比,您可以使用 FPGA 將您的應(yīng)用程序速度提高達(dá) 30 倍。此外,由于 F1 實(shí)例中的 FPGA 是可編程的,因此,您可以靈活地更新和優(yōu)化您的硬件加速,且無(wú)需重新設(shè)計(jì)任何硬件。
專(zhuān)用 FPGA。每個(gè) F1 實(shí)例都具有多達(dá)八個(gè) FPGA,且這些 FPGA 均專(zhuān)用于該實(shí)例,不會(huì)在實(shí)例、用戶或賬戶之間共享。這可確保 FPGA 的全部力量將僅用于該實(shí)例,還能通過(guò)用戶和賬戶隔離提高安全性。
可重復(fù)使用的安全 Amazon FPGA Image (AFI)。您所創(chuàng)建的用于對(duì) FPGA 進(jìn)行編程的設(shè)計(jì)被稱(chēng)為 Amazon FPGA Image (AFI)。AWS 提供了一種用于獲取、管理和加密 AFI 的服務(wù)。注冊(cè) AFI 之后,可以將其與 Amazon 系統(tǒng)映像 (AMI) 相關(guān)聯(lián),也可以與正在運(yùn)行的 F1 實(shí)例關(guān)聯(lián)。您可以同時(shí)將多個(gè) AFI 與同一個(gè) F1 實(shí)例或 AMI相關(guān)聯(lián),且一個(gè)實(shí)例在運(yùn)行時(shí)可在多個(gè) AFI 之間切換,無(wú)需重新啟動(dòng)。如此一來(lái),您便能夠快速地連續(xù)測(cè)試和運(yùn)行多個(gè)硬件加速。AFI 與 AMI 相關(guān)聯(lián)后,您還可以向AWS Marketplace 中的其他客戶提供您的 FPGA 加速。
硬件開(kāi)發(fā)工具包。AWS 提供了硬件開(kāi)發(fā)工具包 (HDK),幫助您快速開(kāi)發(fā)硬件加速。HDK 包括代碼示例、編譯腳本、調(diào)試接口以及為 F1 實(shí)例開(kāi)發(fā) FPGA 代碼所需的許多其他工具。您可以在 AWS 提供的 AMI 或您的本地開(kāi)發(fā)環(huán)境中使用 HDK。
FPGA Developer AMI。FPGADeveloper AMI 包括一個(gè)預(yù)先打包的工具開(kāi)發(fā)環(huán)境,其中含有用于模擬 FPGA 設(shè)計(jì)、編譯代碼及構(gòu)建和注冊(cè) AFI 的腳本和工具。FPGA Developer AMI 包括用于調(diào)試和編譯代碼的工具。您可以在 Amazon EC2 實(shí)例上部署 FPGA Developer AMI,并快速預(yù)配置您所需的資源,以便編寫(xiě)和測(cè)試您的 FPGA 設(shè)計(jì)。
六、 AWS FPGA的實(shí)例詳情
七、 AWS FPGA的工作方式
開(kāi)發(fā):使用硬件開(kāi)發(fā)工具包 (HDK) 及一整套設(shè)計(jì)工具和模擬器來(lái)開(kāi)發(fā)自定義 Amazon FPGA Images (AFI)。
部署:直接在 F1 實(shí)例上部署 AFI,并利用 EC2 的所有可擴(kuò)展性、敏捷性和安全性優(yōu)勢(shì)。
提供:在 AWS Marketplace 中為其他客戶提供您設(shè)計(jì)的AFI。
購(gòu)買(mǎi):購(gòu)買(mǎi) AWS Marketplace 中列出的構(gòu)建好的 AFI,從而快速實(shí)施常見(jiàn)的硬件加速。
看一個(gè)簡(jiǎn)單的例子。先登入到開(kāi)發(fā)環(huán)境AMI,如下圖所示:
進(jìn)入AMI之后,安裝一些依賴包,啟動(dòng)License管理器,然后就能打開(kāi)Xilinx的FPGA開(kāi)發(fā)工具Vivado了。所以所謂的AMI其實(shí)就是一個(gè)操作系統(tǒng),包含了Xilinx的FPGA開(kāi)發(fā)工具和亞馬遜的支持包。
可以使用VHDL和Verilog來(lái)編寫(xiě)FPGA代碼,然后編譯、模擬、并且進(jìn)行校驗(yàn)。下面是一段Verilog代碼:
module up_counter(out, enable, clk, reset);
output [7:0] out;
input enable, clk, reset;
reg [7:0] out;
always @(posedge clk)
if (reset) begin
out 《= 8‘b0;
end else if (enable) begin
out 《= out +1;
end
endmodule
通過(guò)命令行啟動(dòng)Vivado,用來(lái)圖形化編程:
寫(xiě)一段Verilog或者OpenCL代碼,并編譯綜合成硬件邏輯。
F1硬件開(kāi)發(fā)工具包:
八、 AWS FPGA的用途
使用 F1 實(shí)例部署硬件加速在許多高性能計(jì)算 (HPC) 應(yīng)用程序中非常有用,可解決需要高帶寬、增強(qiáng)型聯(lián)網(wǎng)和較高計(jì)算能力的復(fù)雜科學(xué)、工程和業(yè)務(wù)問(wèn)題。F1 實(shí)例尤其適用于有時(shí)間要求的應(yīng)用程序,如臨床基因組學(xué)、實(shí)時(shí)視頻處理和財(cái)務(wù)風(fēng)險(xiǎn)分析。
基因組學(xué)研究:必須由基因組學(xué)研究人員處理的生物數(shù)據(jù)的數(shù)量和復(fù)雜性不斷增加,逐步達(dá)到了 PB 級(jí)范圍。研究人員和臨床醫(yī)生必須非常快速地處理這些數(shù)據(jù)集,以滿足醫(yī)生及其患者的需求。對(duì)于此類(lèi)有時(shí)間要求的使用案例,F(xiàn)1 實(shí)例是理想的解決方案。
財(cái)務(wù)分析:金融服務(wù)行業(yè)對(duì)多種應(yīng)用程序的 HPC 功能需求一直在不斷增加,包括風(fēng)險(xiǎn)建模和分析、針對(duì)安全性的事務(wù)分析、高頻交易等。金融服務(wù)組織可以使用 F1 實(shí)例來(lái)提高風(fēng)險(xiǎn)建模和分析的準(zhǔn)確性,從而顯著改進(jìn)他們的決策制定流程。
實(shí)時(shí)視頻處理:高性能廣播級(jí)視頻應(yīng)用程序 (如圖片處理、視頻分析及視頻轉(zhuǎn)碼和壓縮) 需要使用實(shí)時(shí)分析功能。F1 實(shí)例是滿足這些應(yīng)用程序要求的理想解決方案,且不會(huì)影響視頻質(zhì)量。
大數(shù)據(jù)搜索和分析:許多大數(shù)據(jù)應(yīng)用程序?qū)?shù)據(jù)分析和搜索的數(shù)量、多樣性和速度要求不斷提高,導(dǎo)致客戶正在尋求硬件加速來(lái)滿足這些要求。對(duì)于這些應(yīng)用程序,客戶可以利用 F1 實(shí)例的增強(qiáng)性能來(lái)滿足其大數(shù)據(jù)分析和搜索要求。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22012瀏覽量
616635 -
AWS
+關(guān)注
關(guān)注
0文章
435瀏覽量
25174
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)中的定時(shí)計(jì)數(shù)器的四種工作方式詳解
51單片機(jī)定時(shí)器工作方式
鼠標(biāo)的工作方式
Wifi模塊的工作方式功能是什么?
步進(jìn)電機(jī)及驅(qū)動(dòng)電路工作原理及工作方式介紹
一圖詳解PLC的工作方式

一文看懂矩陣鍵盤(pán)的特點(diǎn)及工作方式

一文總結(jié)藍(lán)牙模塊的工作方式匯總,很全值得收藏!

ups不間斷電源工作方式
AD級(jí)聯(lián)的工作方式配置和AD雙排序的工作方式配置詳細(xì)說(shuō)明

51單片機(jī)定時(shí)器工作方式1、2原理詳解

評(píng)論