Details

Primerjava univerzalnih knjižnic za grafične pospeševalnike
ID OREL, MATEJ (Author), ID Lotrič, Uroš (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (681,92 KB)
MD5: 75C957AA65576078B34DCF81CB5BDA94

Abstract
V diplomski nalogi predstavimo in primerjamo tri knjižnice za programiranje heterogenih sistemov: Kokkos, SYCL z implementacijo AdaptiveCpp in CUDA. Glavni izziv pri razvoju visoko zmogljivih aplikacij je zagotavljanje prenosljivosti kode med različnimi arhitekturami grafičnih pospeševalnikov, pri čemer skušamo dosegati najvišjo zmogljivost. Pri tem se moramo programerji odločiti, ali nam večjo prednost predstavlja enostavnejša izvedba v univerzalnih ogrodjih in s tem prenosljivost programa, ali najvišja zmogljivost v namenskem ogrodju za eno arhitekturo. Implementirali in testirali smo algoritma množenja matrik in bitoničnega urejanja na grafičnih karticah Nvidia RTX 3070 in AMD Radeon VII. Rezultati kažejo, da sta si ogrodji Kokkos in SYCL konkurenčni v času izvajanja in podobni pri programiranju, medtem ko je ogrodje CUDA nizkonivojska rešitev in za grafične pospeševalnike Nvidia ostaja najbolj optimizirana. Opazili smo, da večjo razliko v smislu časa izvajanja prinese pravilna izbira arhitekture grafičnega pospeševalnika za določen algoritem, kot pa izbira ene izmed primerjanih univerzalnih knjižnic.

Language:Slovenian
Keywords:grafični pospeševalnik, Kokkos, SYCL, AdaptiveCpp, CUDA, množenje matrik, bitonično urejanje, heterogeni sistemi, vzporedno izvajanje
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2025
PID:20.500.12556/RUL-167527 This link opens in a new window
COBISS.SI-ID:228252419 This link opens in a new window
Publication date in RUL:26.02.2025
Views:93
Downloads:12
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Comparison of universal libraries for graphics accelerators
Abstract:
In this thesis, we present and compare three libraries for programming heterogeneous systems: Kokkos, SYCL with the AdaptiveCpp implementation, and CUDA. The main challenge in developing high-performance applications lies in ensuring code portability across different GPU architectures, while also striving for maximum performance. Consequently, developers must choose whether to prioritize simpler development in universal frameworks, thereby enhancing program portability, or opt for the highest performance in a specialized framework for a single architecture. We implemented and tested matrix multiplication and bitonic sorting algorithms on the Nvidia RTX 3070 and AMD Radeon VII graphics cards. The results show that Kokkos and SYCL are competitive in terms of execution time and similar in programming style, whereas CUDA is a low-level solution that remains the most optimized for the Nvidia hardware. We observed that selecting the right GPU architecture for a given algorithm generally has a greater impact on execution time than the choice between the universal libraries under comparison.

Keywords:GPU, Kokkos, SYCL, AdaptiveCpp, CUDA, matrix multiplication, bitonic sort, heterogeneous systems, parallel execution

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back