2010-12-14 47 views

Répondre

17

Oui; mais la taille d'un bool est pas défini. Par conséquent, il n'a pas de type d'API associé (la taille de la valeur dépend du périphérique).

Voir la section 6.1.1 Données scalaires intégrées Type de la spécification OpenCL 1.1 pour une liste des types scalaires pris en charge.

De Section 6.8.k

Arguments à __kernel fonctions dans un programme ne peuvent pas être déclarés avec le haut- types scalaires bool, la moitié, size_t, ptrdiff_t, intptr_t et uintptr_t. La taille en octets de ces types sauf la moitié est définie par l'implémentation et peut également être différente pour le périphérique OpenCL et le processeur hôte rendant difficile allouer des objets tampon à passer en arguments à un noyau déclaré comme pointeur vers ces type

+3

Je suis confus, il y a un type bool mais je ne peux pas l'utiliser? – smuggledPancakes

+10

Vous pouvez l'utiliser dans un noyau, mais pas pour les transferts ou les accès entre l'hôte et le code OpenCL sur un périphérique de calcul, car la taille n'est pas définie de façon portable. – grrussel