金鐘暉-CoreJava-Dragonwell+VectorAPI 助力Java高性能新時代.pdf

編號:136947 PDF 12頁 1.07MB 下載積分:VIP專享
下載報告請您先登錄!

金鐘暉-CoreJava-Dragonwell+VectorAPI 助力Java高性能新時代.pdf

1、Dragonwell+VectorAPI 助力Java高性能新時代演講人:金鐘暉英特爾數據中心和AI事業部高級應用軟件工程師CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava20

2、23CoreJava20231.Java 高性能計算遇到的挑戰2.VectorAPI:Java在特定領域進行高性能計算的利器3.如何才能更好利用VectorAPI?4.阿里巴巴和英特爾在Dragonwell上的合作CONTENT目錄CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023Core

3、Java2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava20231.Java 高性能計算遇到的挑戰 向量化(Vectorization)高性能計算的標配 多媒體,游戲娛樂,大數據處理,機器學習,人工智能都重度依賴于向量化運算;使用向量化計算可以獲得數倍的性能提升。向量化運算使用的SIMD(Single Instruction Multiple Data)硬件單元普遍存在于目前主流硬件平臺上 Java進行向量化運算限制較多,要么依賴于JVM的自動向量化,要么通過JNI(Java Native Interface)調用本地實現

4、 利用SIMD硬件的途徑:自自動動向向量量化化調調用用本本地地語語言言庫庫直直接接針針對對 SIMD 單單元元編編程程C/C+、匯編等本地語言是是是(Intrinsic/匯編)Java是是(JNI)是(VectorAPI)CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2

5、023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava20232.VectorAPI:Java在特定領域進行高性能計算的利器 VectorAPI可以清晰簡潔地表達范圍廣泛的向量計算,并將Java代碼在運行時可靠地編譯為支持的CPU架構上的最佳向量硬件指令 VectorAPI是架構不可知的,可以在支持向量運算的多個CPU架構上實現運行 優雅降級:如果向量運算在運行時不能完全表示為一系列硬件向量指令,VectorAPI將會優雅降級并且仍然起作用 VectorAPI(Incubator,JEP 338,JEP:JDK Enhanceme

6、nt Proposals)最初于 2018 年 4 月開始創建,在 OpenJDK16 作為孵化器項目(2020年10月)被引入。隨著后續 OpenJDK 版本的升級,VectorAPI 也得到了同步升級OpenJDK 17-JEP 414,Second IncubatorOpenJDK 18-JEP 417,Third IncubatorOpenJDK 19-JEP 426,Fourth IncubatorOpenJDK 20-JEP 438,Fifth Incubator 每次 VectorAPI 的升級都會帶來性能提升,更多功能和 Bugfix。CoreJava2023CoreJava2

7、023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023一段使用VectorAPI的代碼在這個例子中,當使用VectorAPI后,在支持AVX-512的硬件平臺上,一次加法可以處理(512/32

8、=16)16個浮點數;而傳統加法一次只能處理一個浮點數。CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023 高性能計算、AI、多媒體領域廣泛使用的

9、BLAS(BasicLinearAlgebraSubprograms,基本線性代數子程序),可以得到2.2X4.5X的提升。使用VectorAPI的示例(1)CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJ

10、ava2023CoreJava2023CoreJava2023 圖像處理Sepia過濾,最多得到6倍提升:使用VectorAPI的示例(2)CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023Co

11、reJava2023CoreJava2023 特定的數據庫應用得到2倍以上提升:使用VectorAPI的示例(3)CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023Cor

12、eJava2023 Parquet-Decoder有48倍提升:https:/ Incubator 15需要改寫應用代碼業界現狀:主流的JDK版本 8/11不支持VectorAPI主流的框架和應用對較新JDK的支持度不夠JDK版本的遷移的成本高昂解決手段從OpenJDK入手:移植 VectorAPI到主流OpenJDK版本從應用和框架入手:改寫應用和框架,支持高版本OpenJDK3.如何才能更好利用VectorAPI?CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJ

13、ava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023 Dragonwell:是OpenJDK 的下游版本,是阿里巴巴針對 10萬+服務器上運行的在線電商、金融、物流應用優化的 OpenJDK 實現。Dragonwell 是 OpenAnolis 的默認 JDK,Alibaba 的眾多 Java 應用,正在逐步遷移到 Drag

14、onwell 上。https:/ 雙方緊密合作,移植VectorAPI到Dragonwell11上 移植難點:v涉及代碼量巨大 300+文件,29萬+行源碼v需要和上游OpenJDK保持關聯v性能需要和上游OpenJDK接近v穩定可靠是強需求 JEP338(Incubator)已經合并到Dragonwell11主分支 JEP414(2nd Incubator)的移植正在進行中;后續版本也在計劃中 應用層的優化 數據庫/大數據領域探索4.阿里巴巴和英特爾在Dragonwell上的合作CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2

15、023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023感謝聆聽演講人:金鐘暉CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023CoreJava2023

友情提示

1、下載報告失敗解決辦法
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站報告下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。

本文(金鐘暉-CoreJava-Dragonwell+VectorAPI 助力Java高性能新時代.pdf)為本站 (2200) 主動上傳,三個皮匠報告文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知三個皮匠報告文庫(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。
客服
商務合作
小程序
服務號
折疊
午夜网日韩中文字幕,日韩Av中文字幕久久,亚洲中文字幕在线一区二区,最新中文字幕在线视频网站