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