【摘要】 鯤鵬是華為海思發布的基於ARM架構授權,由華為自主設計完成的鯤鵬芯片;華為海思在今年1月初發布的一款兼容ARM指令集的服務器芯片鯤鵬920,配備了64個物理核,當前SPECint Benchmark評測跑分超過930分,將性能紀錄提升了25%,創造計算性能紀錄,是業界最高性能ARM-Based CPU。
1. 了解鯤鵬
鯤鵬芯片是華為海思發布的基於ARM架構授權,由華為自主設計完成的鯤鵬芯片;華為海思在今年1月初發布的一款兼容ARM指令集的服務器芯片鯤鵬920,配備了64個物理核,當前SPECint Benchmark評測跑分超過930分,將性能紀錄提升了25%,創造計算性能紀錄,是業界最高性能ARM-Based CPU。
當前鯤鵬不再僅僅局限於鯤鵬系列服務芯片,更是包含了服務器軟件在多元計算架構平台上的完整軟硬件生態和雲服務生態;該生態匯聚了芯片、服務器、操作系統、應用軟件、雲服務和解決方案等,更多信息請點擊如下鏈接:
2. 鯤鵬兼容性
2.1 鯤鵬當前OS兼容性
產品與服務 |
軟件 |
兼容的軟件版本 |
Taishan服務器 |
centos |
centos 7.4 |
centos 7.5 |
||
centos 7.6 |
||
centos 8.0及以上 |
||
canonical |
ubuntu 16.04.3及以上 |
|
ubuntu 18.04.1及以上 |
||
中標麒麟 |
中標麒麟高級服務器操作系統軟件(ARM64版)V7U5 |
|
中標麒麟高級服務器操作系統軟件(ARM64版)V5U5 |
||
中標麒麟高級服務器操作系統軟件(ARM64版)V7U6 |
||
中標麒麟高級服務器操作系統軟件(ARM64版)V5U6 |
||
深之度 |
深度操作系統ARM服務器版軟件V15.2 |
|
深度操作系統ARM桌面版軟件V15.5SP2及以上 |
||
深度操作系統ARM服務器版軟件V15.3及以上 |
||
紅旗 |
紅旗Asianux服務器操作系統V7.0 |
|
凝思 |
Linx 6.0 arm安全版及以上 |
|
Linx 6.0 arm通用版及以上 |
||
泰山國心 |
TaishanOS 7 |
|
TaishanOS 8及以上 |
||
普華 |
普華服務器操作系統(arm版)V5.0 |
|
普華服務器操作系統(arm版)V5.1及以上 |
||
銀河麒麟 |
銀河麒麟V4.0.2及以上 |
|
湖南麒麟 |
麒麟操作系統 V3-ARM及以上 |
|
移動蘇研所 |
BC-Linux 7.4 |
|
BC-Linux 7.6 |
||
華為雲ECS RC6雲服務器 |
centos |
centos 7.4 |
centos 7.5 |
||
centos 7.6 |
||
Euler OS |
Euler OS 2.8 |
|
Fedora |
Fedora 29 |
|
Ubuntu |
ubuntu 18.04 |
2.2 鯤鵬當前語言兼容性
當前鯤鵬兼容C、C++、golang、JAVA、python、ruby、erlang、Lua、shell、php、perl、kotlin、Js等語言。
2.3 鯤鵬當前應用兼容性
軟件類型 |
能否運行在鯤鵬 |
開源軟件 |
鯤鵬軟件生態主頁已經列舉了兼容鯤鵬的常用開源軟件列表,也可咨詢社區獲取ARM v8指令集的兼容情況。 |
商用軟件 |
咨詢軟件供應商(ISV)獲取ARM v8指令集的兼容情況。 |
3. 如何在鯤鵬上運行第一個應用
3.1 搭建編譯環境
- 搭建鯤鵬開發環境有三種方式:
- 方式一:在華為雲購買基於鯤鵬芯片的RC6規格雲服務器即可。
- 方式二:在X86平台安裝虛擬環境模擬器構建鯤鵬編譯環境,如果采用QEMU模擬器,請參考QEMU安裝指南。
- 方式三:在X86平台搭建交叉編譯環境,詳細指導請參考Linaro GCC編譯工具安裝指導。
3.2 編譯和運行
如果程序源代碼由編譯類語言如C/C++等編寫而成,有如下方式:
- 方式一:對於采用在華為雲購買基於鯤鵬處理器的彈性雲服務器(RC6 ECS)的方式,可在ECS雲服務器上通過gcc/g++等編譯工具編譯源代碼生成可執行程序 並運行。具體可參考在鯤鵬上使用編程語言-C語言
- 方式二:對於采用在X86平台上利用交叉編譯工具編譯的方式,將源代碼編譯成aarch64平台可執行的程序並拷貝至鯤鵬雲服務器運行。具體可參考搭建鯤鵬開發環境中的“linux x86主機上安裝目標為鯤鵬服務器的交叉編譯環境” 。
- 方式三:對於采用在X86平台上運行一個兼容ARMv8指令集的模擬環境的方式,在模擬環境中編譯成可執行程序,然后將編譯的可執行程序拷貝至鯤鵬雲服務器運行。
3.3 幫助與分享
對於軟件從X86平台移植到鯤鵬平台的問題,您可以參考鯤鵬生態軟件,那里匯聚了常用的開源軟件的移植指南供參考。另外華為雲提供了鯤鵬論壇,您既可以從中尋找資源學習、交流互動、也可以將您的經驗和知識共享至論壇。
4. 如何發布鯤鵬應用(正在建設中,敬請期待)
- 方式對於以鏡像形式發布的應用,請參考制作虛擬機鏡像
- 對於以Docker容器形式發布的應用,請參考制作Docker容器鏡像
- 發布應用至鯤鵬雲市場
5. 學習與幫助
當前華為雲已經提供了鯤鵬社區,您可以在這里學習鯤鵬相關知識和尋求對應的幫助,您也可以將您的經驗和知識共享至社區,交流學習和成長。鯤鵬社區即將提供沙箱Openlab環境供您體驗和學習鯤鵬,敬請期待。
6. FAQ
(1) 為什么X86上應用不能直接運行在鯤鵬上?
例如,使用C語言編寫的一個簡單的Hello World程序,在x86_64的機器上編譯通過后,將所生成的可執行程序直接拷貝至基於鯤鵬芯片的服務器上去執行,會報文件格式不正確之類的錯誤從而導致程序無法執行,原因是程序的編譯平台和和程序的運行平台不同導致的,x86_64的機器CPU是基於復雜指令集的amd64架構,而基於鯤鵬芯片的服務器的CPU是基於精簡指令集的架構的,這兩種指令集的執行讀取等尋址方式不同,所以兩個不同指令集結構的機器,不能相互解釋執行。
(2) 鯤鵬能否運行Windows操作系統
暫不支持
(3) 如何判斷我的應用是否能運行在鯤鵬上?
請參考上述的鯤鵬兼容性,通過比較應用的目標OS,應用的編程語言鯤鵬是否兼容來確定。
(4) 基於鯤鵬的雲服務器價格是否比同等基於X86的優惠?
基於鯤鵬芯片帶來的低功耗、低成本等優勢,原則上基於鯤鵬的雲服務器價格是比同等基於X86的優惠,具體以華為雲官網發布信息為准。