Winners Announced in Annual Code Optimization Contest

  Bookmark and Share

(L-R) Supriya Rao (2nd place overall), Earlence Fernandes (1st place, benchmark 1), Ari Chivukula (1st place overall and grand champion, 1st place on benchmarks 3 and 4), Justin Paupore (1st place on benchmark 2), Qi Chen (3rd place overall)

Students in Prof. Scott Mahlke's Advanced Compilers course (EECS 583) recently competed in the 2012 Annual Code Optimization contest to create a compiler that generates the fastest applications.

Under the contest rules, everyone starts with the base LLVM compiler system and must design and implement their own version of speculative loop invariant code motion or speculative LICM. LICM is an optimization that eliminates instructions from frequently executed loops to improve performance. Speculative LICM goes one step further using program profiling data to remove instructions that are statistically invariant. Speculative LICM creates many more optimization opportunities, but students must be careful to ensure that the application still executes properly by checking for mis-speculations and repairing execution when the application does not behave as they predicted it would.

The students were judged on four compute-intensive benchmarks. The first criteria was that all the applications had to run correctly. Then, highest performance was used to select the winner.

The overall winner was undergraduate Ari Chivukula, who achieved a geometric mean of 1.5x speedup on the four benchmarks and a class high of 3.5x on one of the benchmarks. CSE graduate students Supriya Rao and Qi Chen placed 2nd and 3rd in the overall competition. Congratulations also go to Justin Paupore and Earlence Fernandes, who scored first place finishes on individual benchmarks.

Posted: December 4, 2012