GPU programmēšanas salīdzinājums CUDA, ROCm un OpenCL saskarnēs
Author
Kļaviņš, Artūrs
Co-author
Latvijas Universitāte. Eksakto zinātņu un tehnoloģiju fakultāte
Advisor
Seļāvo, Leo
Date
2025Metadata
Show full item recordAbstract
Bakalaura darbā gan teorētiski, gan praktiski apskatītas CUDA, ROCm un OpenCL plašlietojuma skaitļošanas platformas grafiskajiem procesoriem. Nvidia videokartes, CUDA ir pasaulē vadošais risinājums augstas veiktspējas un paralēlās skaitļošanas vajadzībām, tāpēc darbā ar CUDA platformu salīdzinātas AMD izstrādātā ROCm un Khronos OpenCL, kuras piedāvā līdzīgu vai pat plašāku funkcionalitāti. Analizētas platformu programmatūras iespējas un ierobežojumi atbalstītajā aparatūrā. Apsvērti nosacījumi labai etalonuzdevumu izstrādei, un tie ieviesti ar diviem dažādiem programmu risinājumiem katrā platformā. Izmērīti dažādi veiktspējas rādītāji, kā rezultātā noskaidrots, ka CUDA ir par 2% - 3% efektīvāka nekā ROCm un par 7% - 30% nekā OpenCL. In this bachelor's thesis the general-purpose GPU programming platforms CUDA, ROCM, and OpenCL are explored both theoretically and practically. Nvidia's GPUs and CUDA are the leading solution for high-performance and parallel computing tasks. That is why this paper compares the CUDA platform against AMD's ROCm and Khronos Group's OpenCL, both of which offer similar or even broader functionality. Each platform's software capabilities and restrictions are analyzed. The best practices of GPU benchmarking are discussed and implemented in two programs, from which multiple different performance metrics are measured. In result, CUDA is found to be 2% - 3% more efficient than ROCm and 7% - 30% than OpenCL.