2010-12-14 16 views

risposta

17

Sì; ma la dimensione di un bool è non definita. Pertanto, non ha un tipo di API associato (come le dimensioni che il valore deve essere dipende dal dispositivo).

Vedere la sezione 6.1.1 Dati scalari incorporati Tipo della specifica OpenCL 1.1 per un elenco di tipi scalari supportati.

dalla sezione 6.8.k

Argomenti da __kernel funzioni in un programma non possono essere dichiarati con il built-in scalari tipi bool, la metà, size_t, ptrdiff_t, intptr_t e uintptr_t. La dimensione in byte di questi tipi tranne la metà è definita dall'implementazione e inoltre è possibile che sia diverso per il dispositivo OpenCL e il processore host che rende difficile il allocare gli oggetti buffer da passare come argomenti a un kernel dichiarato come puntatore a questi tipo

+3

Sono confuso, c'è un tipo di bool ma non riesco a usarlo? – smuggledPancakes

+10

È possibile utilizzarlo _in_ un kernel, ma non per i trasferimenti o gli accessi tra l'host e il codice OpenCL su un dispositivo di calcolo, in quanto la dimensione non è definita in modo flessibile. – grrussel