2010-12-14 15 views

Respuesta

17

Sí; pero el tamaño de un bool es no definido. Por lo tanto, no tiene un tipo de API asociado (ya que el tamaño del valor debe ser dependiente del dispositivo).

Consulte la sección 6.1.1 Tipo de datos escalares incorporados de la especificación OpenCL 1.1 para obtener una lista de los tipos escalares admitidos.

De la Sección 6.8.k

Argumentos a __kernel funciones en un programa no pueden ser declarados con el, medio, size_t, ptrdiff_t, intptr_t y uintptr_t incorporada tipos bool escalares. El tamaño de en bytes de estos tipos, excepto la mitad, están definidos por la implementación y además puede ser diferente para el dispositivo OpenCL y el procesador host que dificulta asignar objetos del búfer para pasarlos como argumentos a un kernel declarado como puntero a estos tipo

+3

Estoy confundido, hay un tipo bool pero no puedo usarlo? – smuggledPancakes

+10

Puede usarlo _en_ ​​un kernel, pero no para transferencias o accesos entre el host y el código OpenCL en un dispositivo de cómputo, ya que el tamaño no está definido de manera portable. – grrussel

Cuestiones relacionadas