9月7日,首場方舟編譯器開源技術沙龍在華為北京研究所舉辦。行業(yè)專家、高校學者、應用開發(fā)者和方舟編譯器專家齊聚一堂,以方舟編譯器開源為主題,圍繞基礎軟件發(fā)展、開源社區(qū)構建、開源生態(tài)建設等方面進行了深入討論。這也是8月31日方舟編譯器正式開源后,首次面向行業(yè)組織的線下技術交流會議。

首場方舟編譯器開源沙龍現(xiàn)場
華為消費者業(yè)務軟件部開源項目主管做了開場致辭,介紹了開源目的、目前的進展以及下一步計劃。目前,開源項目組在國內已與數(shù)十位行業(yè)頂尖編譯器學者進行了交流合作;同時,在歐洲進行了多場探索開源共建的研討會。此外,項目組將在全球開展高校開發(fā)者拓展計劃,發(fā)布系列開源共建課題,希望在校學生和編譯器專業(yè)科研者都能參與進來;針對專業(yè)開發(fā)者,項目組將在社區(qū)持續(xù)公布TODO特性,歡迎開發(fā)者分享代碼。
十年磨一劍,開源引領行業(yè)發(fā)展
活動現(xiàn)場,方舟編譯器架構師介紹了方舟編譯器的研發(fā)歷程及未來發(fā)展路標。他表示,早在2009年華為就創(chuàng)建了編譯組,經過10年的研發(fā),方舟編譯器正式在今年發(fā)布并宣布開源。
被稱之為“革命性突破”的方舟編譯器,其最大優(yōu)勢是首次在Java領域用方舟編譯器替代了語言虛擬機的靜態(tài)編譯器,在軟件史上首次將Java/C/C++等混合代碼一次編譯成機器碼直接在手機上運行,徹底告別Java的JNI額外開銷,解決安卓生態(tài)碎片化造成的代碼優(yōu)化空間有限以及內存回收機制造的間歇性卡頓,從原來的邊解釋邊執(zhí)行轉變?yōu)槿虣C器碼高效運行程序,大幅提升了安卓應用的運行效率。
8月31日,方舟編譯器開源官網正式上線,開發(fā)者可以通過官方網站及代碼托管網站獲得相關代碼和文檔,供參考學習、了解方舟編譯器的架構和代碼。方舟編譯器的開源不僅是一種技術的外放,更是華為引領行業(yè)共同構建生態(tài)與社區(qū),這是中國底層軟件開源之路的探索。 方舟編譯器的開源工作也將陸續(xù)展開,華為將把軟件方面的技術能力在社區(qū)中不斷貢獻給行業(yè),與行業(yè)一起探尋更好的、更符合時代需求的軟件技術。
方舟編譯器架構師對方舟編譯器的架構、中間語言、Java語言特性以及RC插入的設計和實現(xiàn)進行了深入淺出的講解。他指出,目前方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現(xiàn),同時搭配編譯器其他二進制組件,實現(xiàn)Java程序到aarch64匯編指令的編譯過程。開發(fā)者可基于開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。未來方舟編譯器將針對前端、后端陸續(xù)開源,并支持其它語言的編譯等。
專家學者共話發(fā)展,共建全新移動應用生態(tài)
本次活動邀請了清華大學教授陳文光、中科院計算所研究員馮曉兵、北京理工大學副教授計衛(wèi)星等專家學者進行了專題演講,分享了他們對方舟編譯器開源的生態(tài)建設、社區(qū)建設及基礎軟件開發(fā)的看法。

清華大學教授陳文光
清華大學教授陳文光作了《稀疏張量編譯器初步研究》的主題演講,分享了他在GPU上初步開展的稀疏張量編譯器研究工作和進展,幫助開發(fā)者們更好的理解軟件開發(fā)編譯,為開發(fā)者們如何高效開發(fā)帶來新思路。

中科院計算所研究員馮曉兵
以編譯系統(tǒng)及相關工具為研究方向的中科院計算所研究員馮曉兵認為,方舟編譯器對于國內基礎軟件開發(fā)帶來的意義更為深遠。此前為軟件底層貢獻核心技術的公司主要來自于歐美,華為通過多年的持續(xù)研發(fā)投入推出方舟編譯器,讓大家在這個領域看到了中國企業(yè)的身影,這無疑大大提振了國內開發(fā)者們對于基礎軟件開發(fā)的信心。同樣,馮曉兵研究員也為開發(fā)者介紹了為深度學習網絡提出的一種新的數(shù)據(jù)格式和一些優(yōu)化技術,可有效利用輸入數(shù)據(jù)的稀疏性,加速神經網絡的執(zhí)行效率,讓與會者獲益匪淺。

北京理工大學副教授計衛(wèi)星
北京理工大學副教授計衛(wèi)星現(xiàn)場對編譯器部分開源代碼進行了分析,并分享了編譯器的初步運行測試結果,從科研和教學兩方面探討了方舟編譯器開源社區(qū)構建的基本想法。他認為,方舟編譯器的開源對高等院??蒲蟹较蚝蛙浖_發(fā)專業(yè)人才培養(yǎng)提供了一個契機,一方面是高校可以結合方舟編譯器進行更加深入的研究,不斷提升科研實力并輸出科研成果;另一方面可在教學過程中,引導高校師生關注方舟編譯器并參與開源社區(qū)的建設,通過互動交流,提升對基礎軟件開發(fā)的投入研究。
方舟持續(xù)開源,合力共推實現(xiàn)多方共贏
據(jù)華為官方公布的消息,方舟編譯器從2019年8月開始,將持續(xù)進行開源。目前已對編譯器框架部分開放源碼之后,預計將在2020年對Java編譯器工具鏈開源,支持Java程序編譯。2021年將對JavaScript編譯器工具鏈開源,可用于JS程序的編譯。
方舟編譯器的持續(xù)開源,可以讓更多的科研機構、高校院所、第三方廠商和廣大開發(fā)者參與進來,源碼才會在不斷地重構和優(yōu)化中激活、升華,開發(fā)者們可以共同分享技術的進步。
堅持開放、合作、共贏的華為,通過持續(xù)的開源,將自己在軟件方面的技術能力不斷貢獻給行業(yè),同時在開源社區(qū)中,更多的開發(fā)者可以參與并貢獻自己的力量,不斷推進產業(yè)創(chuàng)新與開放生態(tài)構建。華為期待更多合作伙伴加入方舟陣營,合力共推基礎軟件的發(fā)展。
方舟編譯器官方渠道:
官方網站:https://www.openarkcompiler.cn
代碼托管網站:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler
碼云鏡像倉庫地址:https://gitee.com/harmonyos/OpenArkCompiler
特別提醒:本網內容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯(lián)系我們,本站將會在24小時內處理完畢。