Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
3
Językprogramowaniadostępny
wOpenCL
Tworzenieproceduryobliczeniowejalbojądraobliczeniowego(ang.computation
kernel)wramachstandarduOpenCLjestrealizowanewjęzykuprogramowania,któ-
ryzostałopartynastandardzieISOjęzykaC,adokładniejesttostandardC99ozna-
czonyISO/IEC9899:1999.
CoprawdaniemamydodyspozycjicałegojęzykaCwrazzbibliotekąfunkcji
standardowych,jednakże,tworzącproceduryobliczeniowe,możemydośćswobod-
nieposługiwaćsięwielomaelementamijęzykaC.Obecnyjestteżpreprocesor.Choć
takżeistotneograniczenia,np.niemamożliwościbudowyfunkcjirekurencyjnych.
Dodatkowo,jaknarazie,niemadostępuchoćbydowybranychelementówjęzyka
C++,jakprzeciążanieoperatorówczywzorców.WOpenCListniejąteżdodatkowe
konstrukcje,jakieniewystępująwstandardowymjęzykuC.
WtymrozdzialeprzedstawionoodmianęjęzykaCstosowanąwramachstan-
darduOpenCL,awszczególnościdodatkoweelementydostępnedotworzenia
procedurobliczeniowych.Wieleinformacjiopodstawowychtypachmożnatakże
odszukaćwofcjalnymopisiestandarduOpenCL,dostępnymnastronieorganizacji
Khronos.
IstniejekilkastandardówOpenCL,jakiemożnaspotkaćwdostępnychurządze-
niachwspółpracującychzOpenCL.towersjeonumerach1.0,1.1,1.2.Standardy
1.1oraz1.2najbardziejpopularne.Opracowanyzostałteżstandard2.0,choćjak
narazie(rok2014)niemajeszczeurządzeń,któregoobsługują.
Informacjepodanewdalszejczęściksiążkizostałytakprzygotowane,abybyłyjak
najbardziejuniwersalne,mimożezabazęzostałwybranystandard1.2.Jeślioma-
wianezagadnieniedotyczyjakieśszczególnejwersjistandarduOpenCL,zostałoto
wyraźniepodkreślone.
3.1.Typydanych
OpenCLoferujekilkarodzajówtypówdanychpodstawowetotypyskalarneoraz
wektorowe.Jednakżetakżedostępnedodatkowetypydoobsługiobrazów,któ-
repozwalająwdośćprostysposóbwdrażaćoperacjezwiązanezprzetwarzaniem
grafki.