Использование NVIDIA Visual Profiler для программы CUDA, вызываемой функцией-оболочкой - PullRequest
1 голос
/ 17 января 2012

Я преобразовал программу из IDL в CUDA, которая выполняет некоторые вычисления для куба плотностей 256X256Xn и отображает 2-D изображение. Программа работает правильно, но вся предварительная обработка все еще выполняется в IDL (например, чтение вкуб плотности и т. д.) и передает эту информацию в функцию-оболочку (используя call_external для программы на C), которая затем вызывает CUDA.

В настоящее время я пытаюсь оптимизировать программу и хотел бы использовать NVIDIA Visual Profiler для проверки моего слияния, и мне было интересно, есть ли способ сделать это ... способ запустить визуальный профилировщиккогда мы вызываем часть программы CUDA?

В настоящее время я не могу ничего протестировать, потому что слишком много переменных, чтобы просто жестко закодировать их в функцию CUDA, но без этих значений, переданных из IDL в Cв CUDA он не может бежать.

Я настроил его, чтобы я мог запустить IDL, остановить его и затем вручную вызвать функцию оболочки C вместо того, чтобы просто запускать IDL и автоматически делать все это.

Спасибо

1 Ответ

0 голосов
/ 22 февраля 2012

Вы можете запустить приложение из Visual Profiler. В любом случае он будет только профилировать вызовы CUDA. При желании вы можете использовать кнопки запуска и остановки профилирования, чтобы контролировать, когда оно начинается и заканчивается профилированием. Это довольно просто, но в целом применимо.

...