英特爾開源SYCLomatic遷移工具 助力開發者建立異構程式碼
近日,英特爾釋出了一項開源工具,該工具可通過名為SYCLomatic的專案,將程式碼遷移至SYCL,這有助於開發者更輕鬆地將CUDA程式碼遷移到SYCL和C++,從而加速面向異構架構的跨架構程式設計。這個開源專案能讓開發社群共同協作,以推動SYCL標準的採用,這是將開發者從單個廠商的封閉生態系統中解放出來的關鍵一步。
SYCLomatic開放開發,使開發者自由建立可遷移的異構程式碼
英特爾oneAPI專家James Reinders表示:“使用SYCL將程式碼遷移至C++,為程式碼提供了更強的ISO C++一致性,支援多家供應商以緩解供應商鎖定問題,並且支援多種架構,為充分運用新的硬體創新提供靈活性。SYCLomatic是一個可實現大部分工作自動化的寶藏工具,讓開發者能更多地關注定製化調優,而不是遷移程式碼。”
在硬體創新為計算帶來多樣化異構架構的同時,軟體開發也已經變得越來越複雜,很難充分釋放CPU和加速器的價值。如今的開發者及其團隊普遍缺乏時間、金錢和資源,以適應程式碼的重寫和測試,為這些不同的架構提升應用的效能。開發者正在尋求開放替代方案,以提升時間價值。英特爾正在提供一種更簡單、更快捷的方式,讓開發者進行硬體選擇。
SYCL是一種基於C++的Khronos Group標準,它擴充套件了C++功能以支援多種架構和非共享記憶體的配置。為啟動該專案,英特爾開源了其DPC++相容性工具背後的技術,以進一步提升遷移能力,生成更多基於SYCL的應用。跨架構重複利用程式碼簡化了開發工作,減少了持續維護程式碼所需的時間和成本。
利用帶有LLVM差異化的Apache 2.0許可證,託管在GitHub上的SYCLomatic專案為開發者提供了一個社群,讓他們能做出貢獻並提供反饋,以進一步開放跨CPU、GPU和FPGA的異構開發。
SYCLomatic協助開發者將CUDA程式碼遷移到SYCL,通常可以將90-95%的CUDA程式碼自動遷移到SYCL程式碼。開發人員僅需手動程式設計剩餘的工作,然後對特定架構進行定製化調優,達到所需的效能級別,便可完成這一過程。
研究機構及英特爾客戶已成功地使用英特爾DPC++相容性工具,該工具採用與SYCLomatic相同的技術,能將CUDA程式碼遷移到多個廠商架構上的SYCL(或Data Parallel C++,oneAPI的SYCL實現)。這些案例包括斯德哥爾摩大學的GROMACS 20223、柏林祖思研究所(ZIB)的easyWave、三星Medison和Bittware。許多客戶也正在測試當前和即將推出的基於英特爾Xe架構GPU的程式碼,包括阿貢國家實驗室的極光(Aurora)超級計算機、萊布尼茨超級計算中心(LRZ)、GE醫療等。
SYCLomatic 是一個GitHub專案。GitHub入口網站擁有一個“contributing.md”指南,描述了向專案提供技術貢獻的步驟,以確保最大程度的便捷。鼓勵開發人員使用該工具,提供反饋並做出貢獻,以推動該工具的發展。
HACC(硬體/混合加速宇宙學程式碼)、宇宙物理學和先進計算(anl.gov)的Steve(Esteban)Rangel表示:“CRK-HACC是一個正在開發的N體宇宙學模擬程式碼。為了給極光(Aurora)超級計算機做好準備,英特爾DPC++相容性工具能讓我們將20多個核心快速遷移到SYCL。由於當前版本的程式碼遷移工具不支援遷移到仿函式,我們編寫了一個簡單的clang工具來重構生成的SYCL原始碼,以滿足我們的需求。通過開源SYCLomatic專案,我們計劃整合此前的工作,以獲得更強大的解決方案,並助力讓仿函式成為可用遷移選項的一部分。”
提供給開發者的資源:
· GitHub上SYCLomatic專案 | Contributing.md指南
· 開發入門:書籍:使用C++和SYCL掌握異構系統程式設計 | SYCL培訓的要點
· 程式碼專案:使用oneAPI將CUDA程式碼轉換到SYCL
· Intel DevCloud:一個免費的開發環境,可獲取英特爾 oneAPI工具,並在各種英特爾架構如CPU、GPU、FPGA上,開發和測試程式碼。
來自 “ 知IN ”, 原文作者:英特爾;原文連結:https://mp.weixin.qq.com/s/3wen-dSxXP0VP-nUl_ozxg,如有侵權,請聯絡管理員刪除。
相關文章
- Appsmith:真正的低程式碼開源開發工具APPMIT
- 英特爾加碼四大“超級技術力量”,為開發者賦能
- 谷歌開發者工具執行JavaScript程式碼谷歌JavaScript
- 新年化身英特爾“Issues 獵手”,共創百萬使用者開源生態!
- VTS:基於Apache SeaTunnel的開源向量資料遷移工具Apache
- Alibaba 資料庫遷移開源工具 Datax 安裝和使用資料庫開源工具
- 微信開發者工具實現程式碼加固
- Sentry 開發者貢獻指南 - 資料庫遷移資料庫
- 【移動開發】Checkout開源庫原始碼解析移動開發原始碼
- 異構資料庫遷移埋下的 9 個大坑怎麼躲開?資料庫
- Android開發者必備:推薦一款助力開發的開源APPAndroidAPP
- 谷歌開發者工具線上編輯HTML程式碼谷歌HTML
- 銀彈谷:低程式碼開發助力快速建立金融服務平臺
- 前端開發者必備的程式碼開源平臺,記得收藏轉發!前端
- 英特爾OpenVINO工具包助力邊緣人工智慧創新人工智慧
- 主流開源開發者工具落地阿里雲,進一步提升開發者體驗阿里
- 新功能!蘋果將開通“優惠程式碼”,助力開發者獲取、留存、召回使用者!蘋果
- 阿里雲開源 image-syncer 工具,容器映象遷移同步的終極利器阿里
- 開發者必看!你想知道的遷移之道都在這裡了
- 從微信小程式開發者工具原始碼看實現原理(一)- - 小程式架構設計微信小程式原始碼架構
- 用低程式碼開發工具高效構建企業門戶
- 禁止開發者工具
- 清華開源遷移學習演算法庫遷移學習演算法
- 開源一個程式碼規範檢測工具
- 遷移oracle使用者密碼Oracle密碼
- [線上活動]Open Talk|低程式碼助力人人皆為開發者
- Ohayoo推出“開發者激勵計劃” 全面助力各路開發者
- JavaScript工具函式助力高效開發JavaScript函式
- 深入探索Chrome開發者工具:開發者的利器Chrome
- Java開源工具 網站開發工具清單Java開源工具網站
- 使用低程式碼開發平臺 YonBuilder 移動開發,開發閱讀 APP 教程UI移動開發APP
- Electron禁止開啟開發者工具
- 異構資料庫遷移 sql等價改寫資料庫SQL
- Google Play 助力更多開發者成功Go
- 使用開源工具構建 DevOps 流水線的初學者指南開源工具dev
- 黑科技在此!移動開發者必須瞭解的跨平臺開發工具移動開發
- CloudIDE:為開發者寫程式碼開啟“加速”模式CloudIDE模式
- BigCode:使用AI自動生成程式碼的開源工具GCAI開源工具