Clang peut traduire CUDA (non complète) ou OpenCL en llvm. Comment peut-il préserver le mot-clé "shared", de sorte qu'il connaisse la différence entre mémoire partagée et mémoire globale?Compilation CUDA ou OpenCL à llvm IR
Répondre
Je ne suis pas familier avec CUDA ou OpenCL, mais je peux vous conseiller de regarder l'IR LLVM résultant qui est généré par frontend et voir quel code est généré. Vous pouvez également regarder le backend LLVM correspondant pour voir comment il utilise la mémoire partagée/globale.
A partir de llvm IR généré, je ne vois aucune différence d'utilisation de __global et __local. – dalibocai
Il semble que la décision soit prise en backend. Peut-être que vous pouvez trouver plus d'informations à http://llvm.org/devmtg/2011-11/. Il y a quelques présentations sur le backend LCLVM OpenCL. –
Il serait étrange que le programmeur ait besoin de gérer explicitement la mémoire locale, mais il est en fait géré par le backend. En tout cas, merci pour la référence. – dalibocai
- 1. Fonctions LLVM IR Lambda
- 2. Trouver llvm.pow.f64 dans llvm IR
- 3. OpenCL ou CUDA Quelle route y aller?
- 4. Comment LLVM InstVisitor traverse-t-il IR?
- 5. LLVM principale fonction IR retour vide
- 6. Mise au point de LLVM IR
- 7. Supprimer la branche complète de llvm ir
- 8. Questions pour la compilation à LLVM
- 9. Double constante Int dans LLVM IR
- 10. convertir LLVM IR à l'autre code de langue
- 11. Opérations élémentaires dans OpenCL (Cuda)
- 12. GPGPU, OpenCL, CUDA, ATI Stream
- 13. Est-il possible de générer automatiquement le code API cv llvm à partir de LLVM-IR?
- 14. Emettre le bytecode llvm-ir à partir de mon passe llvm
- 15. Comparer opérande IR avec une constante dans LLVM
- 16. Appels système LLVM IR indépendants du système d'exploitation
- 17. Options manquantes lors de la compilation LLVM
- 18. Comment convertir les IR de llvm en code c?
- 19. Créer vecteur global en utilisant LLVM IR Builder
- 20. Correction d'une variable dans un registre dans LLVM IR
- 21. LLVM Framework: charger les fichiers IR, les bibliothèques de liens
- 22. Quel est le problème avec ce code IR LLVM
- 23. Existe-t-il des traducteurs PHP -> LLVM IR?
- 24. Exemple d'interblocage réaliste dans CUDA/OpenCL
- 25. conversion de bitcode cuda en llvm
- 26. OpenCL compilation avec C++ liaisons
- 27. Erreur compilation CUDA noyau
- 28. compilation fichier cuda erreur makefile
- 29. Erreur de compilation CUDA SDK
- 30. Compilation incrémentale dans nvcc (CUDA)
Salut, J'ai perdu trois jours à essayer de compiler un noyau CUDA dans llvm IR et je ne pouvais pas le faire. J'ai essayé de changer le langoptions.cpp et ajouté CUDA = 1; là, mais encore le clang me donne des messages d'erreur pour la syntaxe cuda (comme _synchthreads() appel). toute aide/note/conseil sur la façon dont vous l'avez fait aidera beaucoup. merci d'avance. –