SYCLomatic開放開發(fā),使開發(fā)者自由創(chuàng)建可遷移的異構(gòu)代碼。
英特爾發(fā)布了一項(xiàng)開源工具,該工具可通過名為SYCLomatic的項(xiàng)目,將代碼遷移至SYCL①,這有助于開發(fā)者更輕松地將CUDA代碼遷移到SYCL和C++,從而加速面向異構(gòu)架構(gòu)的跨架構(gòu)編程。這個(gè)開源項(xiàng)目能讓開發(fā)社區(qū)共同協(xié)作,以推動(dòng)SYCL標(biāo)準(zhǔn)的采用,這是將開發(fā)者從單個(gè)廠商的封閉生態(tài)系統(tǒng)中解放出來的關(guān)鍵一步。
使用SYCL將代碼遷移至C++,為代碼提供了更強(qiáng)的ISO C++一致性,支持多家供應(yīng)商以緩解供應(yīng)商鎖定問題,并且支持多種架構(gòu),為充分運(yùn)用新的硬件創(chuàng)新提供靈活性。SYCLomatic是一個(gè)可實(shí)現(xiàn)大部分工作自動(dòng)化的寶藏工具,讓開發(fā)者能更多地關(guān)注定制化調(diào)優(yōu),而不是遷移代碼。
——James Reinders
英特爾oneAPI專家
在硬件創(chuàng)新為計(jì)算帶來多樣化異構(gòu)架構(gòu)的同時(shí),軟件開發(fā)也已經(jīng)變得越來越復(fù)雜,很難充分釋放CPU和加速器的價(jià)值。如今的開發(fā)者及其團(tuán)隊(duì)普遍缺乏時(shí)間、金錢和資源,以適應(yīng)代碼的重寫和測(cè)試,為這些不同的架構(gòu)提升應(yīng)用的性能。開發(fā)者正在尋求開放替代方案,以提升時(shí)間價(jià)值。英特爾正在提供一種更簡(jiǎn)單、更快捷的方式,讓開發(fā)者進(jìn)行硬件選擇。
SYCL是一種基于C++的Khronos Group標(biāo)準(zhǔn),它擴(kuò)展了C++功能以支持多種架構(gòu)和非共享內(nèi)存的配置。為啟動(dòng)該項(xiàng)目,英特爾開源了其DPC++兼容性工具背后的技術(shù),以進(jìn)一步提升遷移能力,生成更多基于SYCL的應(yīng)用。跨架構(gòu)重復(fù)利用代碼簡(jiǎn)化了開發(fā)工作,減少了持續(xù)維護(hù)代碼所需的時(shí)間和成本。
利用帶有LLVM差異化的Apache 2.0許可證,托管在GitHub上的SYCLomatic項(xiàng)目為開發(fā)者提供了一個(gè)社區(qū),讓他們能做出貢獻(xiàn)并提供反饋,以進(jìn)一步開放跨CPU、GPU和FPGA的異構(gòu)開發(fā)。
SYCLomatic協(xié)助開發(fā)者將CUDA代碼遷移到SYCL,通??梢詫?0-95%的CUDA代碼自動(dòng)遷移到SYCL代碼②。開發(fā)人員僅需手動(dòng)編程剩余的工作,然后對(duì)特定架構(gòu)進(jìn)行定制化調(diào)優(yōu),達(dá)到所需的性能級(jí)別,便可完成這一過程。
研究機(jī)構(gòu)及英特爾客戶已成功地使用英特爾 DPC++兼容性工具,該工具采用與SYCLomatic相同的技術(shù),能將CUDA代碼遷移到多個(gè)廠商架構(gòu)上的SYCL(或Data Parallel C++,oneAPI的SYCL實(shí)現(xiàn))。這些案例包括斯德哥爾摩大學(xué)的GROMACS 2022③、柏林祖思研究所(ZIB)的easyWave、三星Medison和Bittware(更多案例請(qǐng)?jiān)L問oneAPI DevSummit)。許多客戶也正在測(cè)試當(dāng)前和即將推出的基于英特爾 Xe 架構(gòu)GPU的代碼,包括阿貢國(guó)家實(shí)驗(yàn)室的極光(Aurora)超級(jí)計(jì)算機(jī)、萊布尼茨超級(jí)計(jì)算中心(LRZ)、GE醫(yī)療等。
SYCLomatic是一個(gè)GitHub項(xiàng)目。GitHub門戶網(wǎng)站擁有一個(gè)“contributing.md”指南,描述了向項(xiàng)目提供技術(shù)貢獻(xiàn)的步驟,以確保最大程度的便捷。鼓勵(lì)開發(fā)人員使用該工具,提供反饋并做出貢獻(xiàn),以推動(dòng)該工具的發(fā)展。
CRK-HACC是一個(gè)正在開發(fā)的N體宇宙學(xué)模擬代碼。為了給極光(Aurora)超級(jí)計(jì)算機(jī)做好準(zhǔn)備,英特爾DPC++兼容性工具能讓我們將20多個(gè)核心快速遷移到SYCL。由于當(dāng)前版本的代碼遷移工具不支持遷移到仿函數(shù),我們編寫了一個(gè)簡(jiǎn)單的clang工具來重構(gòu)生成的SYCL源代碼,以滿足我們的需求。通過開源SYCLomatic項(xiàng)目,我們計(jì)劃整合此前的工作,以獲得更強(qiáng)大的解決方案,并助力讓仿函數(shù)成為可用遷移選項(xiàng)的一部分。
——Steve(Esteban)Rangel
HACC(硬件/混合加速宇宙學(xué)代碼)
宇宙物理學(xué)和先進(jìn)計(jì)算(anl.gov)
原文標(biāo)題:英特爾開源SYCLomatic遷移工具,助力開發(fā)者創(chuàng)建異構(gòu)代碼
文章出處:【微信公眾號(hào):英特爾中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
英特爾
+關(guān)注
關(guān)注
61文章
9995瀏覽量
172030 -
代碼
+關(guān)注
關(guān)注
30文章
4808瀏覽量
68815 -
開源工具
+關(guān)注
關(guān)注
0文章
27瀏覽量
4509
原文標(biāo)題:英特爾開源SYCLomatic遷移工具,助力開發(fā)者創(chuàng)建異構(gòu)代碼
文章出處:【微信號(hào):英特爾中國(guó),微信公眾號(hào):英特爾中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論