Опубликован: 12.07.2012 | Доступ: свободный | Студентов: 356 / 26 | Оценка: 4.00 / 4.20 | Длительность: 11:07:00
Тема: Программирование
Специальности: Программист
Теги:
Лекция 4:
Optimizing compiler. Loop optimizations
INTEGER,PARAMETER :: N=100 INTEGER,PARAMETER :: REPEAT=1000 INTEGER :: A(N,N,N), B(N,N,N) INTEGER :: REP,I,J,K A=1 B=1 DO REP=1,REPEAT DO I=1,N DO J=1,N DO K=1,N A(J,K,I) = A(J,K,I)+B(J,K,I) END DO END DO END DO END DO PRINT *,A(1,1,1) END
Loop blocking is a loop optimization which divides a loop iteration space into smaller chunks or blocks, so the loop data stays in the cache until it is reused. The partitioning of loop iteration space leads to partitioning the array used, so array elements fit the cache better, it enhancing cache reuse and decreasing required cache size.