01多樣性計算時代
跨平臺的應用遷移和開發(fā)不簡單
數(shù)字經(jīng)濟時代,自動駕駛、智能制造、電子政務、智慧金融等新型行業(yè)應用場景和多元化的數(shù)據(jù)結構驅動計算架構向多樣性發(fā)展。鯤鵬架構因其多核多并發(fā)、低功耗等特點能夠有效解決行業(yè)數(shù)字化轉型中海量數(shù)據(jù)的高算力需求,在多樣性計算場景下具備顯著優(yōu)勢。目前,鯤鵬已成為政府、金融、電信、能源等各行業(yè)IT基礎設施的主流平臺,為行業(yè)應用提供高效強勁的算力支撐。
然而,由于指令集的差異,從傳統(tǒng)x86到鯤鵬平臺的應用遷移和開發(fā)的過程并不簡單:x86 上的程序必須經(jīng)過適配遷移才能運行,過程中涉及大量的代碼修改、重新編譯和試錯,人工分析投入大、準確率低;另外,x86平臺的開發(fā)經(jīng)驗和兼容生態(tài)和鯤鵬平臺也有很多不同之處。因此,如何快速實現(xiàn)跨平臺的應用遷移、以及在開發(fā)過程中便捷地引導用戶熟悉和充分利用鯤鵬架構優(yōu)勢成為了開發(fā)人員亟需解決的問題。
02鯤鵬開發(fā)套件DevKit 2.0
加速應用遷移、使能極簡開發(fā)
基于上述挑戰(zhàn),2019年鯤鵬面向合作伙伴和廣大開發(fā)者提供了鯤鵬開發(fā)套件DevKit 1.0,聚焦有源碼與無源碼兩大場景下的無憂遷移。隨著應用遷移的不斷深入,基于鯤鵬進行軟件開發(fā)的需求也越來越多,鯤鵬DevKit全新升級為2.0版本,從加速“應用遷移”走向使能“原生開發(fā)”,該版本已經(jīng)于2021年12月31日在鯤鵬社區(qū)正式上線。2022年2月23日的 “鯤鵬DevKit新版本推介會”上來自鯤鵬DevKit產(chǎn)品研發(fā)專家們向廣大開發(fā)者詳細解讀了新版本的最新特性。
鯤鵬開發(fā)套件DevKit 2.0整體框架
在開發(fā)階段
全新上線的鯤鵬開發(fā)框架能夠幫助開發(fā)者便捷學習鯤鵬架構知識,充分應用鯤鵬架構優(yōu)勢,高效開發(fā)高性能應用;
遷移階段
代碼遷移工具在原有的軟件遷移評估、源代碼遷移、軟件包重構、專項軟件遷移基礎之上進一步能力增強,豐富了專項軟件遷移和HPC應用遷移的能力,同時新增鯤鵬親和檢查等能力,提升軟件在鯤鵬平臺的運行效率。
在編譯調試階段
提供基于鯤鵬平臺優(yōu)化后的GCC for openEuler、畢昇編譯器、畢昇JDK等全套編譯工具,屏蔽硬件架構差異,充分發(fā)揮鯤鵬架構優(yōu)勢。
在測試階段
7*24小時的云測服務,幫助用戶快速檢測程序在鯤鵬平臺上的兼容性、可靠性、安全、功能、性能等能力。
在調優(yōu)&診斷階段
性能調優(yōu)工具在原有的系統(tǒng)性能分析、Java性能分析基礎之上,新增調優(yōu)助手功能,指導用戶快速掌握調優(yōu)方法、降低調優(yōu)難度。此外,系統(tǒng)診斷在內存和網(wǎng)絡診斷基礎上完善了存儲診斷能力,能夠快速定位相關部件異常點,準確度大于90%。
馬德強表示:
“2022年,我們將持續(xù)迭代開發(fā)鯤鵬DevKit,為開發(fā)者提供更多更好用的原生開發(fā)能力,包括場景化SDK,以及簡單易用的Demo示例等,打造最佳的鯤鵬親和原生開發(fā)體驗,讓開發(fā)者零成本學習開發(fā)?!?/p>
03基于鯤鵬開發(fā)框架
高效開發(fā)鯤鵬架構親和的高性能應用
“目前,鯤鵬開發(fā)套件DevKit的軟件遷移效率已實現(xiàn)2人天/應用,并初步提供了對鯤鵬原生開發(fā)的支持?!?鯤鵬計算架構與設計技術專家張汝濤解讀了DevKit代碼遷移工具的增強功能、并重點介紹了最新上線的鯤鵬開發(fā)框架的主要能力。
新版本中進一步增強了遷移能力:新增10余款主流HPC專項軟件的快速遷移能力;新增了鯤鵬親和檢查,包括程序運行模式、結構體字節(jié)對齊、Cache line對齊、內存一致性(靜態(tài)檢查&編譯器自動修復)等檢查功能,幫助用戶軟件更好的適配鯤鵬架構,產(chǎn)生更優(yōu)的鯤鵬親和代碼。
鯤鵬開發(fā)框架是面向鯤鵬原生開發(fā)打造的的全新工具,“我們通過廣泛的調研,了解到開發(fā)者基于鯤鵬開發(fā)應用的主要痛點是不知道鯤鵬架構的特點是什么,也不知道如何最大程度釋放鯤鵬算力,因此我們全新推出了鯤鵬開發(fā)框架,幫助開發(fā)降低學習成本、降低學習難度,提高開發(fā)效率?!睆埲隄榻B道。目前,鯤鵬開發(fā)框架主要提供新手成長路徑、鯤鵬工程向導、啟發(fā)式編程、和鯤鵬親和檢查等能力。
鯤鵬開發(fā)框架-創(chuàng)建鯤鵬工程
通過新手成長路徑開發(fā)者能夠快速獲取豐富的鯤鵬架構賦能材料,包括原生開發(fā)指導文檔、代碼樣例和實踐案例、培訓課程、實驗沙箱等,系統(tǒng)學習鯤鵬處理器架構知識,建立系統(tǒng)完整的知識體系,占領技術的制高點。
在項目的初始階段,鯤鵬工程管理向導,向開發(fā)者推薦親和鯤鵬架構的選項、參數(shù)和優(yōu)選的鯤鵬加速庫,開發(fā)者可以快速創(chuàng)建鯤鵬應用項目。
在開發(fā)階段,通過啟發(fā)式編程提高開發(fā)效率和質量。啟發(fā)式編程提供了編碼智能補全功能,用戶在編寫 makefile/cmakelists.txt構建文件時,智能聯(lián)想鯤鵬親和的宏定義和編譯選項;編輯C/C++源碼時,智能聯(lián)想鯤鵬親和的GCC built-in函數(shù)、intrinsic指令函數(shù)和5大類鯤鵬加速庫函數(shù)。此外,開發(fā)者在編輯完構建文件時還可以快速檢查依賴文件兼容性,并提供獲取方式。目前提供了20+ Linux版本的鯤鵬兼容性檢查及獲取。
鯤鵬親和檢查功能幫助開發(fā)者進行鯤鵬加速優(yōu)化檢查,推薦使用更高效的鯤鵬加速庫,提升軟件運行性能;同時提供4種鯤鵬架構親和檢查功能(64位運行模式檢查、內存一致性檢查、結構體字節(jié)對齊和變量cache line對齊檢查),給出優(yōu)化修改建議。
由此可見,鯤鵬開發(fā)框架從學習資料的獲取、到軟件工程構建、軟件源碼開發(fā),再到軟件編譯構建,提供了全方位的輔助能力,幫助開發(fā)者快速上手,高效編程,硬件架構差異無感,打造極簡開發(fā)過程。
04多重優(yōu)化技術全面提升編譯性能
屏蔽硬件差異,發(fā)揮鯤鵬架構優(yōu)勢
鯤鵬DevKit提供一鍵式部署的全套編譯軟件,滿足不同場景下的編譯需求,并結合鯤鵬架構的優(yōu)勢提升編譯性能,讓軟件運行效率更佳。華為畢昇編譯器架構師魏偉針對畢昇編譯器和畢昇JDK的主要特性及關鍵優(yōu)化技術做了詳細解讀:
畢昇編譯器是華為編譯器實驗室針對鯤鵬等通用處理器架構場景,打造的高性能、高可信及易擴展的編譯器工具鏈。支持C/C++/Fortran等編程語言,增強和引入了多種編譯優(yōu)化技術:
高性能編譯算法:
編譯深度優(yōu)化,增強多核并行化,自動矢量化等,大幅提升指令和數(shù)據(jù)呑吐量。
速指令集:
加結合NEON/SVE等內嵌指令技術,深度優(yōu)化指令編譯和運行時庫,發(fā)揮鯤鵬架構最佳表現(xiàn)。
AI迭代調優(yōu):
內置AI自學習模型,自動優(yōu)化編譯配置,迭代提升程序性能,完成最優(yōu)編譯。
此外,畢昇編譯器在2021年版本中還重點引入了包括:SLP矢量化增強、數(shù)組數(shù)據(jù)流分析優(yōu)化實現(xiàn)、數(shù)據(jù)軟件預取、浮點精度調優(yōu)等關鍵優(yōu)化技術,通過上述優(yōu)化使其編譯性能相比開源編譯軟件有25%+的提升。
畢昇JDK是華為基于openJDK定制開發(fā)的開源版本,并針對鯤鵬架構上進行了優(yōu)化,包括快速序列化、AppCDS、G1GC 堆內存伸縮、KAE Provider 等,是一款高性能、可用于生產(chǎn)環(huán)境的OpenJDK發(fā)行版。
而鯤鵬原生的開發(fā)語言畢昇C++是一門面向多樣算力的編程語言,它以C++為基礎,基于SYCL異構編程行業(yè)標準,增加矩陣編程、張量編程等特色的編程抽象,支持鯤鵬、昇騰、GPU等業(yè)界常用算力,并簡化多算力編程,為開發(fā)者提供高效、簡潔的編程體驗。據(jù)悉,畢昇C++第一個版本將于2022年三季度正式上線。
魏偉表示:
畢昇編譯器將結合鯤鵬架構特點,針對不同場景,不同應用特點,使用不同的編譯優(yōu)化手段,通過深度優(yōu)化指令編譯,引入或增強優(yōu)化算法等,發(fā)揮鯤鵬極致算力。
05快速引導式性能調優(yōu)和診斷
消除性能瓶頸、提升軟件性能
軟件運行時,性能瓶頸可能存在于任何層次,設備、內核、系統(tǒng)調用、系統(tǒng)庫、應用程序等某一配置和指標出現(xiàn)問題,都可能導致系統(tǒng)運行緩慢。當前業(yè)界的性能分析工具眾多且分散,不僅帶來大量的學習成本、效率低下,更重要的是數(shù)據(jù)不能互通,無法全局分析。鯤鵬DevKit性能分析工具能夠幫助開發(fā)者綜合、全面的了解系統(tǒng)軟硬件的相關信息,分析其配置和運行情況,調節(jié)各模塊之間的系統(tǒng)資源占用關系,實現(xiàn)整個系統(tǒng)的性能最大化。華為鯤鵬性能分析技術專家金垚針對本次版本新增的調優(yōu)助手、HPC場景性能分析、系統(tǒng)診斷等主要功能進行了詳細介紹:
性能分析工具-調優(yōu)助手
首先
缺乏調優(yōu)經(jīng)驗的用戶能夠通過調優(yōu)助手快速掌握調優(yōu)方法:通過系統(tǒng)化組織和分析性能指標、熱點函數(shù)、系統(tǒng)配置等信息,形成系統(tǒng)資源消耗鏈條,引導用戶根據(jù)優(yōu)化路徑分析性能瓶頸,并針對每條優(yōu)化路徑給出優(yōu)化建議和操作指導,降低調優(yōu)難度。
其次
增強了HPC場景的性能分析,能夠快速獲取HPC應用運行時的CPU流水線使用情況、以及每個函數(shù)、模塊、parallel-region、barrier-to-barrier-segment的微架構信息,確定性能瓶頸,并提供優(yōu)化建議指導用戶調優(yōu)。
第三
系統(tǒng)診斷能夠快速定位內存、網(wǎng)絡、存儲等部件的異常,主動解決軟件運行中出現(xiàn)的常見問題,包括識別內存泄漏、越界、OOM等問題點,優(yōu)化源代碼中內存使用的問題;以及測試網(wǎng)絡和存儲的最大能力,為性能優(yōu)化提供基礎參考數(shù)據(jù)等。
目前鯤鵬DevKit已成功運用于運營商、數(shù)字政府、金融、互聯(lián)網(wǎng)、HPC等眾多行業(yè),支撐近千家伙伴進行遷移適配和性能優(yōu)化。
未來,鯤鵬DevKit始終聚焦開發(fā)者的需求,持續(xù)優(yōu)化開發(fā)者體驗,幫助開發(fā)者更加便捷的基于鯤鵬平臺進行極簡開發(fā),共同推動鯤鵬生態(tài)繁榮發(fā)展。
原文標題:揭秘鯤鵬開發(fā)套件DevKit2.0的價值密碼
文章出處:【微信公眾號:華為計算】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
架構
+關注
關注
1文章
524瀏覽量
25790 -
開發(fā)套件
+關注
關注
2文章
162瀏覽量
24506 -
自動駕駛
+關注
關注
788文章
14096瀏覽量
168613
原文標題:揭秘鯤鵬開發(fā)套件DevKit2.0的價值密碼
文章出處:【微信號:gh_3a181fa836b6,微信公眾號:華為計算】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
【正點原子STM32H7R3開發(fā)套件試用體驗】4G聯(lián)網(wǎng)工業(yè)設備控制網(wǎng)關
【正點原子STM32H7R3開發(fā)套件試用體驗】開發(fā)套件開箱報告
稅友股份攜手鯤鵬原生開發(fā)稅務行業(yè)應用

AM243x LaunchPad?開發(fā)套件用戶指南

TPS63802HDKEVM-硬件開發(fā)套件

潤和軟件啟動鯤鵬原生開發(fā)合作
【xG24 Matter開發(fā)套件試用體驗】深入了解Silicon Labs xG24 Matter開發(fā)套件
中科創(chuàng)達旗下創(chuàng)通聯(lián)達Qualcomm RB3 Gen 2 Lite開發(fā)套件上市銷售
【新品上線】星閃派物聯(lián)網(wǎng)開發(fā)套件免費試用
【xG24 Matter開發(fā)套件試用體驗】1-基本情況介紹
【xG24 Matter開發(fā)套件試用體驗】初上手開發(fā)板和官方IDE
【xG24 Matter開發(fā)套件試用體驗】初識xG24 Matter開發(fā)套件
JH-7110 RISC-V開發(fā)套件正式開源

小熊派官網(wǎng)正式上線 可深入了解小熊派的各款開發(fā)套件

一文帶你詳細了解工業(yè)電腦

評論