• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

軟件定義硬件時代來臨,軟件工程師無需懂硬件也能搞定項目設計

原創(chuàng)
2019/10/17
97
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

隨著大數據、人工智能的崛起,算力需求進一步提升,異構架構得到大量應用,多種算法涌現,軟件硬件的結合越來越緊密,尤其隨著科技創(chuàng)新速度的加快,對硬件的自適應性要求越來越高。業(yè)界急需一款綜合平臺,打通軟件設計和硬件設計之間的壁壘,讓兩者更快融合,從而提升系統(tǒng)設計效率。

在賽靈思大中華區(qū)銷售副總裁唐曉蕾看來,軟件定義硬件、自適應計算成為未來的發(fā)展趨勢,而賽靈思也一直在順應并推動這一趨勢的發(fā)展。從 Vivado 設計套件、SDNet 軟件定義規(guī)范環(huán)境,到針對數據中心的 SDAccel 開發(fā)環(huán)境、面向 SoC/MPSoC 嵌入式 C/C++應用開發(fā)的 SDSoC,再到面向云端應用的可重配置加速堆棧的 reVISION 堆棧,賽靈思向著“All-Programmable”一路狂奔。近期,賽靈思新推出的 Vitis 統(tǒng)一軟件平臺進一步加深了軟件設計和硬件設計的融合,讓軟件工程師“摸著黑”就能做好項目設計。

?

順應三大趨勢,Vitis 應運而生

Vitis 一詞如何定義?唐曉蕾解釋,Vitis 是由法文單詞 Vite(快速的)和 vitality(有活力的)構成,合在一起的寓意是“至關重要的生命力”。Vitis 是公司內在的驅動力和未來成長的基石,賽靈思希望用有生命力的產品帶給用戶有機且有生命力的成長。

左:賽靈思大中華區(qū)銷售副總裁唐曉蕾;右:賽靈思軟件和人工智能高級經理羅霖

關于 Vitis 的誕生背景,唐曉蕾分析了三大行業(yè)趨勢:第一是云端到邊緣的統(tǒng)一化,原來在云端進行的計算開始向邊緣端轉移,在轉移的過程中發(fā)現功耗、計算力是重要因素,但是很多時候難以準確定義到底是在云還是在邊緣處理,所以需要一個從云到端的統(tǒng)一解決方案;第二是 AI 激增,隨著數據量的激增,如果我們想讓產品產生價值就需要 AI 分析,AI 激增帶來場景的激增,也需要統(tǒng)一的平臺;第三是異構計算,數據增加對計算力要求越來越高,單核算力已經難以滿足需求,因此出現 CPU+GPU、CPU+FPGA 等異構計算,賽靈思提出了自適應異構,和傳統(tǒng)異構不同,叫做軟件感知異構,它通過應用場景決定采用的硬件平臺,通過軟件做定向動態(tài)應用。

唐曉蕾表示,我們可以感知到用戶是在做人臉識別、語音識別,然后在不改硬件平臺的情況下進行處理,完全用軟件感知架構,其實就是我們去年十月推出的軟件自適應計算加速平臺(ACAP),為了配合 ACAP,我們推出了 Vitis,Vitis 統(tǒng)一平臺可以說是應運而生。

Vitis 統(tǒng)一軟件平臺是賽靈思歷經五年、投入總計 1000 個人工年而打造,無需用戶深入掌握硬件專業(yè)知識,即可根據軟件或算法代碼自動適配和使用賽靈思硬件架構。此外,Vitis 平臺不限制使用專有開發(fā)環(huán)境,而是可以插入到通用的軟件開發(fā)工具中,并利用豐富的優(yōu)化過的開源庫,使開發(fā)者能夠專注于算法的開發(fā)。

四層設計,Vitis打破軟硬件壁壘

Vitis 平臺構建在基于堆棧的架構之上,該架構可以無縫插入到開源的標準開發(fā)系統(tǒng)與構建環(huán)境,而且最重要的是,它包含一套豐富的標準庫。

第一層即基礎層,是 Vitis 目標平臺,該平臺由電路板和預編程 I/O 構成。第二層稱為 Vitis 核心開發(fā)套件,覆蓋開源賽靈思運行時庫,以管理不同域間的數據移動,包括子系統(tǒng)、即將發(fā)布的 Versal ACAP? 內的 AI 引擎和必要的外部主機。此外,該層也提供編譯器、分析器和調試器等核心開發(fā)工具。雖然賽靈思提供的是世界一流的設計環(huán)境,但是這些工具設計的目的是能與業(yè)界標準的構建系統(tǒng)與開發(fā)環(huán)境無縫集成。

在第三層,8 個 Vitis 庫提供 400 余種優(yōu)化的開源應用。這 8 個庫分別是:Vitis 基本線性代數子程序(BLAS)庫、Vitis 求解器庫、Vitis 安全庫、Vitis 視覺庫、Vitis 數據壓縮庫、Vitis 計量金融庫、Vitis 數據庫集和 Vitis AI 庫。借助這些庫,軟件開發(fā)者可以使用標準的應用編程接口(API)來實現硬件加速。

Vitis 平臺的第 4 層,也是最具有變革意義的一層是 Vitis AI。它集成了特定領域架構(DSA)。DSA 提供了針對 AI 模型的硬件實現,開發(fā)者可以使用包括 TensorFlow 和 Caffe 等業(yè)界領先框架對其進行配置與編程。Vitis AI 提供的工具鏈能在數分鐘內完成優(yōu)化、量化和編譯操作,在賽靈思器件上高效地運行預先訓練好的 AI 模型。此外,它也為從邊緣到云端的部署提供了專用 API,實現業(yè)界一流的推斷性能與效率。賽靈思很快還將推出另一個 DSA(Vitis Video),支持從 FFmpeg 直接進行編碼并提供同樣超級簡單且功能極強大的端到端視頻解決方案。

跳過軟硬件互通問題,賦能軟件開發(fā)人員

用戶最關心的莫過于如何通過 Vitis 實現軟硬件互通?賽靈思軟件和人工智能高級經理羅霖以智慧城市為例進行了詳細分析。在智慧城市中,最典型的應用場景就是在一個十字路口實時統(tǒng)計交通流量,包括汽車流量、人流量,用戶在系統(tǒng)前端可以采用大量攝像頭,實時捕捉視頻。在攝像頭前端完成部分特征提取工作后,把提取信息傳到云端,在云端提取更高層次的信息。

在這一應用中,硬件包括攝像頭或邊緣服務器,硬件開發(fā)人員通過賽靈思的板卡可以完成部分 IP 開發(fā),然后交給嵌入式工程師,他們基于賽靈思提供的 Shell 和 Runtime 進行修改,應用工程師可以使用賽靈思經過優(yōu)化的庫,包括 CNN 加速庫、數據分析庫、數據加速庫完成應用開發(fā)。算法工程師需要檢測到車或者人,他們需要采用 Tensorflow 訓練模型。在智慧城市系統(tǒng)里,通過 Vitis 平臺可以讓所有開發(fā)人員在統(tǒng)一平臺上協(xié)同工作,提升整體開發(fā)效率。

到底基于 Vitis 怎樣能夠實現客戶的目標性能?第一步,軟件開發(fā)人員把整個算法以及前后處理在 CPU 上完成,這部分不需要底層硬件開發(fā)人員的幫助,采用 Vitis 可以達到每秒 6 幀;第二,把 DPU 放在殼里加速,性能從每秒 6 幀提升到每秒 30 幀。另外,通過一些技巧提升端到端的性能,比如預處理是設計空間轉換或者視頻縮放,采用 Vitis 庫提供一個前處理的優(yōu)化,把性能從 30FPS 提升到 40FPS,后面可以從 40FPS 再提升到 80FPS。在這一過程中,軟件工程師不需要專門插入芯片間隙或者插入數據監(jiān)測器來獲取相關信息,Vitis 可以通過詳細的分析報告以友好的圖形界面方式呈現。

另外一個重要創(chuàng)新是,賽靈思給用戶提供了一個集成開發(fā)環(huán)境,客戶可以把里面一些功能完全插入到自己的 IDE 里,調用賽靈思的編譯器和調試工具。同時客戶也可以使用腳本完成整個應用的開發(fā)。賽靈思把工具交給客戶,讓他們可以無縫集成在自己的開發(fā)環(huán)境里。羅霖強調,我們的目的是賦能軟件開發(fā)人員,讓他們在自適應開發(fā)平臺上釋放自己創(chuàng)新力的開發(fā)工具。我們采用業(yè)界熟悉的標準,同時把工具、資源、代碼開放給客戶,讓客戶直接使用。

軟硬件廠商的互相入侵

為了加強軟硬件設計融合,英特爾計劃在年底發(fā)布 One API 測試版本,可以跨不同架構、不同廠商完全開放,可以看出,硬件廠商都非常重視軟件平臺建設。羅霖認為,業(yè)界側重軟件開發(fā)工具是大勢所趨,特別是從端到云,針對不同的應用場景,要用軟件定義硬件,而不是為特定的硬件去優(yōu)化軟件。這就意味著硬件必須是可適應的、靈活多變。賽靈思的架構和器件可以應對這一挑戰(zhàn)。同時我們也提供云端,針對不同的 Runtime、不同應用底層硬件的 shell,包括超級延時的、超高吞吐量的,多通道的,還有針對 STM、MLP 的。雖然它是高度適應的,但是必須提供一個靈活豐富的硬件給軟件工程師,通過高程的 API 去調用下面的東西,這個理念是一致的,只是不同廠商有不同的實現手段。

另外,阿里、亞馬遜、百度互聯(lián)網公司,除了開發(fā)算法也要根據自己的應用場景設計 AI 芯片,軟件公司也開始關心硬件性能。針對這一現象,唐曉蕾表示,這是他們的業(yè)務需求,因為大型互聯(lián)網公司面臨的場景越來越復雜,促使他們開發(fā) ASIC 應用的 AI 加速芯片。但是,當它的 AI 算法改變的時候,還是需要一個過渡的平臺,當它的算法穩(wěn)定下來以后,才有能力,有固定的應用支持它用 ASIC。我們面對的是所有的開發(fā)者,所有的跟 FPGA 應用相關的客戶。不管是大型公有云的運營公司,還是互聯(lián)網巨頭,仍然是我們非常重要的合作伙伴,FPGA、ASIC、ASSP 是一個循環(huán)重復的趨勢。由于摩爾定律慢慢地失效和硬件成本的提升,對 FPGA 是最有利的時代。

VivadoVitis如何共存?

用戶都知道,賽靈思幾年前已經推出了 Vivado 設計套件,那么,Vitis 是否可以完全替代 Vivado?兩者各自有著怎樣的定位?羅霖解釋,Vivado 針對硬件開發(fā),Vitis 針對軟件開發(fā),但是軟件開發(fā)需要硬件承載,因為用戶的軟件總要運行在特定的硬件平臺上,過去用 Vivado 來實現硬件,現在可以在 Vitis 平臺里選用已經設計好的 Shell,但是這些 Shell 也是用 Vivado 預先生成的,用戶直接調用即可,所以 Vitis 獨立于 Vivado 設計套件,后者仍然繼續(xù)為希望使用硬件代碼進行編程的用戶提供支持。Vitis 能夠通過將硬件模塊封裝成軟件可調用的函數,兩者還是相輔相成的關系。

唐曉蕾總結,Vitis 是一款面向所有開發(fā)者的平臺,硬件開發(fā)者可以在 Vivado 上做開發(fā),軟件開發(fā)者不需要弄懂 RTL 和 I/O 的使用,通過 Vitis 直接進行設計。AI 科學家專注于 AI 設計,我們提供了 Vitis AI 工具。

賽靈思

賽靈思

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產商。該公司發(fā)明了現場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉型為All Programmable FPGA、 SoC 和 3D IC 的全球領先提供商。且行業(yè)領先的器件與新一代設計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機構

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產商。該公司發(fā)明了現場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉型為All Programmable FPGA、 SoC 和 3D IC 的全球領先提供商。且行業(yè)領先的器件與新一代設計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機構收起

查看更多

相關推薦