diplomsko delo
Matej Orel (Avtor), Uroš Lotrič (Mentor)

Povzetek

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.

Ključne besede

grafični pospeševalnik;Kokkos;SYCL;AdaptiveCpp;CUDA;množenje matrik;bitonično urejanje;heterogeni sistemi;vzporedno izvajanje;visokošolski strokovni študij;diplomske naloge;

Podatki

Jezik: Slovenski jezik
Leto izida:
Tipologija: 2.11 - Diplomsko delo
Organizacija: UL FRI - Fakulteta za računalništvo in informatiko
Založnik: [M. Orel]
UDK: 004(043.2)
COBISS: 228252419 Povezava se bo odprla v novem oknu
Št. ogledov: 56
Št. prenosov: 9
Ocena: 0 (0 glasov)
Metapodatki: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Ostali podatki

Sekundarni jezik: Angleški jezik
Sekundarni naslov: Comparison of universal libraries for graphics accelerators
Sekundarni povzetek: 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.
Sekundarne ključne besede: graphics accelerators;GPU;Kokkos;SYCL;AdaptiveCpp;CUDA;matrix multiplication;bitonic sort;heterogeneous systems;parallel execution;computer science;diploma;
Vrsta dela (COBISS): Diplomsko delo/naloga
Študijski program: 1000470
Konec prepovedi (OpenAIRE): 1970-01-01
Komentar na gradivo: Univ. v Ljubljani, Fak. za računalništvo in informatiko
Strani: 1 spletni vir (1 datoteka PDF (48 str.))
ID: 25974304