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żejnastę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óreprogramamidlaurzą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