Analiza performanci referentnih OpenCL implementacija

Primarna svrha grafičkih procesorskih jedinica je obrada računalne grafike, odnosno slika i videa. Grafička procesorska jedinica sastoji se od mnogo procesorskih elemenata koji imaju mogućnost raznih računalnih operacija. Iako centralna procesorska jedinica može brže izvršiti jednu operaciju zbog ve...

Full description

Bibliographic Details
Main Author: Grga, Ela
Other Authors: Sruk, Vlado
Format: Bachelor Thesis
Language:Croatian
Published: Sveučilište u Zagrebu. Fakultet elektrotehnike i računarstva. 2020
Subjects:
Online Access:https://zir.nsk.hr/islandora/object/fer:9354
https://urn.nsk.hr/urn:nbn:hr:168:022084
https://repozitorij.unizg.hr/islandora/object/fer:9354
https://repozitorij.unizg.hr/islandora/object/fer:9354/datastream/PDF
Description
Summary:Primarna svrha grafičkih procesorskih jedinica je obrada računalne grafike, odnosno slika i videa. Grafička procesorska jedinica sastoji se od mnogo procesorskih elemenata koji imaju mogućnost raznih računalnih operacija. Iako centralna procesorska jedinica može brže izvršiti jednu operaciju zbog veće brzine rada, GPU je taj koji množe istodobno izvoditi mnogo operacija. Mogućnost paralelnog izvođenja zadataka i izračuna čini GPU korisnim izvan računalne grafike. Jedan od načina iskorištavanja mogućnosti grafičke procesorske jedinice je OpenCL. OpenCL radni je okvir koji se koristi za paralelizaciju koda na uređajima poput GPU, FPGA pa čak i CPU. Moguće je koristiti OpenCL za paralelizaciju zadataka i paralelizaciju podataka odnosno paraleliziranu obradu skupine podataka. OpenCL kod napisan je u dva dijela, host kod i kod jezgrenih funkcija. Jezgrena funkcija predstavlja dio koda koji se želi paralelizirati. OpenCL jezgrene funkcije napisane u OpenCL C programskog jezika koji se razlikuje od C programskog jezika u ugradbenim funkcijama i dodatnim tipovima podataka. Ostatak koda može biti napisan u C ili C++ jezicima. Host kod izvršavat će se na CPU, a kod jezgrene funkcije na odabranom akceleratoru. OpenCL neće se koristiti za paralelizaciju jednostavnih zadataka koji se mogu vrlo jednostavno i brzo sami po sebi izvršiti ako su napisani u standardnom C-u. OpenCL koristit će se za zadatke znatnih skupova podataka nad kojima se treba izvršiti jedan ili više setova instrukcija. Na primjer računanje vrijednosti elemenata matrice dimenzija 1600x1600. Parametri GPU ne utječu vidljivo na izvedbu programa, ali je usporedbom vremena izvršavanja jezgrene funkcije pokazalo se da je najpovoljnije prilagodljivo napajanje, uključen shader cache i isključena niska latentnost. Primary purpose of graphics processing unit is computer graphics, that is processing images and videos. Graphics processing unit is made of many processing elements which have the ability to do diverse computations. Although the central processing unit ...