那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Android ART在玄鐵C910上的移植和性能優化

芯片開放社區 ? 來源:芯片開放社區 ? 2023-11-16 09:43 ? 次閱讀

在過去的3年里,我們在玄鐵C910上分別移植了Android 10和Android 12,在ART上我們也做了一些更加深入的優化。在今年 RISC-V 美國峰會上,我們介紹了在ART上移植和優化過程和最近進展,在本文中也將分享這些工作。

在進入ART優化工作介紹前,先簡單看一下ART是什么。在Android中,所有的程序都是基于java來編寫的,Android SDK會把java字節碼轉換成dex字節碼。那么Android中的程序都離不開dex虛擬機。在Lolipop采用的是dalvikvm,而從Lolipop開始,ART替代了dalvikvm。

ART的執行的過程概述

相比于dalvikvm,ART在最開始的時候(Lolipop),引入全新的執行模式AHead-Of-Time(AOT)。應用程序在安裝過程中,其.dex字節碼會被編譯成machine code,應用程序會以machine code的方式執行,大大提高了程序的執行效率。

純AOT的方式會使程序的安裝過程變得非常長,因此在Android N的時候,引入新的JIT執行流程。在JIT執行模式下,應用程序的dex字節碼(cold)會先通過解釋器(interpreter)進行解釋執行,當發現其中的方法是熱點方法(hot)時,ART的JIT編譯器就會開始工作,將熱點方法編譯成machine code。在后續調用到該熱點方法時,將會采用machine code進行執行。

dbd5a11c-83b3-11ee-939d-92fbcf53809c.png

ARTforRISC-V支持

在介紹完ART在Android上的基礎工作原理后,再來回顧一下玄鐵團隊在兩個Android版本上的支持情況。

Android10支持

2020年的時候,我們就開始了在Android 10上支持 RISC-V 的工作。前期工作主要包括內核和驅動程序的準備,Clang編譯器和build系統的支持,Bionic庫支持,Shell啟動支持。

在此基礎上,ART先實現了JNI calling Convention和一些Runtime接口的支持,可以在20分鐘左右能啟動到Launcher界面。我們先后在ART上采用RV64GC指令集增加了Mterp匯編解釋器以及JIT/AOT編譯器,基于這兩個編譯器的優化,極大提高了Launcher啟動時間,分別提高到10分鐘和1分鐘。

dbf018ee-83b3-11ee-939d-92fbcf53809c.png

Android12支持

2022年開始,我們又在Android 12上再一次支持了 RISC-V。有了前一次經驗,在Android 12上的支持變得輕車熟路。相比于Android 10的移植工作,這一次有了新的硬件平臺TH1520,同時更新了Clang編譯,并采用玄鐵優化的Clang15版本,也更新了Binonic。

在ART上,本次增加Nterp解釋器,用于減少方法調用的鏈路,提高頻繁方法調用場景下的性能。由于采用Clang15編譯器支持了玄鐵擴展指令集,因此在ART上也增加這一部分針對玄鐵的特性優化。經過一系列的優化工作以后,Android 12在TH1520上在開啟更多的服務的情況下,Launcher啟動時間再一次得到提升,達到了47秒。

dc420320-83b3-11ee-939d-92fbcf53809c.png

社區貢獻

在移植Android的過程中,我們也積極參與社區的貢獻,避免大家重復造輪子。自2022年9月,我們在AOSP社區開始陸續提交相關的Porting改動。在ART上,目前貢獻超過了80個Commit。特別感謝來自Google的Vladimir Mark、Ulya Trofimovich和Santiago Aboy Solanes細致的代碼審查工作,完成代碼review、驗證以及修改,保證代碼高質量合入。

dc81f52a-83b3-11ee-939d-92fbcf53809c.png

玄鐵擴展指令集優化改進

在最近的優化工作中,我們在ART中增加了玄鐵擴展指令的支持。玄鐵擴展指令主要分為整數計算、內存讀寫、bit操作以及Vector v0.7指令集。基于這些指令集,ART中的優化內容包括編譯器部分的優化器、指令生成器,運行時庫的匯編解釋器、Quick Entries等等。除了在ART采用玄鐵擴展指令集進行優化以外,還在Bionic中對C庫、數學庫進行了優化。

dca7acb6-83b3-11ee-939d-92fbcf53809c.png

玄鐵擴展指令相比于RV64GC指令集,有較大的性能收益:

CaffeineMark,對于整數部分有超過15%的性能提升,對于浮點,方法調用也有4%的提升

SCIMath2,大部分用例都有超過15%的性能提升,小部分SOR/MonteCarlo提升并不明顯

其他一些編程語言上的結果也有較大的提升,最高的能達到約5倍

dcbe7e46-83b3-11ee-939d-92fbcf53809c.png

結語

RISC-V 在Android上才剛剛起步,ART上還有很多軟件、硬件的優化需要繼續支持。非常幸運能參與這一歷史性的事情,與全球開發者共同推動Android在 RISC-V 上的適配。

希望社區里有興趣的同學可以關注 RISC-V Android SIG以及Google RISCV64社區,共同討論參與貢獻。

審核編輯:湯梓紅

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

    關注

    12

    文章

    3945

    瀏覽量

    127919
  • 移植
    +關注

    關注

    1

    文章

    383

    瀏覽量

    28192
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49283
  • RISC-V
    +關注

    關注

    45

    文章

    2322

    瀏覽量

    46585

原文標題:Android ART在玄鐵C910上的移植和性能優化

文章出處:【微信號:芯片開放社區,微信公眾號:芯片開放社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    平頭哥發布RISC-V處理器910 芯片成本降低一半

    7月25日,阿里巴巴旗下半導體公司平頭哥正式發布910(XuanTie910)。據介紹,
    發表于 07-25 15:30 ?1224次閱讀

    RISC-V生態大會深圳召開,達摩院引領RISC-V創新應用

    :達摩院院長張建鋒RISC-V生態大會上致詞,RISC即將迎來蝶變進入應用爆發期 ? 從2018年起,阿里巴巴開始投入RISC-V架構,是國內最早涉足RISC-V的技術團隊之一。2019年
    的頭像 發表于 03-19 10:02 ?4651次閱讀
    <b class='flag-5'>玄</b><b class='flag-5'>鐵</b>RISC-V生態大會深圳召開,達摩院引領RISC-V創新應用

    轉發 Risc-V 平頭哥半導體將910移植至安卓10

    的意義。不禁用就沒有競爭力雖然,平頭哥的 Risc-V支持安卓對于備胎來說意義重大。但是ARM沒有禁止的時候,平頭哥的競爭力就非常有限了。910大致相當于A72的
    發表于 01-25 22:53

    平頭哥處理器Linux新版本,5大亮點速覽

    軟件形成持續保障。目前 linux 支持的系列 CPU 有:64位系列 (RISC-V):C910 三發射,深度亂序,12級流水線,搭載AI向量加速引擎的高性能多核處理器32位系列
    發表于 09-01 14:46

    阿里平頭哥宣布開源RISC-V系列處理器

    C906、C910等4款量產處理器IP,以及基于的多操作系統的全棧軟件及工具。開發者可通過平頭哥Github和芯片開放社區(Open Chip Community)下載
    發表于 10-20 14:09

    4款RISC-V芯片亮相

    了雙核C906處理器、0.5T NPU和Smart ISP等,是業內同檔產品中集成度最高的產品之一。 晶視智能COO黃群輝介紹稱,平頭哥基于RISC-V視覺AI領域做了大量代碼
    發表于 03-08 08:16

    CPU調試系統介紹

    和 Segger 的 JLink。CPU 的調試模塊:系統調試的基礎 該模塊允許您控制 CPU 以及讀寫寄存器和內存。二、CPU調試系統概述圖 2.1
    發表于 03-09 07:20

    軟硬件協同優化,平頭哥斬獲MLPerf四項第一

    4月7日,全球權威AI基準測試MLPerf發布最新榜單,聚焦低功耗、高能效的IoT領域Tiny v0.7榜單中,基于平頭哥RISC-V C906處理器的軟硬件聯合
    發表于 04-08 14:47

    讀《RISC-V處理器入門與實戰》

    。 全方位的介紹,帶領我們了解RISC-V之性能強大,不再局限于一個跑馬燈、Hello World工程,而是開發高大的系統級應用。未來RISC-V如果能在應用碎片化、開發效率低、軟硬件適配難等問題上不斷優化,相信將迎來更大的發
    發表于 09-28 11:58

    阿里平頭哥將全面開放910IPCore 對ARM影響幾何

    7月25日,阿里巴巴在上海舉辦了“2019 阿里云峰會”。本次會議,阿里巴巴詳細介紹了阿里的“All in Cloud”戰略,同時阿里旗下的平頭哥半導體還發布了號稱業界最強的高性能RISC-V處理器——
    發表于 07-26 15:58 ?2022次閱讀

    阿里發布新型910開源芯片

    性能表現,910較主流的RISC-V指令性能
    的頭像 發表于 07-27 08:06 ?7790次閱讀

    阿里發布“910”芯片!開啟世界芯片歷史的一大步!

    阿里終于出手!國產芯片加速拋棄ARM!阿里此時推出“910”,一方面,是希望該芯片和金庸筆下的“重劍”一樣,重劍無鋒、大巧不工。
    的頭像 發表于 08-02 09:25 ?5441次閱讀

    阿里旗下半導體公司發布910嵌入式處理器

    阿里巴巴旗下半導體公司平頭哥今日正式發布910(XuanTie910)處理器,官方稱,
    發表于 08-07 17:12 ?1408次閱讀

    RISC-V可以支持Android 10了

    可以支持Android 10了!而千芯科技的tinyAI軟件包,成為了首個支持RISC-V 安卓的AI算法生態包! tinyAI 對RISC-V的AI強力加速與部署 平頭哥半導體發布的C9
    的頭像 發表于 01-29 09:35 ?3900次閱讀

    C910到底什么水平?

    C910采用了最先進的12級無序多問題超標量流水線,具有高頻率、IPC和功率效率的特點。此外,它還支持硬件緩存一致性,每個集群包含1~4個內核,支持AXI4總線接口并包括一個設備一致性端口。
    的頭像 發表于 03-14 15:57 ?5400次閱讀
    <b class='flag-5'>玄</b><b class='flag-5'>鐵</b><b class='flag-5'>C910</b>到底什么水平?
    网页百家乐| 网络百家乐官网网站| 金门县| 霍山县| KK百家乐官网现金网| 南江县| 托克托县| 百家乐官网百家乐官网论坛| 百家乐官网网站可信吗| 青铜峡市| 大发888亚洲游戏| 百家乐扑克桌布| 张家港百家乐赌博| 哪家百家乐优惠最好且信誉不错| 全讯网分析| 仁化县| 百家乐官网生活馆拖鞋| 百家乐太阳城小郭| 澳门百家乐官网打法精华| 梦幻城百家乐官网的玩法技巧和规则| 百家乐改单软件| 九州娱乐城| 百家乐官网利来| 免费玩百家乐的玩法技巧和规则 | 澳门百家乐官网下注最低| 百家乐官网种类| 7位百家乐扑克桌| 百家乐官网网站排行| 百家乐官网娱乐城博彩通博彩网| 万达百家乐娱乐城| 百家乐官网最新投注法| 百家乐稳赚秘籍| 棋牌娱乐平台| 百家乐官网赢谷输缩| 百家乐象棋赌博| 海王星娱乐网| 伟易博百家乐官网娱乐城 | 百家乐官网赌博软件下载| 百家乐全透明牌靴| 1737棋牌游戏中心| 大发888娱乐场zb8|