SYCLomatic開放開發,使開發者自由創建可遷移的異構代碼。
英特爾發布了一項開源工具,該工具可通過名為SYCLomatic的項目,將代碼遷移至SYCL①,這有助于開發者更輕松地將CUDA代碼遷移到SYCL和C++,從而加速面向異構架構的跨架構編程。這個開源項目能讓開發社區共同協作,以推動SYCL標準的采用,這是將開發者從單個廠商的封閉生態系統中解放出來的關鍵一步。
使用SYCL將代碼遷移至C++,為代碼提供了更強的ISO C++一致性,支持多家供應商以緩解供應商鎖定問題,并且支持多種架構,為充分運用新的硬件創新提供靈活性。SYCLomatic是一個可實現大部分工作自動化的寶藏工具,讓開發者能更多地關注定制化調優,而不是遷移代碼。
——James Reinders
英特爾oneAPI專家
在硬件創新為計算帶來多樣化異構架構的同時,軟件開發也已經變得越來越復雜,很難充分釋放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 2022③、柏林祖思研究所(ZIB)的easyWave、三星Medison和Bittware(更多案例請訪問oneAPI DevSummit)。許多客戶也正在測試當前和即將推出的基于英特爾 Xe 架構GPU的代碼,包括阿貢國家實驗室的極光(Aurora)超級計算機、萊布尼茨超級計算中心(LRZ)、GE醫療等。
SYCLomatic是一個GitHub項目。GitHub門戶網站擁有一個“contributing.md”指南,描述了向項目提供技術貢獻的步驟,以確保最大程度的便捷。鼓勵開發人員使用該工具,提供反饋并做出貢獻,以推動該工具的發展。
CRK-HACC是一個正在開發的N體宇宙學模擬代碼。為了給極光(Aurora)超級計算機做好準備,英特爾DPC++兼容性工具能讓我們將20多個核心快速遷移到SYCL。由于當前版本的代碼遷移工具不支持遷移到仿函數,我們編寫了一個簡單的clang工具來重構生成的SYCL源代碼,以滿足我們的需求。通過開源SYCLomatic項目,我們計劃整合此前的工作,以獲得更強大的解決方案,并助力讓仿函數成為可用遷移選項的一部分。
——Steve(Esteban)Rangel
HACC(硬件/混合加速宇宙學代碼)
宇宙物理學和先進計算(anl.gov)
原文標題:英特爾開源SYCLomatic遷移工具,助力開發者創建異構代碼
文章出處:【微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
英特爾
+關注
關注
61文章
10007瀏覽量
172152 -
代碼
+關注
關注
30文章
4823瀏覽量
68904 -
開源工具
+關注
關注
0文章
27瀏覽量
4512
原文標題:英特爾開源SYCLomatic遷移工具,助力開發者創建異構代碼
文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論