Comment configurer Xcode pour exécuter le code OpenCL et comment vérifier les noyaux avant de construire
Je suis en train de regarder la documentation officielle sur le site d'Apple, et je vois qu'il y a un démarrage rapide sur la façon d'utiliser OpenCL sur Xcode.
Peut-être que c'est juste moi, mais je n'avais aucune chance à construire le code qui est mentionné sur le "hello world "OCL".
J'ai commencé à Xcode et créé un projet vide; à la création d'un principal.c et un .cl fichier noyau, coller ce qui se trouve sur le site des développeurs Apple, et je ne suis pas en mesure de trouver quelque chose à construire, même après l'ajout d'une cible.
Le site de petite ANNONCE n'ont pas de projet à télécharger, donc je n'ai aucune idée sur la cause de la panne (il est peut-être moi le plus probable, ou le site supposer étapes et de ne pas les mentionner).
J'ai aussi essayé l'exemple de projet à partir de macresearch.org mais ils sont assez anciennes, et le projet de test dans la 3ème leçon n'est pas en cours d'exécution à tous.
Maintenant, je suis assez sûr que les autres le sont à l'aide de Xcode pour exécuter OCL code, mais je ne trouve aucune page unique (à l'exception de ladite macresearch.org) qui donne une vision claire de l'installation sur la façon d'exécuter un projet Xcode avec OCL. Quelqu'un est-il au courant d'un tutoriel qui montre comment travailler avec OCL et Xcode?
J'ai acheté 3 livres sur l'OCL (Gaster du calcul Hétérogène avec OpenCL, Scarpino de l'OpenCL dans l'action et Munshi de l'OpenCL guide de programmation), et ni mention comment configurer Xcode, alors qu'ils vont dans les détails pour l'installation de visual studio et de même pour l'éclipse de l'installation.
Sur le côté, est-il une application qui est capable de valider le code du noyau avant de l'exécuter dans l'OCL application?
Merci d'avance pour toute suggestion que vous pourriez avoir.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Réponse courte: https://developer.apple.com/library/mac/#documentation/Performance/Conceptual/OpenCL_MacProgGuide/XCodeHelloWorld/XCodeHelloWorld.html
Longue réponse pour la commande de paquebots:
Avec une récente Xcode (et Lion ou supérieur), vous n'avez même pas besoin d'appeler
clCreateProgramWithSource
il suffit d'écrire votre noyau et de l'appeler à partir de votre application, il y a d'autres étapes de la compilation nécessaire.Je prends le OpenCL Bonjour tout le Monde, exemple d'Apple ici par défaut à l'aide de drapeaux du compilateur (voir https://developer.apple.com/library/mac/#documentation/Performance/Conceptual/OpenCL_MacProgGuide/ExampleHelloWorld/Example_HelloWorld.html) et montrant les étapes Xcode ferait en arrière-plan.
Pour vous aider à démarrer, faites un:
Cela va créer 2 fichiers, monnoyau.cl.h et monnoyau.cl.c (et monnoyau.cl.c fait toute la magie de chargement de votre noyau dans l'application). Ensuite, vous aurez besoin de compiler le noyau:
Et dernier mais pas moins, de construire l'application elle-même:
Et c'est tout. Vous ne verrez pas de
clCreateProgramWithBinary
ouclCreateProgramWithSource
d'Apple dans le code de l'échantillon. Tout se fait via monnoyau.cl.c généré paropenclc
.Semble que j'ai été en mesure de résoudre partiellement le problème de cette façon:
Créer un projet vide, créer un main.c fichier et un fichier noyau
créer une cible que l'application de la console
dans les paramètres de construction, d'ajouter la prise en charge d'OpenCL cadre (vous verrez apparaître sur l'explorateur de fichiers dans le volet de gauche, si il sera ajouté correctement).
spécifier l'emplacement où le fichier du noyau est situé, coder en dur le chemin (il ne suffit pas de dire "mon noyau.cl"; Xcode pour certaines raisons, ce n'est pas la cl fichier est dans le même dir que le principal, donc tu dois spécifier le chemin d'accès lors du chargement du fichier noyau)
J'ai réussi à l'aide de ces étapes, alors que l'aide de l'exemple de code sur le site des développeurs Apple.
Je suis assez sûr qu'il y a d'autres façons de le faire, mais au moins cela peut aider qui, comme moi, n'avaient aucune idée de comment commencer.
Pour répondre à la deuxième partie de votre question, sur la Montagne du Lion, vous pouvez exécuter l'OpenCL compilateur sur
foo.cl
comme ceci:De compiler
foo.cl
à LLVM peu de codefoo.bc
. Ce fichier binaire peut être utilisé avecclCreateProgramWithBinary
qui est plus rapide queclCreateProgramWithSource
. Les valeurs valides pour-arch
sonti386 x86_64 gpu_32
.