Техника оптимизации под линуха

       

Фальцевание циклов


Фальцевание циклов (fold loops) внешне очень похоже на разворот, но преследует совсем другие цели, а именно: увеличение количества потоков данных на одну итерацию. Чем выше плотность (strength) потоков, тем выше параллелизм обработки данных, а, значит, и скорость выполнения цикла.

Рассмотрим следующий пример:

for(i=0; i<XXL; i++)

       sum += a[i];



Содержание раздела