php高級(jí)程序設(shè)計(jì) 模式 框架與測(cè)試 英特爾開(kāi)源工具加速面向異構(gòu)架構(gòu)的跨架構(gòu)編程(圖)php高級(jí)程序設(shè)計(jì)模式,框架與測(cè)試
2022-07-17
英特爾發(fā)布了一個(gè)開(kāi)源工具,使開(kāi)發(fā)人員能夠通過(guò)名為 Code to - for 的項(xiàng)目更輕松地將 CUDA 代碼遷移到 SYCL 和 C++。這個(gè)開(kāi)源項(xiàng)目使開(kāi)發(fā)社區(qū)能夠共同努力推動(dòng) SYCL 標(biāo)準(zhǔn)的采用,這是將開(kāi)發(fā)人員從單一供應(yīng)商的封閉生態(tài)系統(tǒng)中解放出來(lái)的關(guān)鍵一步。
英特爾專家表示:“使用 SYCL 將代碼遷移到 C++ 為代碼提供了更強(qiáng)大的 ISO
C++ 一致性,支持多個(gè)供應(yīng)商以減輕供應(yīng)商鎖定,并支持多種架構(gòu),提供利用新硬件創(chuàng)新的靈活性。這是一個(gè)使大部分工作自動(dòng)化的寶庫(kù),允許開(kāi)發(fā)人員更多地關(guān)注自定義調(diào)整而不是遷移代碼。"
雖然硬件創(chuàng)新為計(jì)算帶來(lái)了多樣化的異構(gòu)架構(gòu),但軟件開(kāi)發(fā)變得越來(lái)越復(fù)雜,難以充分釋放 CPU 和加速器的價(jià)值。今天的開(kāi)發(fā)人員及其團(tuán)隊(duì)通常缺乏時(shí)間、金錢(qián)和資源來(lái)適應(yīng)代碼重寫(xiě)和測(cè)試以提高這些不同架構(gòu)的應(yīng)用程序性能。開(kāi)發(fā)人員正在尋找開(kāi)放的替代方案來(lái)增加時(shí)間的價(jià)值。英特爾正在提供一種更簡(jiǎn)單、更快捷的方式讓開(kāi)發(fā)人員做出硬件選擇。
SYCL 是基于 C++ 的
擴(kuò)展 C++ 功能以支持非共享內(nèi)存的多種體系結(jié)構(gòu)和配置的標(biāo)準(zhǔn)。為了啟動(dòng)該項(xiàng)目,英特爾開(kāi)源了其 DPC++ 兼容性工具背后的技術(shù),以進(jìn)一步提高遷移能力并生成更多基于 SYCL 的應(yīng)用程序??缂軜?gòu)重用代碼可簡(jiǎn)化開(kāi)發(fā)并減少持續(xù)代碼維護(hù)的時(shí)間和成本。
利用具有 LLVM 差異化的 2.0 許可證,該項(xiàng)目托管在 . 結(jié)構(gòu)發(fā)展。
協(xié)助開(kāi)發(fā)者將CUDA代碼遷移到SYCL,通常90-95%的CUDA代碼可以自動(dòng)遷移到SYCL代碼 2. 開(kāi)發(fā)者只需要手動(dòng)編程剩下的工作,然后自定義調(diào)優(yōu)特定架構(gòu)即可達(dá)到預(yù)期的性能水平完成該過(guò)程。
研究機(jī)構(gòu)和英特爾客戶已成功使用英特爾? DPC++ 兼容性工具php高級(jí)程序設(shè)計(jì) 模式 框架與測(cè)試,該工具使用相同的技術(shù)將 CUDA 代碼遷移到多個(gè)供應(yīng)商架構(gòu)上的 SYCL(或 Data C++,SYCL 實(shí)現(xiàn))。這些案例包括斯德哥爾摩大學(xué)、柏林 Zuse 研究所 (ZIB)、三星和(更多案例在這里)。許多客戶還在當(dāng)前和即將推出的英特爾? Xe 架構(gòu) GPU 上測(cè)試代碼,包括阿貢國(guó)家實(shí)驗(yàn)室的 () 超級(jí)計(jì)算機(jī)、萊布尼茨超級(jí)計(jì)算中心 (LRZ)、GE 等。
是一個(gè)項(xiàng)目。該門(mén)戶網(wǎng)站有一個(gè)“.md”指南,描述了為項(xiàng)目做出技術(shù)貢獻(xiàn)的步驟php高級(jí)程序設(shè)計(jì) 模式 框架與測(cè)試,以確保最大程度的便利。鼓勵(lì)開(kāi)發(fā)人員使用該工具、提供反饋并為推進(jìn)該工具的開(kāi)發(fā)做出貢獻(xiàn)。
HACC (/ Code), and () 的 () 表示:“CRK-HACC 是一個(gè)正在開(kāi)發(fā)中的 N 體宇宙學(xué)模擬代碼。為準(zhǔn)備 () 超級(jí)計(jì)算機(jī),英特爾 DPC++ 兼容性工具可以讓我們快速遷移20多個(gè)內(nèi)核到SYCL,由于當(dāng)前版本的代碼遷移工具不支持遷移到網(wǎng)站建設(shè),所以我們寫(xiě)了一個(gè)簡(jiǎn)單的工具來(lái)重構(gòu)生成的SYCL源代碼以滿足我們的需求。通過(guò)開(kāi)源項(xiàng)目網(wǎng)站優(yōu)化,我們計(jì)劃整合以前的工作以獲得更強(qiáng)大的解決方案,并幫助使函子成為可用遷移選項(xiàng)的一部分?!?/p>