siemens x
能效管理

寒武紀(jì)推出BANG語言,高效編程模式釋放智能芯片強(qiáng)勁性能

2025China.cn   2020年01月08日

  寒武紀(jì)作為全球人工智能芯片領(lǐng)域的先行者,自2016年開始推出一系列人工智能芯片和智能處理卡,向合作伙伴提供了性能卓越、高度靈活的AI加速解決方案。

  為進(jìn)一步推動(dòng)AI計(jì)算實(shí)現(xiàn)軟硬協(xié)同,釋放更澎湃的算力,寒武紀(jì)提供包括BANG編程語言(以下簡稱“BANG語言”)在內(nèi)的一套高效軟件棧工具和高性能庫(如下圖所示),方便開發(fā)者在寒武紀(jì)云、邊、端平臺(tái)上開發(fā)和部署。

▲寒武紀(jì)軟件棧工具和高性能庫

支持寒武紀(jì)全線產(chǎn)品

  BANG語言及其工具鏈由寒武紀(jì)編譯團(tuán)隊(duì)推出,專門針對寒武紀(jì)智能處理器產(chǎn)品架構(gòu)而設(shè)計(jì),可極大優(yōu)化寒武紀(jì)芯片的通用編程能力并提升用戶編程的自由度。BANG語言能夠支持寒武紀(jì)現(xiàn)有的云端、邊緣側(cè)和終端芯片和板卡全線產(chǎn)品(如思元100、思元220、思元270、IP產(chǎn)品等),并可支持寒武紀(jì)后續(xù)新的產(chǎn)品架構(gòu)。

釋放芯片強(qiáng)大算力

  用戶不僅可以直接使用BANG語言編寫AI程序,而且能使用BANG語言和寒武紀(jì)高性能庫進(jìn)行混合編程,最大限度地釋放芯片的強(qiáng)大算力。

  BANG語言支持最常用的C99和C++11語言的語法特性,并提供了用于編寫高性能程序的內(nèi)置Intrinsic接口。依托寒武紀(jì)強(qiáng)大的編譯工具鏈,開發(fā)者在編程靈活的同時(shí)能夠最大程度地利用寒武紀(jì)智能處理器產(chǎn)品上的計(jì)算和存儲(chǔ)資源,確保程序的高性能得以實(shí)現(xiàn)。在實(shí)際開發(fā)過程中,相對于原有的編程語言(C/C++),使用BANG語言進(jìn)行編程,開發(fā)者僅需要1/10的開發(fā)時(shí)間,就可達(dá)到85%的極致性能。

▲寒武紀(jì)BANG語言關(guān)鍵特性

BANG語言還具備以下關(guān)鍵特性:

  ●內(nèi)置寒武紀(jì)智能處理器產(chǎn)品硬件相關(guān)的類型系統(tǒng);
  ●支持開發(fā)者構(gòu)建自定義算法模型;
  ●提供統(tǒng)一高效的編程接口,充分發(fā)揮寒武紀(jì)產(chǎn)品的硬件特性;
  ●提供異構(gòu)編程模型;
  ●提供多核并行編程模型;
  ●能夠與寒武紀(jì)高性能庫進(jìn)行混合編程;

與編譯工具鏈互相協(xié)作

  寒武紀(jì)編譯團(tuán)隊(duì)還自研了編譯工具鏈,以提高BANG語言的運(yùn)行性能。編譯工具鏈包括CNCC(Cambricon Neuware Compiler Collection )、CNAS(Cambricon Neuware Assembler)、CNLINKER(Cambricon Neuware Linker)。

  編譯工具鏈中的CNCC負(fù)責(zé)處理編譯前端工作,將BANG 語言編譯成中間語言MLISA。CNAS主要負(fù)責(zé)將中間語言MLISA編譯為包含MLU (Machine Learning Unit) 機(jī)器指令的目標(biāo)文件,最后由CNLINKER將目標(biāo)文件鏈接成可執(zhí)行程序。

  BANG語言和編譯工具鏈互相協(xié)作,可充分發(fā)揮寒武紀(jì)芯片的強(qiáng)大算力,具體協(xié)作流程如下圖所示:

▲寒武紀(jì)BANG語言和編譯工具鏈互相協(xié)作

 

提升應(yīng)用 便利調(diào)試

  為了提升應(yīng)用程序性能,寒武紀(jì)編譯器進(jìn)行了包括自動(dòng)軟件流水、全新的寄存器分配算法、全局指令調(diào)度、精確的程序依賴分析、Profiling Guided Optimization、地址指針推理及優(yōu)化、以及數(shù)據(jù)類型(如半精度浮點(diǎn)數(shù))計(jì)算優(yōu)化等在內(nèi)的大量優(yōu)化工作。

  此外,為了便利開展寒武紀(jì)芯片的調(diào)試工作,提升開發(fā)效率,寒武紀(jì)編譯器團(tuán)隊(duì)推出了CNGDB(Cambricon Neuware GDB)。CNGDB現(xiàn)已開源。

  CNGDB是Linux系統(tǒng)上調(diào)試BANG語言程序的工具,基于GNU的調(diào)試器GDB開發(fā),能支持GNU GDB在CPU上原有的全部操作,使用它可以在真實(shí)的硬件上同時(shí)調(diào)試寒武紀(jì)硬件產(chǎn)品的設(shè)備側(cè)和主機(jī)側(cè)的代碼。

  同時(shí),CNGDB可以支持控制程序執(zhí)行和訪問變量等多種操作、多核調(diào)試模式、CPU/Device調(diào)試的透明切換以及生成CNML內(nèi)核的錯(cuò)誤信息,解決了開發(fā)者難以調(diào)試的問題,極大地提升了程序開發(fā)效率。

(轉(zhuǎn)載)

標(biāo)簽:寒武紀(jì) BANG語言 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道
2024 工博會(huì) | 直播探館 · 全景解讀
2024 工博會(huì) | 直播探館 · 全景解讀

第二十四屆中國工博會(huì)于9月24日至28日在國家會(huì)展中心(上海)舉行,展會(huì)以“工業(yè)聚能 新質(zhì)領(lǐng)航”為全新主題。 [更多]

2024世界人工智能大會(huì)
2024世界人工智能大會(huì)

WAIC 2024將于7月在上海舉行,論壇時(shí)間7月4日-6日,展覽時(shí)間7月4日-7日。WAIC 2024將圍繞“以共商促... [更多]

2024漢諾威工業(yè)博覽會(huì)專題
2024漢諾威工業(yè)博覽會(huì)專題

2024 漢諾威工業(yè)博覽會(huì)將于4月22 - 26日在德國漢諾威展覽中心舉行。作為全球首屈一指的工業(yè)貿(mào)易展覽會(huì),本屆展覽會(huì)... [更多]