Как профилировать приложение OpenCL с помощью CUDA 8.0 nvprof
Я пытаюсь профилировать приложение OpenCL,a.out
, в системе с NVIDIA TITAN X и CUDA 8.0.
Если это было приложение CUDA,nvprof ./a.out
будет достаточно. Но я обнаружил, что это не работает с приложением OpenCL, с сообщением "никакие ядра не были профилированы."
до CUDA 7.5, я успешно использовал COMPUTE_PROFILE=1
после этой. К сожалению, в документации говорится: "поддержка профилировщика командной строки с использованием переменной среды COMPUTE_PROFILE был удален в выпуске CUDA 8.0."
вопрос в том, есть ли другой способ, кроме понижения CUDA для профилирования приложения OpenCL с помощью nvprof?
1 ответов
насколько мне известно,nvprof
никогда не поддерживал профилирование OpenCL.
запуск кода с COMPUTE_PROFILE=1
вызывает механизм профилирования на основе драйвера, который предшествует введению nvprof
. Этот механизм на основе драйверов был устаревшим некоторое время назад и теперь был удален с CUDA 8 в пользу использования nvprof
.
в результате, казалось бы, что нет никакого способа профилировать код OpenCL, работающий на оборудовании NVIDIA, используя инструментарий CUDA.