Fonctions en ligne définies par l'utilisateur OpenCL
Est-il possible de définir mes propres fonctions en OpenCL code, afin que les grains pourrait les appeler? Oui, où puis-je voir quelques exemple simple?
source d'informationauteur dmessf
Vous devez vous connecter pour publier un commentaire.
Fonction utilisée pour créer un programme ...
Vous pouvez placer des fonctions à l'intérieur de la chaînes paramètre comme ceci,
Maintenant, vous avez une fonction définie par l'utilisateur "AddVector" et une fonction noyau "VectorAdd"
Basé sur les exemples de code ici vous pouvez simplement écrire des fonctions comme:
(Eg. regardez la .cl fichier dans le DXTC ou bitonic de tri des exemples).
Je ne sais pas si c'est une nvidia ne l'extension mais le OpenCL documentation parle de "fonctions auxiliaires" ainsi que les noyaux.
OpenCL prend en charge les fonctions auxiliaires. Voir la page 19 de ce lien pour des exemples.
J'ai googlé un peu, et n'arrêtait pas de revenir à cette question 😛
En fin de compte, ce que j'ai fait de l'utilisation de macros, depuis l'in-lining serait dépendant de l'implémentation de toute façon, et les macros ne semblent pas avoir tout inconvénient majeur dans le contexte de c99 OpenCL programmes? par exemple:
au lieu de: