Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
22
2.StandardOpenCL
systememgoszczącym.ZapomocąAPIOpenCLprzygotowujemydodatkowynowy
program,któryjestprzekazywanydowykonanianainnymurządzeniuobliczenio-
wym.Inaczejmówiąc,napoziomiehostanastępujeprzygotowanietzw.jądraobli-
czeniowegobądźteżproceduryobliczeniowej.Systemgoszczącyzlecawykonanie
przygotowanejproceduryobliczeniowejdourządzeniaobliczeniowegoOpenCL.
Urządzeniaobliczeniowedysponująwłasnymjęzykiemprogramowaniaonazwie
OpenCLC,któryjestpodobnydojęzykaC.Inaczejprzedstawiasiętakżesposóbwy-
konywaniaprogramównapisanychdlaurządzeniaobliczeniowego.Dostępnychjest
bowiemwielejednostekprzetwarzających,naktórychwykonujesięwielewątków,
realizującychobliczeniazleconeprzezproceduryobliczeniowe.
Głównymelementem,jakisięwykorzystujewprocedurachobliczeniowych,jest
tzw.siatkaobliczeniowa(ang.computationalgrid).Zapomocąsiatkiokreślasięspo-
sóbpodziałudanychnaposzczególnerdzenieobliczeniowe.WprzypadkuOpenCL
siatkaobliczeniowamożemiećstrukturęjedno-,dwu-lubtrójwymiarową.Struktu-
rajednowymiarowajestreprezentowanaprzezwektor,wtedyprzybierakształtli-
nii.Drugiprzypadektostrukturadwuwymiarowasiatkiobliczeniowej,czylikształt
prostokątalubkwadratu.Trzeciamożliwośćtostrukturatrójwymiarowa,czylipro-
stopadłościan.Narysunku2.3przedstawionotrzypodstawowekształty,jakiemoże
przyjąćsiatkaobliczeniowa.
Siatkaobliczeniowawpostacilinii
globalsize–16elementów
localsize–4elementy
workgroup–4grupy
Siatkaobliczeniowadwuwymiarowa
globalsize–siatka8×8elementów
localsize–siatka4×4elementy
workgroup–siatka2×2grupy
Siatkaobliczeniowatrójwymiarowa
globalsize–siatka8×8elementówogłębokości4
localsize–siatka4×4elementyogłębokości1
workgroup–siatka2×2grupyogłębokości4
Rys.2.3.Trzypodstawowestrukturyprzestrzeniindeksującejdane(siatkiobliczeniowej)dla
jąderobliczeniowychOpenCL