<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 采用C/C++、OpenCL編程中的下個(gè)邏輯步驟

采用C/C++、OpenCL編程中的下個(gè)邏輯步驟

作者: 時(shí)間:2015-12-25 來(lái)源: 收藏

自從賽靈思在上世紀 80 年代初期開(kāi)發(fā)和推出世界首款 FPGA后,這些用途豐富的可編程邏輯器件就成為硬件工程師的 MacGyver 萬(wàn)能工具。 賽靈思最近發(fā)布了 SDxTM 系列開(kāi)發(fā)環(huán)境(即 SDAccelTM、SDSoCTM 和 SDNetTM), 使軟件開(kāi)發(fā)人員和系統工程師(非 FPGA 設計人員)能夠利用賽靈思器件輕松創(chuàng )建自己的定制化軟件定義硬件,從而助力更多創(chuàng )意頭腦實(shí)現非凡的創(chuàng )新技術(shù)。

本文引用地址:http://dyxdggzs.com/article/284914.htm

介紹這些新型環(huán)境以及賽靈思及其 聯(lián)盟成員提供的其他軟件開(kāi)發(fā)資源之 前,我們先來(lái)思量一下處理架構的演變 及其對軟件開(kāi)發(fā)的影響。

這是軟件問(wèn)題…

2000 年以前,典型的微處理器主要由一 個(gè)帶有板載內存的巨型單片處理器內核 和一些其他零部件組成,使 MPU 成為一 種用以開(kāi)發(fā)新一代應用的相對簡(jiǎn)單直觀(guān)的平臺。在那之前的三十年里,微處理器廠(chǎng)商每隔22個(gè)月就會(huì )以摩爾定律的增長(cháng)速度推出具有更高容量和性能的器件。他們會(huì )簡(jiǎn)單地以增加時(shí)鐘速率的方式來(lái)提高性能。當時(shí)速度最快的單片 MPU 是英特爾奔騰 4 處理器 (Pentium 4 Pro),其極限速度剛剛超 過(guò) 4GHz。這種演進(jìn)對于開(kāi)發(fā)人員來(lái)說(shuō)非常重要,因 為隨著(zhù)每代產(chǎn)品的推出,他們的程序會(huì )變得日趨復 雜,能執行更細化的功能,而且程序運行速度更快。

但在  21  世紀初期 ,半 導 體行 業(yè)改 變 了游 戲規 則,迫使開(kāi)發(fā)人員根據一套新的規則進(jìn)行調整。這 種轉變起始于人們意識到了如果 MPU 產(chǎn)業(yè)繼續在新 的單片 MPU 架構中提高時(shí)鐘速率,那么鑒于芯片工藝技術(shù)的發(fā)展路線(xiàn)圖以及日趨惡化的晶體管漏電流問(wèn)題,MPU 將很快達到與太陽(yáng)相同的功率密度。

正因為如此,MPU 產(chǎn)業(yè)快速向同質(zhì)多處理架構轉型 ;在這種同質(zhì)多處理架構中,計算任務(wù)被分配 給多個(gè)以較低時(shí)鐘速率運行的小型內核。新的處理 模型讓 MPU 和半導體廠(chǎng)商能夠繼續生產(chǎn)新一代容量 更高的器件,并將更多功能集成到單個(gè)芯片中以獲 得更高性能。然而,現有程序無(wú)法利用新型分布式 架構,因此軟件開(kāi)發(fā)人員必須想辦法開(kāi)發(fā)出能夠跨 多個(gè)處理器內核高效運行的程序。

同時(shí),后來(lái)的幾代芯片工藝技術(shù)繼續使晶體管 數量成倍增長(cháng),讓半導體公司能夠采取另一個(gè)創(chuàng )新舉措,即將不同類(lèi)型的內核集成到同一顆芯片中,創(chuàng )建出 SoC。這些異構多處理器架構給嵌入式軟件 開(kāi)發(fā)人員提出了更多挑戰,使軟件開(kāi)發(fā)人員不得不 開(kāi)發(fā)定制軟件協(xié)議棧,讓?xiě)媚軌蛟谀繕讼到y上實(shí) 現最佳運行。

如今,半導體行業(yè)又一次改變游戲規則,但這 次軟件開(kāi)發(fā)人員則對轉變持歡迎態(tài)度。面對另一個(gè) 功耗窘境,半導體和系統公司正在將目光轉向由 FPGA 加速的異構處理架構。這種架構將 MPU 與 FPGA 緊密配合在一起,能以最小的功耗成本提高 系統性能。這種新興架構最顯著(zhù)的應用是用于新型 數據中心處理架構中。在一篇現在著(zhù)名的論文中, 微軟研究人員展示了在架構上將 MPU 與 FPGA 組合 在一起能實(shí)現 90% 的性能提升,同時(shí)功耗僅僅增加10%,在單位功耗性能方面遠遠優(yōu)于 MPU 與高功耗GPU 相結合而實(shí)現的架構。

通過(guò)  FPGA 加速的異構多處理架構的優(yōu)勢已 經(jīng)超 出了數 據中心應 用范疇 。賽靈 思  Z yn q ? -70 00 All Programmable SoC 器件在單芯片上完美集成了 ARM 處理器和可編程邏輯,讓采用該器件的嵌入式 系統受益良多。使用即將推出的 Zynq UltraScale+TM MPSoC 的系統注定將會(huì )更加出色。Zynq UltraScale+ MPSoC  在單個(gè)器件中集成了多個(gè) ARM?  內核(4 個(gè) CortexTM-A53 應用處理器、2 個(gè) Cortex-R5 實(shí)時(shí)處理 器和 1 個(gè) MaliTM-400MP GPU)、可編程邏輯、多級 安全、更高安全性以及高級電源管理模塊(如圖 1 所示)。

圖1 - Zynq UltraScale+ MPSoC

不過(guò),要讓這些 FPGA 加速的異構架構適合大規模部署并方便軟件開(kāi)發(fā)人員使用,FPGA 廠(chǎng)商必須開(kāi)發(fā)新的環(huán)境。在這方面,賽靈思提供了三個(gè)開(kāi) 發(fā)平臺 :針對數據中心開(kāi)發(fā)人員的 SDAccel、針對 嵌入式系統開(kāi)發(fā)人員的 SDSoC,以及針對網(wǎng)絡(luò )線(xiàn)卡 架構師和開(kāi)發(fā)人員的 SDNet。這些賽靈思新環(huán)境讓 開(kāi)發(fā)人員能夠輕松將代碼的緩慢部分放在可編程邏 輯上編程以加速程序,從而創(chuàng )建出最佳系統。

面向 OpenCL、C/C++ 的 SDAccel 通過(guò)編程實(shí)現FPGA 加速處理

最新的賽靈思 SDAccel 開(kāi)發(fā)環(huán)境為數據中心應用 開(kāi)發(fā)人員提供一套基于 FPGA 的完整軟硬件解決方 案(圖 2)。SDAccel 環(huán)境包含一個(gè)能有效利用片上 FPGA 資源的快速的架構優(yōu)化編譯器。該環(huán)境為開(kāi) 發(fā)人員提供類(lèi)似于 CPU/GPU 的熟悉的工作環(huán)境和軟 件開(kāi)發(fā)流程,并具有一個(gè)用于代碼開(kāi)發(fā)、特性分析 與調試的基于 Eclipse 的集成設計環(huán)境 (IDE)。利用 該環(huán)境,開(kāi)發(fā)人員可以創(chuàng )建針對不同數據中心應用 可即時(shí)換入換出而優(yōu)化的動(dòng)態(tài)重配置加速器 , 可即時(shí) 換入換出。開(kāi)發(fā)人員可使用該環(huán)境創(chuàng )建諸多應用, 這些應用能在運行時(shí)間內將眾多內核換入和換出 FPGA,且不會(huì )干擾服務(wù)器 CPU 與 FPGA 之間的接 口連接,從而實(shí)現不間斷的應用加速。SDAccel 環(huán) 境針對的是基于 x86 服務(wù)器處理器的主機系統,并 提供現成商用插電式 PCIe 卡,以增加 FPGA 功能。

圖 2 - 面向 OpenCL、C 和 C++ 的 SDAccel 開(kāi)發(fā)環(huán)境可將單位功耗性能提高 25 倍,利用 FPGA 實(shí)現數據中心應用加速。

憑借  SDAccel  環(huán)境,開(kāi)發(fā)人員即使先前沒(méi)有 FPGA 經(jīng)驗也能使用 SDAccel 似曾相識的工作流程 來(lái)優(yōu)化他們的應用,并充分發(fā)揮 FPGA 平臺作用。該 IDE 提供編碼模板和軟件庫,并可用來(lái)針對所有開(kāi)發(fā)目標進(jìn)行編譯、調試和特性分析,包括 x86 上 的仿真、使用快速仿真進(jìn)行性能驗證,以及 FPGA 處理器上本地執行。該開(kāi)發(fā)環(huán)境在面向數據中心的 FPGA 平臺上執行應用,而且能自動(dòng)插入工具以實(shí)現 所有開(kāi)發(fā)目標。賽靈思設計的 SDAccel 環(huán)境能夠讓 CPU 和 GPU 開(kāi)發(fā)人員輕松將應用遷移到 FPGA 上, 同時(shí)在熟悉的工作流程中維護和重用 OpenCLTM、C 和 C++ 代碼。

SDAccel 庫對于 SDAccel 環(huán)境能實(shí)現類(lèi)似于 CPU/GPU 的開(kāi)發(fā)體驗起到了重大作用。SDAccel 庫 包含低級數學(xué)庫以及生產(chǎn)力更高的庫(如 BLAS、 OpenCV 和 DSP 庫)。這些庫用 C++(而非 RTL) 編寫(xiě)而成,因此開(kāi)發(fā)人員可在所有開(kāi)發(fā)和調試階段完全按所編寫(xiě)的內容來(lái)使用它們。在項目早期,所有開(kāi)發(fā)工作都在 CPU 主機上完成。因為 SDAccel 庫 用 C++ 編寫(xiě),所以它們能夠與 CPU 目標(創(chuàng )建一個(gè) 虛擬原型)的應用代碼一起編譯,從而允許所有測 試、調試和初始特性分析在主機上進(jìn)行。這個(gè)階段 無(wú)需 FPGA。

SDSOC 支持 ZYNQ SOC 和 MPSOC 系統的嵌入式 開(kāi)發(fā)

賽靈思為嵌入式系統開(kāi)發(fā)人員設計了 SDSoC 開(kāi)發(fā)環(huán) 境,用以針對賽靈思 Zynq SoC 和即將推出的 Zynq UltraScale+ MPSoC 進(jìn)行編程。SDSoC 環(huán)境提供極 大簡(jiǎn)化的嵌入式 C/C++ 應用編程體驗,包括一個(gè)可 在裸機或操作系統(例如 Linux 和 FreeRTOS)上運行的簡(jiǎn)單易用的 Eclipse IDE。該環(huán)境是一種用于異構 Zynq SoC 和 Zynq MPSoC 平臺部署的綜合而全面 的開(kāi)發(fā)平臺(圖 3)。SDSoC 環(huán)境還配套提供業(yè)界 首款 C/C++ 全系統優(yōu)化編譯器,支持系統級特性分 析、可編程邏輯中的自動(dòng)軟件加速、自動(dòng)系統連接 生成,以及可加快編程速度的多種庫。該環(huán)境還為 客戶(hù)和第三方平臺開(kāi)發(fā)人員提供開(kāi)發(fā)流程,以使平 臺能夠在 SDSoC 開(kāi)發(fā)環(huán)境中使用。

圖 3 – SDSoC 開(kāi)發(fā)環(huán)境提供熟悉的嵌入式 C/C++ 應用開(kāi)發(fā)體驗,包括簡(jiǎn)單易用的 Eclipse IDE和綜合而全面的設計環(huán)境,以實(shí)現異構 Zynq All Programmable SoC 和 MPSoC 部署。



更多關(guān)于讓您能夠將代碼性能最大化的文章,請點(diǎn)擊“軟件開(kāi)發(fā)及嵌入式系統開(kāi)發(fā)人員必備



關(guān)鍵詞: xilinx zynq poencl SDAccelTM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>