兩年前,英特爾收購了FPGA芯片供應商Altera,那么如此大的一個收購會為英特爾帶來什么呢?如今,英特爾終于準備向我們展示其收獲了。
FPGA,即現場可編程門陣列,是一個集成電路,可以定制以執行特定的功能。x86只執行x86指令集,而FPGA可以被重新編程以執行指定的任務。這就是為什么x86處理器被稱作是通用計算處理器,而FPGA被視為是可定制的。
該公司的策略很有趣,貌似將自己投入了一個與自身競爭的境況中。在大規模的浮點運算方面,英特爾有Xeon Phi產品線,與Nvidia和AMD的GPU進行競爭。而現在,FPGA也針對那些大規模浮點運算用例,加入了戰場。
與GPU一樣,FPGA將以兩種方式應用:內聯(inline)和卸載(offload)。內聯的意思是數據先通過CPU,然后再轉移到FPGA進行處理。卸載,也稱為旁路讀出式(look aside),意味著CPU不受影響,數據直接進出FPGA進行處理。
對于特定任務,FPGA能夠展現出優秀性能
現在英特爾將Altera FPGA定位為協處理器,而且承認他們將與Xeon Phi在某些方面產生競爭,但在某些特定任務上,FPGA比Phi和GPU更通用且更適合。據英特爾軟件解決方案的可編程解決方案組高級主管Bernhard Friebe說。
“FPGA的優勢在于,GPU只在某些領域發揮作用而不是全部,如果你看看內聯和卸載的使用模型,它們多數被限制在卸載方面。因此,你可以用FPGA覆蓋更廣闊的應用空間。”他說。
集成解決方案提供了CPU和FPGA之間的緊密耦合,帶寬非常高,而外部的PCI-E卡則不那么緊密耦合。對于超低延遲和高帶寬的應用,集成是非常適合的,Friebe表示。
“集成和離散之間的大部分差異是由于系統架構和數據移動造成的。在一個數據中心環境中,會運行許多不同的工作負載,沒有人希望將其綁定到某個特定的應用程序,”他說。
Friebe指出,你所做的越專業化,你就能從加速器中擠出更多的性能。FPGA作為多功能加速器,在些應用中會取得很好的效果。FPGA的本質是高度并行的和可編程的,它適合于加速可以并行化的工作負載。這些包括數據分析、人工智能(AI)和機器學習、視頻轉換、壓縮、安全、財務分析和基因組學。
雙管齊下的FPGA策略
英特爾采用了一種雙管齊下的策略,提供兩種混合的CPU-FPGA處理器——像是其桌面CPU在模具上集成了GPU——以及在PCI-E卡上集成了離散的Arria或Stratix品牌FPGA設備。
混合的CPU-FPGA設備將基于Skylake CPU和Arria 10 FPGA,將使用更快的UPI(UltraPath Interconnect)鏈接——Intel的QPI(QuickPath Interconnect)的接班人。除了它將以9.6GT / s或10.4GT / s的數據傳輸速率運行之外,它將比QPI更有效,因為它將支持每個消息的多個請求。
英特爾還提供了一個完整的開發者工具集和API來為集成的和離散的產品設計應用,使用相同的工具,加速器和庫。所有的都寫在OpenCL——一個類似C的語言。
“關鍵在于標準化和開源。這是正向兼容的新一代處理器,容易遷移,而且為FPGA開發人員提供了一個抽象概念,以針對更大的用戶群。”Friebe說。
英特爾正在對一種名為“可編程加速卡”(PAC)的離散卡進行采樣檢測,目前已具備Arria 10 GX FPGA,預計2018年上半年可用。一個Xeon可伸縮的平臺,在Skylake Xeon集成FPGA,目前在是采樣檢測,通用在2018年下半年。