bash$ /usr/convex/bin/fc -O1 matmult.f Optimization for MAIN Line Id Iter. Reordering New Optimizing / Special Num. Num. Var. Transformation Loops Transformation ----------------------------------------------------------------------------- 11 1 *NONE* Serial 12 2 *NONE* Serial 14 3 *NONE* Serial bash$ /usr/convex/bin/fc -O2 matmult.f Optimization for MAIN Line Id Iter. Reordering New Optimizing / Special Num. Num. Var. Transformation Loops Transformation ----------------------------------------------------------------------------- 11 1 I *Dist (2-3) No Strip 11-1 2 I *Interchange (4) (I J) -> (J I) 12-1 4 J Serial 11 5 I Serial Unroll 11-2 3 I *Interchange (6) (I I J K K) -> (I K J I K) Blocked 11 6 I Serial 14-2 7 K Serial Blocked 12-2 8 J *Unroll and Jam (9) 12 9 J Serial 11 10 I *Unroll and Jam (11-12) 11 11 I Serial 14 13 K Serial 11 12 I Serial 14 14 K Serial Unroll Line Id Iter. Analysis Num. Num. Var. ----------------------------------------------------------------------------- 11 6 I Loop blocked by 88 iterations 14-2 7 K Loop blocked by 88 iterations 11 5 I Replicated: partially unrolled with factor of 8 11 11 I Loop unrolled and jammed with factor of 5 12 9 J Loop unrolled and jammed with factor of 4 14 14 K Replicated: partially unrolled with factor of 5 bash$ /usr/convex/bin/fc -O3 -or all matmult.f Optimization for MAIN Line Id Iter. Reordering New Optimizing / Special Num. Num. Var. Transformation Loops Transformation ----------------------------------------------------------------------------- 11 1 I *Dist (2-3) No Strip 11-1 2 I *DynSel (4-5) Work 11 4 I *Interchange (6) (I J) -> (J I) 12 6 J PARALLEL 11 7 I Serial Unroll 11 5 I *Interchange (8) (I J) -> (J I) 12 8 J Serial Removed 11 9 I Serial Unroll Removed 11-2 3 I *DynSel (10-11) Work 11 10 I *Interchange (12) (I I J K K) -> (I K J I K) Blocked 11 12 I Serial 14 13 K Serial Blocked 12 14 J *Unroll and Jam (15) 12 15 J PARALLEL 11 16 I *Unroll and Jam (17-18) 11 17 I Serial 14 19 K Serial 11 18 I Serial 14 20 K Serial Unroll 11 11 I *Interchange (21) (I I J K K) -> (I K J I K) Blocked 11 21 I Serial Removed 14 22 K Serial Blocked Removed 12 23 J *Unroll and Jam (24) 12 24 J Serial Removed 11 25 I *Unroll and Jam (26-27) 11 26 I Serial Removed 14 28 K Serial Removed 11 27 I Serial Removed 14 29 K Serial Unroll Removed Line Id Iter. Analysis Num. Num. Var. ----------------------------------------------------------------------------- 11 12 I Loop blocked by 88 iterations 14 13 K Loop blocked by 88 iterations 11 21 I Loop blocked by 88 iterations 14 22 K Loop blocked by 88 iterations 11 7 I Replicated: partially unrolled with factor of 8 11 9 I Loop removed 11 21 I Loop removed 11 17 I Loop unrolled and jammed with factor of 5 11 26 I Loop unrolled and jammed with factor of 5 11 26 I Loop removed 11 27 I Loop removed 12 8 J Loop removed 12 15 J Loop unrolled and jammed with factor of 4 12 24 J Loop unrolled and jammed with factor of 4 12 24 J Loop removed 14 22 K Loop removed 14 20 K Replicated: partially unrolled with factor of 5 14 28 K Loop removed 14 29 K Loop removed Line Id Iter. Priv. Privatization Information Num. Num. Var. Var. for Parallel Loops ----------------------------------------------------------------------------- 12 6 J J Loop induction variable privatized 12 6 J I Reference privatized 12 15 J J Loop induction variable privatized