Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.3.Modelwykonawczy
25
Obecnośćlokalnegoorazglobalnegoidentyfkatoraumożliwiarównieżobliczenie
identyfkatoragrupy:
WGID
x=(GID
x-LID
x)/WGS
x
WGID
y=(GID
y-LID
y)/WGS
y
WOpenCLorazwpodanychwdalszejczęściksiążkiprocedurachobliczenio-
wychniemapotrzebyobliczaniaposzczególnychidentyfkatorówosobno,istnieje
bowiemkilkafunkcji,zapomocąktórychmożnaodczytaćpotrzebneinformacje:
•get-global-id(intval),
•get-local-id(intval),
•get-num-groups(intval),
•get-group-size(intval),
•get-group-id(intval).
Dokładniejszeinformacjeotychfunkcjachzostałyprzedstawionewrozdz.3.6.
Podstawowepojęciaomówionepowyżejsąnastępujące(będziemypodawaćan-
gielskąnazwęorazpolskiodpowiednikstosowanywdalszejczęściksiążki):
•work-item(jednostkarobocza)–pojedynczywątekrealizującyjednąinstancję
proceduryobliczeniowej,
•work-group(gruparobocza)–zespółkilkunastujednostekroboczych,wramach
jednejgrupyposzczególnewątki/jednostkimogąsiękomunikowaćzapomocą
tzw.pamięcidzielonej,
•global-id(identyfkatorglobalny)–unikatowynumerprzydzielonykażdejjednost-
ceroboczej,
•local-id(identyfkatorlokalny)–unikatowynumerprzydzielonykażdejjednostce
roboczej,aletylkowobrębiegrupyroboczej.Inaczejmówiąc,numertenmoże
zostaćpowtórzonywinnejgrupieroboczej.
2.3.2.Kontekstobliczeńorazkolejkapoleceń
Kolejnympojęciem,jakiepojawiasięwstandardzieOpenCL,jesttzw.kontekstob-
liczeń.OkreślaonśrodowiskopracyOpenCL,obejmującurządzeniaobliczeniowe,
obiektyreprezentującejądraobliczeniowe,obiektyodnoszącesiędodanychumiesz-
czonychwpamięcioperacyjnejurządzeniaobliczeniowego,atakżeskompilowane
jądraobliczeniowe,któresąprogramamidlaurządzeniaobliczeniowego.
UtworzeniekontekstutozadaniedlaAPIOpenCLwykonywanezpoziomugo-
spodarza.KontekstzawszetworzysięwodniesieniudoplatformyOpenCL,jakajest
dostępnawramachsystemuOpenCL.
Jednymzważniejszychzadańkontekstujestutworzeniekolejkipoleceń.Sam
kontekstobliczeniowyjestwykorzystywanytylkodotworzeniaobiektów,natomiast
głównąfunkcjąkolejkipoleceńjestzlecaniezadańdowykonaniaprzezurządzenia
obliczeniowe.Najważniejszymzadaniemjestoczywiściewykonaniejądraoblicze-
niowego,alekolejkajestodpowiedzialnarównieżzaprzesyłaniedanychzpamięci
gospodarzadourządzeniaobliczeniowegoinaodwrót.Zadaniemkolejkijestwięc