FPGA作為有史以來最具創新性的半導體器件,一直都走在架構和工藝的最前沿。也正是因其較高的技術門檻和IP要求,這一領域的玩家幾乎屈指可數。兩家主流的FPGA廠商在架構創新和工藝制程的提升方面你追我趕,競爭甚是激烈。不過,這一局面開始呈現出一些新的發展態勢,幾年的攻城掠地后,他們都在自己所專注且擅長的領域贏得了一席之地,差異化特征越來越明顯。
賽靈思在忙什么?
這是我非常關注的一個問題。
賽靈思的創新,讓賽靈思從傳統可編程邏輯公司轉型為“All Programmable”公司,創建各種形式的軟/硬件、數字和模擬可編程技術并將其并整合到All Programmable FPGA、SoC和3D IC中。這些器件集可編程系統的高集成度以及嵌入式智能和靈活性于一身,支持快速開發高度可編程的智能系統。
有兩個動向需特別關注:賽靈思推出“軟”定義網絡(“Softly” Defined Networks)解決方案,將可編程能力和智能化功能從控制層擴展至數據層。全新SDNet軟件定義規范環境可實現可編程數據層功能設計,而且功能規范可自動編譯到賽靈思的All Programmable FPGA和SoC中。
賽靈思又宣布推出針對OpenCL、C和C++的SDAccel開發環境,將單位功耗性能提高達25倍,相對其它FPGA解決方案,性能和資源效率可提高3倍。目前,賽靈思已經通過這一開發環境實現了FPGA向數據中心應用加速。
賽靈思究竟在做什么?它的發展路線始終圍繞FPGA,但似乎已經超越了傳統FPGA廠商的范疇。以下節選自美國Eletronic Engineering Journal的一段內容或許對我們有所啟發。
If FPGAs are to become the compute engines of the future, the flow of FPGA design must make a tectonic shift toward the software engineer. The devices must seem like processors, and the implementation must feel like programming. Synthesis, simulation, and layout must be replaced by compilation and debug. Detailed control of optimization options must be replaced by rapid iteration and productive workflow. In short, the whole hardware-engineer-centric FPGA process must be turned on its side.(from Kevin Morris at EE Journal)
這就是賽靈思正在做的事情。
單純地依靠FPGA芯片架構、工藝制程或是增強型工具套件進行性能提升已成為過去式。如果FPGA希望進入一個更廣闊的新世界去開疆拓土,軟件開發環境是一個不得不逾越的鴻溝,而這需要根本上的改變。賽靈思必須能夠在硬件工程師與軟件開發人員之間搭建起一座溝通的橋梁,讓他們即使使用各自的語言也能自由溝通。
SDNet是Xilinx的第一步嘗試,SDAccel則緊隨其后。這就是賽靈思努力實現的SDx系列,它已不僅僅是某一項市場策略,而是該公司以軟件為中心的SDx生態系統,正在幫助賽靈思將FPGA的發展推進一個新境界。當然,背后起關鍵支撐作用的仍然是賽靈思多年來大量的工具和IP積累。
賽靈思如何搭建軟硬件人員的溝通橋梁?
建立起硬件工程師與軟件開發人員的溝通并非易事。硬件工程師追求的是系統的優化——如何在最小的硅片面積,以最低的功耗,實現最佳的性能。而軟件開發人員則注重如何有效管理復雜代碼,他們通常需要面對成千上萬行代碼,必須快速地進行迭代、分析,并以最少的bug、最易理解的方式來組織他們的編程語言。二者的工作似乎永遠不會有交集。賽靈思是如何實現的?
SDAccel技術是建立在賽靈思于2011年年初收購AutoESL時獲得的高層次綜合(HLS)技術的基礎上實現的。賽靈思在過去三年多時間里進一步開發該技術,并將其作為產品供貨給1000多名FPGA客戶。與此同時,賽靈思還將該技術從針對C和C++擴展到了現在能夠優化本地OpenCL代碼的編譯工作。
SDAccel使軟件開發人員能夠利用新的或現有的OpenCL、C和C++ 代碼創建高性能加速器,并針對計算搜索、圖像識別、機器學習、編碼轉換、存儲壓縮和加密等各種數據中心應用中的存儲器、數據流和流水線技術進行了精心優化。圖1給出了SDAccel環境中的典型設計流程。
圖1:通過SDAccel編譯創建的可執行鏡像可在賽靈思FPGA中實現。
有FPGA實例化經驗的軟件開發老手會發現SDAccel中有很多熟悉的內容。允許C、C++和OpenCL輸入是為了讓來自獨立CPU領域的開發人員盡快熟悉編程環境,同時能獲得FPGA的所有獨特功能集。SDAccel支持在CPU上的完整仿真,程序員可對并行和流水線化元素進行比較,并在對特定FPGA架構進行初始編譯之前執行循環、片上存儲器、和數據流等優化操作。
在FPGA上首次實現完全類似CPU/GPU的開發體驗
借助SDAccel,開發人員能夠使用其熟悉的工作流程優化應用,而且即便之前沒有FPGA使用經驗,也能受益于FPGA平臺的優勢。集成設計環境(IDE)不僅可提供編碼模板和軟件庫,而且還能對各種開發目標進行編譯、調試和特性分析,如在X86平臺上仿真、使用快速仿真進行性能驗證以及在FPGA處理器上進行本地執行等。IDE可在數據中心用FPGA平臺上執行應用。該平臺配套提供面向所有支持開發目標的自動儀器插入功能。此外,SDAccel還經過精心設計,使CPU/GPU開發人員能夠輕松將其應用遷移到FPGA上,同時還可在他們熟悉的工作流程中維護和復用OpenCL、C和C++代碼。
綜合全面的SDAccel環境包括編程器用IDE、基于C語言的FPGA優化庫,以及數據中心用現成商用(COTS)平臺。
SDAccel庫包括用于高性能低功耗實現方案的內置OpenCL函數、DSP、視頻以及線性代數庫。針對特定領域加速,賽靈思聯盟合作成員Auviz Systems提供了精心優化的OpenCV和BLAS OpenCL兼容型軟件庫。原有的COTS成員包括Alpha Data、Convey、Pico Computing,預計2015年年初還將增加更多成員。
圖2:SDAccel開發環境包括架構優化編譯器、庫、調試器以及特性分析器,可提供類似CPU或GPU的編程體驗
在FPGA上首次實現完全與CPU/GPU的運行時間體驗
SDAccel能夠支持帶有多個程序和類似CPU / GPU按需可加載計算單元的應用。與CPU/GPU類似,SDAccel對于FPGA解決方案的獨特之處,在于能夠保持程序轉換過程中的系統正常工作。SDAccel目前是業界唯一能夠創建可在應用運行過程中加載新加速器內核的FPGA計算單元的環境。在整個應用執行過程中,存儲器、以太網、PCIe和性能監控器等關鍵系統接口和功能均保持工作狀態。即時可重配置的計算單元可讓多個應用共享FPGA加速器。例如通過對運行系統編程,可支持圖像搜索、視頻轉碼和圖像處理之間的切換。
能夠支持C、C++和OpenCL對開發人員來說是一個獨特優勢,因為無論是使用現有代碼庫還是利用全新的OpenCL環境都可達到“兩全其美”境地。盡管OpenCL提供一些明顯優勢,例如可移植性,以及在主機與運行內核的計算單元之間實現代碼分段,但是大部分函數庫和現有代碼庫均采用C或C++編寫。SDAccel使客戶能夠在合適的時候繼續用C和C++進行開發,同時利用OpenCL的可移植性進行移植。
SDAccel庫包含OpenCL內置函數、DSP、視頻和線性代數庫。SDAccel還將諸如OpenCV和BLAS等第三方的庫集成到其軟件環境中。當設計方案使用壓縮或加密等復雜協處理模塊時,利用SDAccel開發環境得到的設計在性能和大小方面可與手動編碼效果旗鼓相當,甚至更勝一籌。
面向未來數據中心的開發環境
一直阻礙FPGA在數據中心應用中更廣泛使用的主要原因就是缺乏一款高效優化的編譯器和相關開發環境,以滿足數十年在面向通用CPU和GPU架構的編譯器上工作的需求。SDAccel的出現終于打破了這一局面,有助于在數據中心應用中實現設計優化。
SDAccel不僅可完成用戶在任何本地OpenCL編譯器上所能實現的基本功能,如循環合并、扁平化以及展開等,而且還能執行一些更高級的優化工作,如內存使用、數據流、循環流水線等選項。這些優化讓客戶通過編譯器將C、C++或OpenCL直接高效導入到FPGA硬件中。賽靈思基準測試顯示,編譯器相對優化的RTL大小可減少5%,而且在一些情況下其結果質量(QoR)相比RTL能提升20%以上。這讓客戶能夠在具有嵌入式調試功能的本地FPGA硬件上進行綜合和調試前,即可在架構層的x86處理器上設計和優化他們的應用。
SDAccel不僅使加速內核接近傳統CPU和GPU,甚至超越它們以往的性能,而且還能簡化面向未來低功耗異構數據中心的FPGA產品的開發工作。SDAccel在為數據中心創建功耗更優化型計算環境,以及在通用開發環境中整合 CPU/GPU優化型編譯和動態可重配置加速器方面所起的重要作用。
SDx系列仍在持續創新
賽靈思公司亞太區銷售與市場副總裁楊飛表示,賽靈思的SDx系列仍會持續發展。毫無疑問,這會幫助賽靈思面向更為廣泛的用戶群。事實上,不僅是數據中心,未來,有線通信、無線通信等領域都有廣闊的應用前景。
賽靈思SDx系列已經收獲了一系列不錯的反響。關于它的未來,關于FPGA的未來,會是很有趣的猜想。
應用案例:
百度現已轉用深度神經網絡(DNN)處理技術來解決語音識別、圖像搜索以及自然語言處理中存在的各種問題,這是因為他們已經認識到,當在線預測使用神經反向傳播算法時,FPGA解決方案遠比CPU和GPU更容易進行擴展。
板級超級計算機專家Convey Computer將x86 CPU與賽靈思FPGA結合,設計了一款可幫助數據中心服務器進行內容高速緩存的Wolverine加速卡。Convey與戴爾的數據中心解決方案(DCS)業務部通力合作推出了一款圖像縮放解決方案(在社交媒體和圖片存儲網絡中非常需要)。該解決方案采用兩個Virtex7開發板,相對僅采用CPU的同等系統而言,縮放速度可提高35到40倍。此外,Convey-Dell解決方案之所以得到廣泛使用,關鍵還是能夠利用更高級的語言定制FPGA加速器。
微軟于今年年初啟動了一項計劃——使用FPGA加速Bing搜索排名。微軟公司服務器工程副總裁Kushadra Vaid最近在Linley處理器大會上的一次主題演講中展示了使用1632臺帶PCIe FPGA加速卡的服務器試生產結果。相對于未加速的服務器,微軟實現方案的吞吐量提高了2倍,而時延和成本分別降低了29%和30%。
戴爾公司平臺架構與技術及CTO 辦公室執行總監Robert Hormuth指出:“基于FPGA的技術有了新的突破,能支持優化的計算應用。在戴爾服務器部署的過程中,簡化編程是決定采用FPGA加速器的關鍵障礙。。毫無疑問,賽靈思開辟了一條正確的道路,讓開發人員能夠借助一個軟件環境,提高FPGA平臺用戶的生產力。”
IBM電源開發副總裁兼OpenPOWER基金會總裁(IBM vice president of Power Development and OpenPOWER president)Brad McCredie表示:“IBM堅信OpenCL對提高生產力大有裨益,正在與賽靈思展開緊密合作,將該技術應用到我們的OpenPOWER產品設計中。”
---> END <---
-
硬件
+關注
關注
11文章
3345瀏覽量
66294 -
網絡
+關注
關注
14文章
7580瀏覽量
88933 -
C語言
+關注
關注
180文章
7608瀏覽量
137111
發布評論請先 登錄
相關推薦
評論