張先軼博士:為什麼RISC-V需要共建軟體生態?

2020-12-16 電子發燒友

張先軼博士:為什麼RISC-V需要共建軟體生態?

深圳王哥說 發表於 2020-12-16 11:09:12

近期,關於晶片的話題特別的火熱,雖然我不是從事晶片設計,但是一直做高性能計算軟體庫的工作,也領導和維護了開源矩陣計算庫OpenBLAS,經常會和各種晶片和IP公司打交道。我的淺見是,晶片做出來可能只是第一步,培養起相應的軟體生態,或者說融入主流的軟體生態,才是決定這個晶片ISA/架構能走多遠。所以,希望先和大家一起探討CPU軟體生態,以及RISC-V為什麼需要共建軟體生態的問題。晚些時候再聊GPU、AI加速卡等的軟體生態問題。

為什麼CPU晶片需要建設軟體生態?

CPU公司的軟體生態我認為分為兩個層次,一個是面向開發者,一個是面向應用者。

開發環境與Runtime

軟體開發者是晶片公司非常重要的資產,CPU做出來是不夠的,要讓更多的軟體開發者用這顆晶片才是成功。國際大廠們都有一隻較大的軟體團隊,在做面向開發者的軟體工具和SDK等。

對於一顆CPU來說,以下是必備選項:

編譯工具鏈,以及相應的調試工具和模擬器等。一般來說,移植GCC或者LLVM等,支持C/C++語言,增加針對本CPU的後端代碼生成等。如果是有特殊擴展指令,向量化指令等,最好提供Intrinsic函數接口,方便C語言調用。

OS作業系統,主要以Linux為主。如果是面向臺式機,伺服器等,需要支持一個完整的Linux發行版。Linux Kernel部分由晶片公司負責,Linux發行版的其他部分可以和作業系統公司合作。如果是嵌入式系統,需要選擇支持那種系統,是嵌入式Linux,還是Android,或者其他的實時系統等。嵌入式的場景比較多,支持哪種系統和最後的晶片定位有關係。

核心軟體庫。比如,這顆晶片將來做HPC等計算類任務,就需要有BLAS,FFT等軟體庫。如果做計算機視覺類應用,需要有OpenCV庫。如果是跑人工智慧,需要有DNN庫等。(p.s. 有需求可以找我們,高性能核心軟體庫,我們是國內最好的團隊)

以上只是一些基礎必要性的工作,下面這些是成為一家主流的CPU公司需要持續做的:

更多的主流程式語言的支持,比如說支持Java,優化jvm的執行效率等。

更多的開發工具,比如性能分析工具,IDE等。這部分有一些公司在做相應的產品,比如專門的程序分析工具等。

持續的優化和改進。不管是編譯工具鏈,OS,還是庫,或者各種Benchmark等,都需要持續的迭代優化,進一步發揮硬體的性能。同時,給下一代的晶片設計進行反饋。這是一項長期堅持的工作,通過長期的投入,保證拉開與競爭對手的差距。

如果您的發展目標是國際大廠,那麼需要做的:

積極參與開源社區,貢獻開源項目。不管是資助開源社區,還是培養社區裡面的核心開發者,對於晶片公司來說,都是非常重要的事情。而且,不只是開源項目簡單的移植,還要針對這個CPU架構做優化。這個工作量就非常大了,需要聯合很多的小夥伴一起做。

建立開發者社區,提供課程,案例,大學計劃,比賽等。積累應用案例,教程,辦各種的線上/線下討論會,去大學推廣/聯合實驗室,搞編程比賽等等。國際大廠在這方便做的確實不錯,各種資料和文檔獲取的很方便,一站式解決。

推一套程式語言/框架。隨著晶片架構複雜程度的提高,異構要怎麼解決?是否有生產率更高的編程模型等等。比如,Intel最近在推的oneAPI。

應用框架與軟體

面向應用層的框架與軟體非常的多,可能每個應用領域都會是一套相對獨立的系統,例如,人工智慧,大數據系統,HPC,辦公Office系統,各種Web服務,嵌入式系統等。

根據CPU的設計規劃,明確主要的應用領域。根據應用領域去梳理重要的框架與軟體。比如,人工智慧場景,推理和訓練的框架。HPC場景,MPI,PETSc等解法器。電子辦公場景,Office系統和資料庫等。

聯合開源社區,作業系統公司或者ISV軟體公司,做這些應用框架和軟體的移植與優化。又是一個大工作量的事情,而且要根據場景一個個做下去。

針對一些重點行業場景,提供軟硬體的參考設計方案,支持和培養一批方案廠商,以服務行業。根據行業的反饋,進行應用框架或者開發環境的迭代。

如果是RISC-V生態?

當前,x86的生態最成熟的,ARM的生態在嵌入式和手機市場很成熟,但是在伺服器市場稍弱。RISC-V作為一種開放指令集架構,雖然當前生態還不夠成熟,但是我個人是看好RISC-V生態發展,在全球市場上有潛力在未來幾年成為有力競爭者之一。

從RISC-V IP和晶片來說,國內外已經有多家RISC-V的IP和晶片公司,涵蓋了從MCU,嵌入式到伺服器等多種產品形態,也有針對AI市場的RISC-V+NPU或者眾核的晶片出現。在ISA指令集上,RISC-V可以通過基金會,制定標準,制定基礎的指令集,制定擴展的指令集,也給各晶片公司留下了定製化指令的空間。

RISC-V軟體生態當前的現狀是,以開源社區為基礎推進,主要是開發環境層次的生態。比如,各家晶片公司對於Linux Kernel,GCC,LLVM社區的貢獻等。部分學校或者研究機構,對於一些開源項目進行了RISC-V移植。比如,有UC Berkeley的人員對OpenBLAS項目在RISC-V架構做了簡單移植,但是還沒有進行任何的優化(優化是和晶片微架構密切相關的)。Fedora等Linux發行版已經可以支持RISC-V 64位的體系結構。

目前RISC-V已經具備基礎的開發工具和環境,作為一名Geek,是可以玩得起來的。有了編譯工具鏈,有模擬器,是可以做開發和移植的。此外,市面上也有一些低成本的板卡(RISC-V晶片 或者 FPGA跑RISC-V軟核),可以做一些上板的開發和測試。產品層面的應用,隨著今年RISC-V晶片的增多,會越來越多。

在RISC-V晶片開始逐漸增多後,軟體生態可做的事情會越來越多:

繼續推動開源項目和社區對RISC-V的支持。因為,各家RISC-V公司相比國際大廠還是弱小的,完全靠自己走一套獨立的生態不夠現實,也失去了RISC-V開放指令集的意義。所以,核心的開發環境還是依靠開源項目和社區協作。各晶片廠商,研究機構,作業系統廠商,軟體生態廠商互相配合,有人出人,有錢出錢,持續的移植和優化開源項目。也許,有的廠商會說我等著就可以了,反正有別人做,到時候用開源社區的現成成果就可以。但很可能的結果是,只是能用,但效率較低,一樣造成晶片競爭力低。

開發者社區、大學計劃、比賽等。國內的幾家RISC-V IP公司都在推大學計劃,相信陸續會出現一批RISC-V相關的選修課。比賽上,之前國際上辦過RISC-V軟核設計比賽。也許將來RISC-V的晶片多了之後,可以做一個編程比賽,或者黑客馬拉松等。

應用場景,應用框架和軟體等。目前,RISC-V接受程度比較高的是嵌入式、IoT等。這種場景的生態需求比臺式機、伺服器要簡單一些。核心是做出有差異化的軟硬體方案,要不然是替代已有市場的產品,性能更高,價格更低;要不然就是先一步滿足新興的場景/產品需求(比如AIIoT等)。RISC-V市場應用的成功,只靠開源軟體社區是不現實的,必須晶片廠商和方案商共同的推動才能儘快的落地。

以上只是我的不成熟小看法,軟體生態是個可大可小的事情,如果只是瞄準個細分專用領域,那麼生態投入就會少很多,但這樣是否能養活一家CPU公司,能否活得夠好?如果將來是參與全球競爭,面向多種領域,那麼生態投入就會比較大。這不是一家晶片公司自己能做完的事情,保持開放心態,與各種軟硬體廠商,社區積極協作,持續推動發展,才能見到成效。

與各位一起努力!

RVBoards開源技術組織的成立與願景

張先軼博士發起了RVBoards開源技術組織,目標就是建設RISC-V的開源硬體賦能開發者、應用者、院校等,促進技術應用和培養軟體開發人才;與RISC-V IP和SoC夥伴共同建設開源軟體生態,避免碎片化和行業重複投入,實現百花齊放的商業願景。

深圳王哥說

目前國內的晶片公司對於開發者生態的投入普遍偏低,其原因大致在於:

一些公司曾經嘗試自建開發者生態,在投入一兩年後,發現ROI並不划算,然後選擇了放棄。是的,每家公司自建開發者生態,確實是一種並不經濟的做法。如果我們這個行業的目標是星辰大海,共同投入和共建軟體生態將促進大家共同進步。

自家的晶片要加入到開源生態中,一定程度需要開放更多的晶片底層和驅動等細節,這有商業機密的考量。然而,這通常是一種無謂的擔憂。借用對人而言的話「我們更需要的是超越自我」,勇敢地投入到開源生態,你將更加優秀。

晶片公司自身有比較強的軟體團隊,對於大客戶和短期戰略有直接的效果,畢竟每年的年報寫的是銷售業績而不是開發者數量。然而,這種策略對於新興和增量市場,往往會過於遲鈍。

行業共建生態通常會產生的投入不一定對等和被其他人搭順風車的擔心。舉個例子,大家上學交同樣的學費,學到的東西和考的名次是有差異的,然而,這些都來自於我們自己的驅動力。

另外一個角度是,我們既然看好RISC-V的未來,就應該相信了開放/開源正在影響到整個產業鏈,對於優秀的企業而言,是時候決定是不是應該早點出發了。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 「RISC-V 篇4」十步搞定GD32VF103單片機之RISC-V單片機硬體介紹
    上篇給小夥伴們全面介紹了,我們要開發的RISC-V單片機具體是哪家公司生產,何時設計生產的,具體有哪些產品型號,種類,封裝大小等單片機產品應用需要考慮的內容。了解這些信息,相信對於大家使用這個RISC-V單片機開發產品應用,有很大幫助!
  • 1瓦功耗5GHz頻率:全球最快Risc-V晶片出世,效率超越蘋果M1
    「谷歌已經擁有了移動開源軟體 Android,想像一下,如果他們再拿到最節能、性能最強大的開源 RISC 核心,移動消費者將從中獲得多少收益」,Huang 這樣說道。「再想像一下最新的蘋果手錶不需要每晚充電,」這是 Huang 提出的另一種可能性。
  • 1瓦功耗,5GHz頻率:全球最快Risc-V晶片出世,效率超越蘋果M1
    「我問我兒子為什麼他更喜歡三星(智慧型手機)而不是蘋果,他說是因為如果他想改變什麼,他可以讓他的一個編程朋友幫他做,因為 Android 是開放的,不像 iOS」。Huang 這樣比喻。 「這就是我們為什麼要把所有的成功都歸功於 Dr.
  • RISC-V建設:你想獲得的是免費or自由?
    王哥 發表於 2020-12-23 10:28:47 RVBoards Team的重要工作是推動RISC-V的開源軟體生態基礎建設,這包括RISC-V基礎軟體能力建設,RISC-V應用開發者生態建設
  • 深入淺出RISC-V 「V」向量擴展
    但是,如果這樣好得多,為什麼它沒有更早發生,為什麼矢量處理在過去就不受歡迎了?在回答任何一個問題之前,我們需要實際了解什麼是向量處理。向量與SIMD處理理解差異的最好方法是查看一些C / C ++代碼。
  • 科藍軟體攜手北京金融安全產業園,共建生態金融服務圈
    會議現場,科藍軟體副總裁魏祥與北京金融安全產業園總經理馬小蘭籤署了「共建生態金融服務圈」的合作協議。隨著合作協議的籤署,科藍軟體將協助北京金融安全產業園打造集「園區+金融」、「園區+徵信」、「園區+資產」及「園區+服務」於一體的第四代智慧型產業園。
  • 鵬博士與阿里雲達成MSP合作協議 共建數字城市
    2019年12月18日,「鵬程萬裡智創未來——鵬博士&阿里雲共建數字城市生態體系MSP合作發布會」在北京舉行,雙方達成面向雲MSP業務領域全面合作夥伴關係,攜手共建數字城市雲上生態,為客戶提供基於阿里雲計算平臺的諮詢、設計、交付、運維、應用開發等相關服務。合作啟動儀式後,鵬博士產業網際網路事業部授牌揭幕儀式同期進行。
  • RISC-V 版樹莓派 PicoRio 路線公布:年底發布 Beta 版
    第二階段(PicoRio 2.0)除了改進 PicoRio v1.0 的基礎硬體外,RIOS Lab 還將與 GPU 廠商 Imagination Technologies 合作,將完整的多媒體處理硬體與開放式 64 位 RISC-V 內核集成在一起,以提供一種基於 Linux 的類 PC 環境。
  • 潤和軟體:成為華為HarmonyOS 2.0生態首批共建者
    潤和軟體表示,公司為HarmonyOS 2.0的生態首批共建者,潤和軟體董事長兼總裁周紅衛應邀出席該會議。潤和軟體近年來積極推進「一體兩翼」戰略轉型、持續加碼智能硬體產品與解決方案的落地。公司與頭部半導體公司均已建立深度合作,提供從晶片設計驗證、模組、板卡、應用場景等全方位軟硬一體化服務,打通底層硬體的差異化,助力HarmonyOS實現多終端的適配,共建HarmonyOS全場景智慧生態,共創萬物互聯的無限可能。
  • 「生態融合·創新共建未來」——國際物流破局之路
    2020年12月18日,由白下高新區管委會、拓撲絲路主辦,WIFFA國際貨代信用合作平臺、招商銀行協辦的「生態融合·創新共建未來」南京國際進出口服務產業鏈發展論壇 本次論壇以「生態融合·創新共建未來」為主題,南京白下高新技術產業開發區管委會主任王洛鋒進行了開幕致辭:「希望大家能夠藉助本次「生態融合·創新共建未來」南京國際進出口服務產業鏈發展論壇的契機
  • 新奧數能攜手生態夥伴共建園區綜合能源服務生態
    11月26日下午,在廣東省工業和信息化廳的指導下,新奧數能和中國移動通信集團廣東分公司共同承辦了「泛能生態共建,工業網際網路賦能園區綜合能源服務」為主題的工業網際網路園區綜合能源服務生態對接分論壇。  正是基於探尋這樣的可複製的道路,會議聚焦於園區綜合能源服務方案和生態資源精準對接,對園區綜合能源服各務細分領域服務方案進行充分的交流,並設置圓桌對話環節就園區綜合能源服務進行方案優化和合作探討,為泛能生態共建打開新的思路、架起新的橋梁。  新奧數能:園區的綜合能源管理和服務,實際上是基於深度的數據獲取及分析,實現園區能源精準的治理和安全、高效、綠色用能。
  • 華為MagicPower智慧魔盒電源共建智慧生態
    為什麼如此優秀?離不開智慧魔盒電源的三大「魔性」。MagicPower智慧魔盒電源全場景展示華為站點能源「盒」客戶一起,共建智慧生態一個小小的盒子,卻有強大的數位化管理的能力和靈活被集成的優勢,這才是5G時代智能電源該有的樣子。
  • 系統級晶片(SoC)的複雜設計選擇:RISC-V及SoC設計平臺
    彭劍英博士畢業於浙江大學,現任芯來科技執行總裁,主要負責RISC-V處理器及其他相關產品的研發及市場管理。以CPU為例,是否需要DSP、FPU等處理單元;存儲結構(ICache/DCache,片上指令緊耦合SRAM,片上數據緊耦合SRAM)及容量大小,以及所需要的系統總線結構等。●軟體生態和用戶習慣:軟體生態和用戶習慣是一個看不見摸不著的東西,但對SoC設計來說至關重要。軟體開發環境(IDE,SDK等),基礎工具鏈(編譯器,調試器等),作業系統支持程度...
  • 全球共建生態文明-地球生命共同體與人類的未來:公眾科學素質與...
    全球共建生態文明-地球生命共同體與人類的未來:公眾科學素質與生態文明建設專題論壇分論壇第六場!」專題論壇線上分論壇第六場「全球共建生態文明-地球生命共同體與人類的未來(Building Global Ecological Civilization-A Community for All Life on Earth and the Future for Mankind)」將於12月4日(周五)正式開啟。
  • 揭秘|平安科技神兵wizard平臺如何賦能共建DevOps生態
    揭秘|平安科技神兵wizard平臺如何賦能共建DevOps生態  日前,平安科技舉辦SMART Camp 2020年度最    後一場技術分享會,展示了「平安式」的DevOps實踐思路與精髓。
  • Jenkins 中文社區攜手 KubeSphere,共建 DevOps 技術生態
    官宣來了今天,Jenkins 中文社區與 KubeSphere 開源社區 聯合官宣,兩大開源社區開始正式合作,攜手共建 DevOps 技術生態!4 月 14 日,Jenkins 中文社區負責人 Rick 與 KubeSphere 社區多名成員,在技術、內容、開源社區建設三個方向深地探討,最終對兩個社區的合作達成了一致意見。
  • 首個能買得起、具備高可用性的RISC-V單板計算機發布
    近期在賽昉科技的新品發布會上,賽昉科技執行長徐滔在接受採訪時說:「現在到了一個應用場景決定軟體,軟體定義晶片的時代。」「要為應用場景設計晶片。」「在閉源生態下,像Intel、Arm自己生產CPU或授權IP給別人生產CPU,推動設備廠商將新的算力帶給消費者。這件事在雲、個人PC的時代是成立的,因為我們需要的設備相對單一。」
  • RISC-V火力全開!全開源PicoRio對標銷量超3000萬件的樹莓派
    RISC-V生態迫切需要一個開源的硬體平臺晶片的成功離不開強大的硬體,更離不開繁榮的軟體生態,x86和Arm指令集,以及英特爾、英偉達、Arm公司的成功就是最好的例子。作為2010年才推出的新興的開源指令集架構RISC-V,RISC-V MCU在對軟體生態依賴程度不高的應用中已經替換了不少Arm架構MCU。但對軟體生態依賴程度更高,比如需要運行Linux作業系統,對處理器性能要求更高的應用,RISC-V現在還不具備足夠的競爭力。