<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 業(yè)界動(dòng)態(tài) > 英特爾開(kāi)源SYCLomatic遷移工具,助力開(kāi)發(fā)者創(chuàng )建異構代碼

英特爾開(kāi)源SYCLomatic遷移工具,助力開(kāi)發(fā)者創(chuàng )建異構代碼

—— SYCLomatic開(kāi)放開(kāi)發(fā),使開(kāi)發(fā)者自由創(chuàng )建可遷移的異構代碼
作者: 時(shí)間:2022-05-24 來(lái)源:電子產(chǎn)品世界 收藏


本文引用地址:http://dyxdggzs.com/article/202205/434422.htm

1653381861881472.png

發(fā)布了一項開(kāi)源工具,該工具可通過(guò)名為的項目,將代碼遷移至SYCL1,這有助于開(kāi)發(fā)者更輕松地將CUDA代碼遷移到SYCL和C++,從而加速面向異構架構的跨架構編程。這個(gè)開(kāi)源項目能讓開(kāi)發(fā)社區共同協(xié)作,以推動(dòng)SYCL標準的采用,這是將開(kāi)發(fā)者從單個(gè)廠(chǎng)商的封閉生態(tài)系統中解放出來(lái)的關(guān)鍵一步。

oneAPI專(zhuān)家James Reinders表示:“使用SYCL將代碼遷移至C++,為代碼提供了更強的ISO C++一致性,支持多家供應商以緩解供應商鎖定問(wèn)題,并且支持多種架構,為充分運用新的硬件創(chuàng )新提供靈活性。是一個(gè)可實(shí)現大部分工作自動(dòng)化的寶藏工具,讓開(kāi)發(fā)者能更多地關(guān)注定制化調優(yōu),而不是遷移代碼?!?/p>

在硬件創(chuàng )新為計算帶來(lái)多樣化異構架構的同時(shí),軟件開(kāi)發(fā)也已經(jīng)變得越來(lái)越復雜,很難充分釋放CPU和加速器的價(jià)值。如今的開(kāi)發(fā)者及其團隊普遍缺乏時(shí)間、金錢(qián)和資源,以適應代碼的重寫(xiě)和測試,為這些不同的架構提升應用的性能。開(kāi)發(fā)者正在尋求開(kāi)放替代方案,以提升時(shí)間價(jià)值。正在提供一種更簡(jiǎn)單、更快捷的方式,讓開(kāi)發(fā)者進(jìn)行硬件選擇。

SYCL是一種基于C++的Khronos Group標準,它擴展了C++功能以支持多種架構和非共享內存的配置。為啟動(dòng)該項目,英特爾開(kāi)源了其DPC++兼容性工具背后的技術(shù),以進(jìn)一步提升遷移能力,生成更多基于SYCL的應用??缂軜嬛貜屠么a簡(jiǎn)化了開(kāi)發(fā)工作,減少了持續維護代碼所需的時(shí)間和成本。

利用帶有LLVM差異化的Apache 2.0許可證,托管在GitHub上的項目為開(kāi)發(fā)者提供了一個(gè)社區,讓他們能做出貢獻并提供反饋,以進(jìn)一步開(kāi)放跨CPU、GPU和FPGA的異構開(kāi)發(fā)。

SYCLomatic協(xié)助開(kāi)發(fā)者將CUDA代碼遷移到SYCL,通??梢詫?0-95%的CUDA代碼自動(dòng)遷移到SYCL代碼2。開(kāi)發(fā)人員僅需手動(dòng)編程剩余的工作,然后對特定架構進(jìn)行定制化調優(yōu),達到所需的性能級別,便可完成這一過(guò)程。

研究機構及英特爾客戶(hù)已成功地使用英特爾? DPC++兼容性工具,該工具采用與SYCLomatic相同的技術(shù),能將CUDA代碼遷移到多個(gè)廠(chǎng)商架構上的SYCL(或Data Parallel C++,oneAPI的SYCL實(shí)現)。這些案例包括斯德哥爾摩大學(xué)的GROMACS 20223、柏林祖思研究所(ZIB)的easyWave、三星Medison和Bittware(更多案例請訪(fǎng)問(wèn)oneAPI DevSummit)。許多客戶(hù)也正在測試當前和即將推出的基于英特爾? Xe架構GPU的代碼,包括阿貢國家實(shí)驗室的極光(Aurora)超級計算機、萊布尼茨超級計算中心(LRZ)、GE醫療等。

SYCLomatic 是一個(gè)GitHub項目。GitHub門(mén)戶(hù)網(wǎng)站擁有一個(gè)“contributing.md”指南,描述了向項目提供技術(shù)貢獻的步驟,以確保最大程度的便捷。鼓勵開(kāi)發(fā)人員使用該工具,提供反饋并做出貢獻,以推動(dòng)該工具的發(fā)展。

HACC(硬件/混合加速宇宙學(xué)代碼)、宇宙物理學(xué)和先進(jìn)計算(anl.gov)的Steve(Esteban)Rangel表示:“CRK-HACC是一個(gè)正在開(kāi)發(fā)的N體宇宙學(xué)模擬代碼。為了給極光(Aurora)超級計算機做好準備,英特爾DPC++兼容性工具能讓我們將20多個(gè)核心快速遷移到SYCL。由于當前版本的代碼遷移工具不支持遷移到仿函數,我們編寫(xiě)了一個(gè)簡(jiǎn)單的clang工具來(lái)重構生成的SYCL源代碼,以滿(mǎn)足我們的需求。通過(guò)開(kāi)源SYCLomatic項目,我們計劃整合此前的工作,以獲得更強大的解決方案,并助力讓仿函數成為可用遷移選項的一部分?!?/p>



關(guān)鍵詞: 英特爾 SYCLomatic 異構代碼

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>