2
本文作者: 包永剛 | 2019-07-22 10:18 | 專題:CCF-GAIR 2019 |
編者按:7月12日-7月14日,2019第四屆全球人工智能與機(jī)器人峰會(CCF-GAIR 2019)于深圳正式召開。峰會由中國計算機(jī)學(xué)會(CCF)主辦,雷鋒網(wǎng)、香港中文大學(xué)(深圳)承辦,深圳市人工智能與機(jī)器人研究院協(xié)辦,得到了深圳市政府的大力指導(dǎo),是國內(nèi)人工智能和機(jī)器人學(xué)術(shù)界、工業(yè)界及投資界三大領(lǐng)域的頂級交流博覽盛會,旨在打造國內(nèi)人工智能領(lǐng)域極具實力的跨界交流合作平臺。
2019年7月13日,來自學(xué)術(shù)界、工業(yè)界、投資界的重磅嘉賓齊聚CCF-GAIR 2019 AI芯片專場共同探討芯片的前沿技術(shù)以及AI芯片的落地。值得關(guān)注的是,演講嘉賓們在分享中頻頻提及軟硬融合。
中科院計算所研究員、先進(jìn)計算機(jī)系統(tǒng)研究中心主任,中國開放指令生態(tài)聯(lián)盟秘書長包云崗在《面向未來領(lǐng)域?qū)S眉軜?gòu)的敏捷開發(fā)方法與開源芯片生態(tài)》的主題演講中指出,今天軟件、硬件之間有巨大的性能差異,同樣一個算法或者一個程序,一個普通的程序員來寫和一個懂體系架構(gòu)的人來寫,性能可能差63000倍。
中科院計算所研究員、先進(jìn)計算機(jī)系統(tǒng)研究中心主任,中國開放指令生態(tài)聯(lián)盟秘書長包云崗
他給出了兩種彌補(bǔ)軟硬件之間性能差異的方法,其中采用領(lǐng)域?qū)S皿w系結(jié)構(gòu)(DSA)的方法面臨碎片化問題,需要找到經(jīng)濟(jì)快速的方法來應(yīng)對。開源芯片將會起到非常重要的作用。
但開源芯片存在一個“死結(jié)”,不過包云崗認(rèn)為這是一個打破開源芯片死結(jié)的時代,也是一個打造開源芯片生態(tài)的時代。
以下為包云崗研究員的主題演講內(nèi)容,雷鋒網(wǎng)作了不改變原意的編輯與整理:
非常感謝邀請我來參加這次CCF-GAIR。我主要想跟大家介紹一下近年來芯片敏捷開發(fā)以及開源芯片的現(xiàn)狀。
過去幾年摩爾定律從每18個月翻一番,到現(xiàn)在已經(jīng)快變?yōu)槭晟踔炼晷阅懿拍芊环?。這似乎意味著摩爾定律就快停滯了。但從另外一個角度看,我們看到了領(lǐng)域?qū)S皿w系結(jié)構(gòu)的興起。
這是為什么?今天的軟件、硬件之間有巨大的性能差異,同樣一個算法或者程序,比如矩陣乘法,一個普通的程序員來寫和一個懂體系架構(gòu)的人來寫,可以差63000倍。如果按照摩爾定律折算,相當(dāng)于把摩爾定律再延長二十多年。這實際上意味著摩爾定律賦予的能力還沒有充分挖掘出來。
如何彌補(bǔ)性能和軟硬件之間的差異?有兩種思路:一種是可以雇更好的程序員寫出更好的軟件,但是這樣的人終究很少;另一種是在硬件上加速,一些工作讓硬件來做,所以提出了硬件加速器,也就是領(lǐng)域?qū)S玫捏w系結(jié)構(gòu)。
但這種又會帶來一個新的問題,領(lǐng)域?qū)S皿w系結(jié)構(gòu)的興起會帶來碎片化問題。因此需要找到經(jīng)濟(jì)、快速的方式來應(yīng)對。
如果可以做到把芯片開發(fā)像軟件開發(fā)一樣,未來可以把芯片開發(fā)迭代的周期從按年變成按月,軟硬件就可以協(xié)同起來實現(xiàn)敏捷開發(fā),那就可以實現(xiàn)快速開發(fā)芯片的需求了。我相信,未來有可能做到的。
降低芯片設(shè)計門檻的重要意義
如果要做到這一點,芯片設(shè)計的門檻要降到足夠低,就像剛才地平線黃總講的,我們需要讓更多人可以來做芯片。降低芯片設(shè)計門檻意義重大,不光是對產(chǎn)業(yè)界和對學(xué)術(shù)界,對我們的人才培養(yǎng)也一樣。
如今的中美貿(mào)易戰(zhàn),歸根到底還是人才的比拼,因為我們芯片設(shè)計方面的人才和美國差距非常大。這個人才危機(jī)不只中國經(jīng)歷過,1980年代初美國也經(jīng)歷過,當(dāng)時整個美國2000多所大學(xué)里面只有不到100個教授和學(xué)生在研究半導(dǎo)體。美國政府在1981年啟動了MOSIS的項目,提出了芯片領(lǐng)域都知道的MPW(Multiple Project Wafer)模式,把整個芯片設(shè)計成本降下來,使得大學(xué)里面的研究小組也可以做芯片,可以流片。
最終體現(xiàn)出的價值,一方面培養(yǎng)了大量學(xué)生,第二是催生半導(dǎo)體產(chǎn)業(yè)新的商業(yè)模式,也就是今天的無晶圓企業(yè)和代工企業(yè)。MOSIS也成功催生出英偉達(dá)、高通等公司。
很多人可能經(jīng)歷過開源軟件,它帶來兩大價值,一方面把互聯(lián)網(wǎng)創(chuàng)新的門檻降低,可以很容易構(gòu)建一個APP,90%可以使用開源代碼,用戶只需要寫10%,甚至更少的代碼就可以完成自己的功能,實現(xiàn)想要做的業(yè)務(wù)。開源軟件還有一個價值,就是互聯(lián)網(wǎng)企業(yè)的自主能力也在增強(qiáng),互聯(lián)網(wǎng)公司有能力去IOE,在軟件層次上不像芯片那樣被卡脖子那么厲害。
降低互聯(lián)網(wǎng)公司創(chuàng)新門檻、增強(qiáng)互聯(lián)網(wǎng)企業(yè)的自主能力,這是開源軟件的兩大價值。
回頭看芯片設(shè)計,今天芯片設(shè)計的門檻真的非常高,14納米工藝并不是最先進(jìn)的工藝,一款芯片整個投入下來成本也要到上億的規(guī)模,只有很少的企業(yè)可以做。如果投資人聽到投一個(中端)芯片公司只需小幾千萬,基本上會認(rèn)為這個企業(yè)在忽悠。但互聯(lián)網(wǎng)公司投幾百萬,就認(rèn)為可以把公司做起來。所以,門檻高了對整個產(chǎn)業(yè)并不利,同時制約了創(chuàng)新。
開源芯片的“死結(jié)”
芯片是不是可以像開源軟件一樣,幫助我們應(yīng)對這個問題,把硬件設(shè)計的門檻降下來。然而,現(xiàn)實是現(xiàn)在存在一個死結(jié),做一個芯片和IP需要花那么多精力,做完以后很多企業(yè)不愿意開源,導(dǎo)致市場上沒有開源可以用,大家只能去買,而且IP都還很貴,買來以后則會花很多力氣和時間去驗證它以降低風(fēng)險,這又增加了人力的投入,所以開源芯片存在一個“死結(jié)”。
怎么打破它?最近幾年很多力量都在試圖把開發(fā)投入這一環(huán)給解開,從而打破開源芯片的死結(jié)。我們來看一下整個業(yè)界和學(xué)術(shù)界都做了哪些工作。
首先,這里面存在很多機(jī)遇,一個是IoT新的應(yīng)用場景出現(xiàn)。我們知道有一個貝爾定律(Bell’s Law),每十到十五年就會有一種新形態(tài)的計算機(jī)出現(xiàn),從以前的大型機(jī)到工作站、到臺式PC機(jī)、到筆記本、手機(jī),十到十五年就會產(chǎn)生一個新的顛覆。
到今天,IoT就是這樣一種新的應(yīng)用需求,它對芯片的設(shè)計會提出很多新的需求,它要求可定制化、尺寸小、開發(fā)周期短,很重要的一點是對工藝的要求不再那么高。
我們說摩爾定律即將終結(jié),從另外一個角度看,也會帶給我們一些機(jī)會。為什么?這意味著成熟工藝可以用的時間更長,而且成熟工藝的成本也在不斷下降。十年前我要用40納米需要千萬的量級,今天要用40納米,可能幾十萬就可以做到。
這種成熟工藝成本的下降,可以給整個業(yè)界帶來創(chuàng)新。這是集成電路里面頂級的會議ISSCC,從1988年到1998年、從2008年到2018年,學(xué)術(shù)界做的芯片和發(fā)表的論文越來越多,這是因為65納米的工藝成本不斷下降。比如2018年很多小組都有經(jīng)費(fèi)可以支持65納米芯片的流片,所以在2018年的時候,來自學(xué)術(shù)界的論文(包括和工業(yè)界合作)比例已經(jīng)到了50%以上,這帶來了創(chuàng)新的機(jī)會。
綜合來說,今天確實進(jìn)入了一個黃金時代,當(dāng)我們把指令級開源工具、新語言、新應(yīng)用綜合起來看,確實是黃金時代到來了。值得一提的是,全世界范圍內(nèi)尤其是學(xué)術(shù)界早已經(jīng)感受到或者洞察到這樣一個時代的變化。2016年,體系結(jié)構(gòu)領(lǐng)域的頂級會議ISCA上有個遠(yuǎn)景研討會,討論2030年會發(fā)生什么樣的體系結(jié)構(gòu)的變化,認(rèn)為“開源”是未來大主題(Big Theme)。
在今年的ISCA上又舉辦了一個遠(yuǎn)景研討會,直接把“開源”和“敏捷開發(fā)”作為主題來討論,一共有11個報告,美國有10個,中國有1個,我很榮幸有機(jī)會作為一個中國代表來介紹開源芯片。
我們可以看到,第一個報告是2017年的圖靈獎得主,后面還有多位工程院院士。美國企業(yè)界、政府機(jī)構(gòu)對開源和敏捷開發(fā)已形成共識,認(rèn)為這是未來的發(fā)展方向。我做了很多會議記錄,近期會整理出來。
開源芯片生態(tài)四要素
我們提到開源芯片,第一反應(yīng)是RISC-V,這其實是片面的。我們還需要有開源EDA工具鏈、敏捷開發(fā)的設(shè)計流程、高層次的綜合、加速器敏捷設(shè)計方法,以及高效驗證硬件代碼自動生成、端到端的形式化驗證等等,可以看到開源芯片有一系列的問題包含在里面。
我在遠(yuǎn)景研討會上的報告里面把開源生態(tài)做了一個總結(jié),分為四個要素,首先要有開源的指令集,包括開源的IP和SoC的模板,除此之外還有開源EDA工具鏈。光有這些還不夠,需要有性價比高、快速低廉的驗證和仿真方法。當(dāng)然,芯片做出來以后怎么把它用好?還需要有操作系統(tǒng)和編譯器的支持。真正滿足這些以后,我們才有可能讓芯片里面90%的代碼能夠重用,從而可以讓客戶很方便地完成10%的定制,可以做出適合你的加速器或者AIoT的芯片出來。
我們分別來看一下每部分的進(jìn)展。對于開源的IP,我們知道RISC-V可以降低IP的成本。開源芯片的概念需要大家理解,我們很多時候說到RISC-V就跟開源芯片混在一起。其實RISC-V只是一個指令集,基于這個指令集可以做具體設(shè)計,這兩者不一樣,就像是C語言的語法和真正的代碼,這是兩個完全不同的層次。
這是我從報告當(dāng)中摘出的一頁,從這一頁當(dāng)中可以看到,規(guī)范或者標(biāo)準(zhǔn)是一個維度,具體的設(shè)計、源碼又是另外一個維度。實際上,我們的規(guī)范有閉源的,比如英特爾的指令級歸英特爾所有,有可授權(quán)的ARM指令集,也有開源的規(guī)范,像RISC-V,賦予了開源的設(shè)計。所以這是兩個不同的維度,RISC-V給我們打開了新的空間。
2015年RISC-V的基金會成立,現(xiàn)在有200家成員,目前中國僅有25家。中國有很多人關(guān)注,但實際上在國際上我們的力量還不夠,我們怎么影響整個社區(qū),把中國的需求在國際上有所體現(xiàn),還需要有更多人來加入。我們?nèi)ツ曜鲞^統(tǒng)計,國內(nèi)公開的跟RISC-V相關(guān)的企業(yè)已經(jīng)有100多家。可以看到這方面確實發(fā)展的很快。
芯片敏捷開發(fā)
RISC-V僅僅只是一個方面,我們還需要開源硬件開發(fā)的語言以及開源EDA工具鏈,這對開源芯片也非常關(guān)鍵。現(xiàn)在有很多更高級的語言可以提高芯片開發(fā)的效率,比如Chisel、PyMTL。同時已經(jīng)有一些開源工具鏈可以讓大家用,從設(shè)計到網(wǎng)表,從網(wǎng)表到GDS的版圖,都可以找到開源工具。
我們團(tuán)隊對一些開源的工具鏈和語言做了對比實驗,比如敏捷開發(fā)這方面,Chisel是面向更高抽象的硬件開發(fā)語言,對整個芯片開發(fā)有更好的抽象。如果我們用Chisel來設(shè)計芯片,就有點像JAVA語言來寫,有更好的效率。
我們找了工程師和本科生來完成同樣的任務(wù),工程師用6周時間,寫了5000多行代碼,真正有效的大概是1700多行,6周以后,他的Linux還是不能啟動起來。本科生用3天時間寫了350行代碼可以啟動多核Linux,支持DMA模式的以太網(wǎng)。新的語言可以提升14倍的開發(fā)效率,并且代碼更少。
當(dāng)然這個工程師不服氣,他說他的代碼寫得更好、質(zhì)量更高,所以我們找了另外一個更低年級的本科生,他在上大三,沒有學(xué)過Chisel。他一邊讀Verilog的代碼一邊學(xué)Chisel,把Verilog代碼翻譯成Chisel,然后放在FPGA上驗證??梢钥吹匠酥虚g除了邏輯的資源多一點,其他的都明顯是Chisel的版本比Verilog更好。
當(dāng)把Chisel的高級屬性用起來,幾乎都比Verilog的性能好,這時候工程師認(rèn)可了它的能力。其實這個工程師并不弱,拿到了耶魯大學(xué)的Offer。
另一個實驗,我們讓一個沒有硬件開發(fā)經(jīng)驗的員工用開源EDA工具鏈嘗試從Verilog生成GDS版圖,確實可以做到,雖然工藝比較低,用了中興國際180納米,但整個流程所用的工具全是開源的?,F(xiàn)在只是起步,相信未來通過不斷使用和迭代優(yōu)化,開源的工具鏈也有可能成為一個選擇。仿真和模擬方面我們也需要有更多力量投入進(jìn)來,讓整個仿真變得更低廉、更容易做,因為現(xiàn)在仿真設(shè)備真的很貴,動不動就要幾百萬甚至上千萬。
也有一些新的模式可以用,比如像云計算那樣,不用買設(shè)備,直接租就可以。實際上也有企業(yè)在朝這個方向發(fā)展。我們在中科院也做了這樣的嘗試,從2014年開始招本科生,我們的課程實驗會讓他們設(shè)計芯片。原來給每個人發(fā)FPGA板做芯片的指令和模塊,但是滿意度很差,不到27%。
后來集中到云平臺進(jìn)行仿真和模擬,學(xué)生只要一個賬號登錄進(jìn)去,就可以在上面開發(fā),做芯片指令的擴(kuò)展,滿意度達(dá)到88%。很有意思,35%的學(xué)生由原來不喜歡做芯片的方向變成開始喜歡了。所以,好的開發(fā)平臺對吸引人才也是有很大幫助的。
關(guān)于軟件工具鏈,我認(rèn)為有三個層次,分別是:第一層是面向芯片,針對新擴(kuò)展的指令或者新加的傳感器來進(jìn)行擴(kuò)展,這需要Linux、LLVM這些軟件起作用。第二層是功能軟件層,就像Apache、MySQL等。第三層是面向用戶和程序員,需要提供更好統(tǒng)一的API,這就像安卓起到的作用,當(dāng)然這還有很多空間需要挖掘。
開源芯片生態(tài)建設(shè)
為了達(dá)到這些目標(biāo),我們?nèi)ツ瓿闪⒘酥袊_放指令生態(tài)聯(lián)盟,希望以RISC-V為抓手推動開源芯片生態(tài)。我們也有一些規(guī)劃,包括剛開始我們可以通過開源SoC,接著可以用開源的工具鏈設(shè)計開源的芯片,最后讓每個本科生都可以帶著自己設(shè)計的芯片畢業(yè)。也許十年左右的時間可以起到一定的效果。
總得來看,今天的開源芯片還是處于二十多年前開源軟件的階段,中間還有很長一段路要走。我們計算所與深圳鵬城實驗室成立了開源芯片院士工作室,有計算機(jī)體系結(jié)構(gòu)國家重點實驗室在支持,會一起推動開源芯片生態(tài)的建設(shè)。
我們推出了兩個報告,分別是《開放指令集與開源芯片發(fā)展報告》《開源項目風(fēng)險分析與對策建議》,報告中有近期大家都很關(guān)心的中美貿(mào)易大戰(zhàn)下面開源項目有沒有風(fēng)險、開源的平臺License等等。
最后的結(jié)論是,現(xiàn)在到了一個新的時代,到了一個可以打破開源芯片死結(jié)的時代,同時這也是一個打造開源芯片的新時代,但是需要更多人來一起努力。
我的報告就到這里。謝謝大家!雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章