Module 18: Loop Optimizations
Lecture 35: Amdahl’s Law
Loop Interchange
for I=1,N
for J=1,M
..........
endfor
endfor
d1, d2:
Loop interchange is illegal
for I=1,100
for J=1,100
X[I,J]=....X[I-1,J+1]…
d3:
Loop interchange is legal but may not be profitable
for I=1,100
for J=1,100
X[I,J]=X[I-1,J]
d4, d5:
Interchanging loops can enhance parallel content
for I=1,100
for J=1,100
X[I,J[=X[I,J-1]....X[I-1,J-1]
Makes the inner most loop parallelizable
for I = I,n
for j = 1,m
A[I,j] = A[I,j-1] + 1
endfor
endfor
for j = 1,m
A[1..n, j] = A[1..n, j-1] + 1
endfor