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

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

Условие

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

Действие

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

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

Условие

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

Действие

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