Débogueur pour OpenCL

Je travaille sur OpenCL. Est-ce que quelqu’un connaît un bon débogueur pour OpenCL afin que je puisse entrer dans le code et la trace OpenCL?

Peut-être que le débogueur OpenCL de Gremedy serait utile? http://www.gremedy.com/gDEBuggerCL.php

Vous pouvez également vouloir regarder CodeXL:

https://gpuopen.com/compute-product/codexl/

CodeXL a été initialement développé par AMD, mais a ensuite été publié en tant que projet open source.

Votre meilleur pari est Intel Debugger for CPU, annoncé à Intel OpenCL SDK 1.5:

Intel OpenCL SDK, vous pouvez déboguer étape par étape dans Visual Studio.

Plug-in du débogueur Visual Studio

Peut-être que vous pouvez essayer d’utiliser GDB sur un processeur x86 sous Linux, voir le tutoriel d’AMD: http://developer.amd.com/gpu/ATIStreamSDK/assets/Debugging_OpenCL_with_GDB_on_x86_CPUs.pdf

Seul AMD gDEBugger prend en charge OpenCL étape par étape et d’autres fonctionnalités intéressantes http://developer.amd.com/tools/gDEBugger/Pages/default.aspx

NVidia Parallel NSight et les autres produits NVidia ne prendront pas en charge le débogage OpenCL en raison de décisions marketing.

Je recommande généralement d’utiliser GPUVerify de l’Imperial College London et d’ Oclgrind de l’Université de Bristol, en particulier lorsque vous êtes en train de déboguer vos programmes OpenCL (mais même avant cela).

Je ne l’ai pas utilisé, mais CLBuilder semble prometteur

Principales fonctionnalités de CLBuilder

  1. Ecrire des kernelx OpenCL avec une syntaxe de couleur
  2. Comstackz le kernel pour vérifier les erreurs sans avoir à lancer et déboguer votre propre application.
  3. Créez et sélectionnez facilement les parameters de construction.
  4. Définissez les valeurs d’entrée du kernel et vérifiez les résultats.
  5. Profil du temps d’exécution du kernel afin d’améliorer les performances.
  6. Créez différents ensembles d’éléments de travail (globaux et locaux) pour vérifier les performances.
  7. Exécutez le kernel avec printf sur le CPU et déboguez facilement le code.
  8. Affiche les valeurs d’entrée et de sortie sur un graphique.
  9. Consultez le journal d’exécution afin de voir ce que fait CLBuilder (enregistrez chaque fonction OpenCL C).
  10. Vérifiez les arguments et ressources locaux et constants utilisés par le kernel.
  11. Générez du code C pour exécuter le kernel, CLBuilder comstackra également ce code source généré et l’exécutera.
  12. Vérifiez facilement toutes les propriétés OpenCL, y compris les informations de la plate-forme.

Le débogueur Parallel Nsight de NVIDIA (anciennement Nexus) prend en charge OpenCL (GPU).

Depuis le site:

Parallel Nsight prend en charge CUDA C, OpenCL, DirectCompute, Direct3D et OpenGL.