Анализ с профилировщиком NVIDIA

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

Условие

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

Действие

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

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

Условие

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

Действие

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