Анализ с помощью Профилировщик

Недостаточно параллелизма

Состояние

Если ядро делает мало работы, то накладные расходы memcpy а запуск ядра может компенсировать любое увеличение эффективности. Рассмотрите работу с большим набором выборок (таким образом, увеличивая размер цикла). Чтобы обнаружить это условие, посмотрите на nvvpreport.

Действие

Сделайте больше работы в цикле или увеличьте размер набора выборок

Слишком много локальных регистров в относительных потоках

Состояние

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

Действие

Рассмотрите использование различных размеров блоков в coder.gpu.kernel прагма.

Похожие темы