Опубликован: 12.07.2012 | Доступ: свободный | Студентов: 359 / 29 | Оценка: 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.



