Аннотация:
Множество операций параллельного алгоритма для реализации на графическом процессоре должно быть разбито на потоки (нити) вычислений. Потоки следует сгруппировать в блоки вычислений, выполняющиеся атомарно на потоковых процессорах, называемых также мультипроцессорами. Для хорошей производительности графического процессора важно, чтобы как можно больше данных умещались в быстрых регистровой и разделяемой памяти, иначе используются медленные глобальная и локальная память. Степень использования памяти с быстрым доступом отражает вычислительное свойство алгоритма, называемое локальностью. При реализации
алгоритмов на многопроцессорных вычислительных устройствах применение локальности играет важнейшую роль для достижения высокой производительности. В данной работе сформулированы и доказаны необходимые условия и достаточные условия, использование которых позволяет получать потоки с приватизированными данными, т. е. такие потоки вычислений, что элемент массива используется только одним потоком, и поэтому его целесообразно разместить в регистре.
Ключевые слова:параллельные вычисления; графический процессор; тайлинг; приватизация элементов массива; регистры.