Как профилировать приложение 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.