Если ядро делает, мало работают, то издержки memcpy
и запусков ядра могут сместить любое увеличение производительности. Рассмотрите работу над большим демонстрационным набором (таким образом увеличивающий размер цикла). Чтобы обнаружить это условие, посмотрите на nvvpreport
.
Действительно больше работайте в цикле или увеличьте демонстрационный размер набора
Если существует слишком много локальных/временных переменных, используемых в теле цикла, то оно вызывает высокое давление регистра в регистровом файле на поток. Можно обнаружить это условие путем выполнения в режиме безопасной сборки графического процессора. Или, nvvp
сообщает об этом факте.
Рассмотрите использование различных размеров блока в прагме coder.gpu.kernel
.