英偉達(dá)在高性能計算領(lǐng)域的主導(dǎo)地位很大程度上依賴基于CUDA的解決方案,為此AMD通過一個名為GPUFORT的項目提供了代碼。據(jù)itsfoss介紹,該項目屬于Radeon Open eCosystem(ROCm),以幫助大型CUDA代碼庫可以在英偉達(dá)生態(tài)系統(tǒng)之外工作。
英偉達(dá)的解決方案極大地限制了開發(fā)人員尋找替代方案,影響遷移工作,AMD很長時間內(nèi)一直在努力,幫助開發(fā)人員將盡可能多的CUDA特定代碼遷移到Radeon開源計算堆棧支持的接口。AMD在此前的項目里同時使用了C和C++代碼,GPUFORT不同之處在于將基于基于OpenACC的CUDA Fortran和Fortan代碼轉(zhuǎn)換為OpenMP 4.5+,以便在GPU或Fortran + HIP C++ 代碼上執(zhí)行。
據(jù)介紹,GPUFORT不是編譯器本身,而是執(zhí)行源到源轉(zhuǎn)換的Python代碼庫。同時GPUFORT不是一個完整的自動化解決方案,需要審查和手動更正基于CUDA的編碼生成的內(nèi)容。在當(dāng)前狀態(tài)下,僅用于將高性能計算(HPC)應(yīng)用程序轉(zhuǎn)換為AMD ROCm生態(tài)系統(tǒng)支持的兼容代碼格式。AMD的工程師承認(rèn),目前還在分析代碼的構(gòu)成,以提高編譯的準(zhǔn)確性,暫時沒有實現(xiàn)完整的OpenACC標(biāo)準(zhǔn)。
【來源:超能網(wǎng)】






