Вопрос

Я работаю над OpenCL.Кто-нибудь знает хороший отладчик для OpenCL, чтобы я мог войти в код OpenCL и выполнить трассировку?

Это было полезно?

Решение

Возможно, отладчик Gremedy Opencl был бы полезен?http://www.gremedy.com/gdebuggercl.php

Другие советы

Вы также можете изучить Codexl:

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

Кодексл был первоначально разработан AMD, но позже был выпущен как проект с открытым исходным кодом.

Лучший выбор - отладчик Intel для процессора, анонсированный на Intel Opencl SDK 1.5:

Intel opencl SdkВы можете пошаговать отладки в Visual Studio.

Плагин Visual Studio Debugger

Может быть, вы можете попробовать использовать GDB на процессоре x86 под ОС Linux, см. Учебное пособие AMD:http://developer.amd.com/gpu/atistreamsdk/assets/debugging_opencl_with_gdb_on_x86_cpus.pdf

Вы можете использовать getattr , чтобы получить член объекта с участникомИмя как строка.

getattr(self, 'handle_' + instruction)(data)
.

Я обычно рекомендую использовать GPUVERIFY из Имперского колледжа Лондона и Oclgrind из Университета Бристоля, особенно когда вы застряли отладки свои программы OpenCL (но лучше еще до этого).

Я им не пользовался, но CLBuilder ( сборщик ) выглядит многообещающе

Основные характеристики CLBuilder

  1. Пишите ядра OpenCL с цветовым синтаксисом
  2. Компиляции ядра, чтобы проверить ошибки без необходимости запускать и отладка вашего приложения.
  3. Легко создавайте и выбирайте параметры сборки.
  4. Определите входные значения ядра и проверьте результаты.
  5. Профилируйте время выполнения ядра, чтобы повысить производительность.
  6. Создание разных рабочих элементов размеры набора (глобальные и локальные) для проверки выступления.
  7. Запустите ядро с помощью printf на процессоре и легко отладьте код.
  8. Отображение входных и выходных значений на графике.
  9. Обратитесь к журналу выполнения, чтобы узнать, что делает CLBuilder (регистрируйте каждую функцию OpenCL C).
  10. Проверьте локальные и постоянные аргументы и ресурсы, используемые ядром .
  11. Сгенерируйте код на C для выполнения ядра, CLBuilder также скомпилирует этот сгенерированный исходный код и выполнит его.
  12. Легко проверьте все свойства OpenCL, включая информацию о платформе.

Нвидия Параллельная гнева отладчик (ранее известный как Nexus) поддерживает OpenCl (GPU).

С сайта:

Parallel NSight поддерживает Cuda C, OpenCl, DirectCompute, Direct3D и OpenGL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top