Некоторые из наиболее распространенных причин, по которым GPU Coder™ сгенерированный код не работает должным образом:
CUDA® ядра не созданы.
Хост к устройству и устройству для переноса памяти (cudaMemcpy
) являются дросселирующей эффективностью.
Недостаточно параллелизма или проблем с устройством.
Эти темы посвящены общим причинам этих симптомов и описывают, как использовать встроенный скринер для выявления этих проблем. Вы можете найти информацию о том, как работать с этими проблемами и сгенерировать более эффективный код CUDA.
Рабочий процесс поиска и устранения проблем с GPU Coder.
Создание и просмотр отчетов, сгенерированных во время генерации кода.
Трассировка между сгенерированным кодом CUDA и исходным кодом MATLAB
Выделите разделы кода MATLAB, который запускается на графическом процессоре.
Генерация отчета по метрикам кода GPU для кода, сгенерированного из кода MATLAB
Создайте и исследуйте отчет о статических метриках кода GPU.
Рекомендации по созданию эффективных ядер CUDA.
Уменьшите проблемы с узкими местами памяти при использовании GPU Coder.
Анализ профилей выполнения сгенерированного кода
Мелкозернистое профилирование для алгоритма MATLAB и его сгенерированного кода CUDA через SIL.
Анализ с помощью Профилировщик
Улучшите эффективность при помощи информации, полученной от NVIDIA Profiler (nvvp).
Ограничения, накладываемые на GPU Coder
Смотрите ограничения тока GPU Coder.