Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
3.1.Typydanych
33
Tabela3.2.TabelaodpowiednikówtypówOpenCLCorazAPIOpenCL
bool
char
unsignedchar
short
unsignedshort
int
unsignedint
long
unsignedlong
float
double
half
size-t
ptrdiff-t
intptr-t
uintptr-t
void
TypOpenCLC
brakodpowiednika
cl-char
cl-uchar
cl-short
cl-ushort
cl-int
cl-uint
cl-long
cl-ulong
cl_float
cl-double
cl-half
brakodpowiednika
brakodpowiednika
brakodpowiednika
brakodpowiednika
void
TypAPIOpenCL
Defnicjatawłączywmomenciekompilacjijądraobliczeniowegoobsługęliczb
opodwójnejprecyzji.Możnatakżewprowadzićodpowiedniemakropodczaskom-
pilacjizapomocąclBuildProgram,np.--DOUBLE-TYPE-SUPPORTED--iw-
drzeobliczeniowymzapomocą#ifdefmożliwajestwarunkowakompilacjatego
typudanych.Ogólnieliczbytypudoubletraktowanejakorozszerzenie,dlatego,
żepierwszekartygrafczneobsługiwałytylkoliczbytypufloat,aobsługaliczbypo-
dwójnejprecyzjipojawiłasiępóźniej.Więcejinformacjinatematdefnicji#pragma
podanowrozdz.3.7.
3.1.2.Typywektorowe
DodatkiemdotypówskalarnychobsługiwanychprzezOpenCLtypywektorowe
opartenapodstawowychtypachskalarnych.AnalogiczniepostronieAPIOpenCL
przygotowanoodpowiednitypdlałatwiejszejkomunikacjimiędzyurządzeniemobli-
czeniowymasystememgospodarza.
Typywektorowe,jakpokazanotowtab.3.3,określonedlawszystkichpod-
stawowychtypówskalarnych,różniąsięwielkością,choćdługośćwektorajestściśle
określonaimożeprzybieraćwartości2,3,4,8,16.Jednakniekażdeurządzenie
musirealizowaćdziałanianapodanychdługościachwektorabezpośrednionapozio-
miesprzętowym.Wtrakciekompilacjijądraobliczeniowegozostaniewygenerowany
odpowiednikod,któryzapewnipoprawnośćdziałańnawektorzeowiększejdługości