A multiobjective evolutionary approach for constrained joint source code optimization.

Naeem Zafar Azeemi · 2006

The synergy of software and hardware leads to efficient application expression profile (AEP) not only in terms of execution time and energy but also optimal architecture usage. We present an architecture-based parametric optimization of ‘C ’ source code for iterative compilation. Successive source-level, code transformations are applied in order to evaluate an application expression profile on complex multimedia processors. The proposed new code transformation methodology determines appropriate parameters for compiler optimization in order to satisfy user constraints on code size, energy, execution time and optimal target architecture usage. The optimization is based on a multicriteria, objective function. The constraints of this objective function are formulated using a penalty method; a genetic algorithm finds solutions eventually. We examined the performance improvement across typical different multimedia applications on a multimedia processor, TM1302 (Philips). Candidate applications include m100, m200, nlivq, MPEG-1, G-721 and H-264L. Experimental results show that our approach reduces cache misses by an average of 36 % (max. 71%), improves typically energy dissipation up to 17 % and CPU performance up to 60 % for an H-264L video codec algorithm. However, the code size tends to be large, which inevitably leads to a larger memory size. The approach is general and can easily be integrated in multimedia processor compilers.

Read the paper · More papers on PaperTik