Est-ce que openCL supporte les variables booléennes? J'utilise actuellement JOCL (java) pour écrire mon code d'appel openCL et je ne vois rien sur les booléens.Est-ce que opencl supporte les variables booléennes?
7
A
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
Je suis confus, il y a un type bool mais je ne peux pas l'utiliser? – smuggledPancakes
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