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