Title :
Optimizing a 3D image reconstruction algorithm: analyzing the capabilities of a modern compiler
Author :
Vander Aa, Tom ; Lauwereins, Rudy ; Deconinck, Geert
Author_Institution :
ESAT, Katholieke Univ., Leuven, Belgium
Abstract :
Today´s DSP processors are so complex, it has become impossible to program them using assembly. To get the maximum performance out of the applications running on such devices very good compilers are needed. This paper analyzes the capabilities of those compilers by optimizing a compute-intensive 3D-image reconstruction algorithm on the TMS320C6701 (´C67) DSP processor from Texas Instruments. Because the ´C67 is a VLIW processor, performance depends on the ability of the compiler to detect parallelism. By rewriting the C source code, we made it clear to the compiler which code was not data dependent, and thus could be executed in parallel. Over all optimizations the average instructions per cycle rose from 0.41 to 2.61 (×6) and the number of instructions to be executed was divided by 3.6. The net result was a performance increase of 2200%. For every discussed optimization step we state the problem that prevented efficient code generation by the compiler and say how we overcame this problem. We show that for a lot of the steps the performance problem was caused by a lack of provisions to efficiently communicate between the user and compiler. We had to trick the compiler in doing the optimizations we wanted by writing the program the right way. This was a long and tedious process. Therefore, we look at what provisions should be added to improve communication and reduce development time and time to market.
Keywords :
digital signal processing chips; image reconstruction; parallel algorithms; parallelising compilers; 3D image reconstruction algorithm; C source code; TMS320C6701 DSP processor; VLIW processor; code generation; compilers; optimizations; parallelism detection; Algorithm design and analysis; Assembly; Digital signal processing; Image analysis; Image reconstruction; Instruments; Optimizing compilers; Parallel processing; Reconstruction algorithms; VLIW;
Conference_Titel :
Signal Processing Systems, 2002. (SIPS '02). IEEE Workshop on
Print_ISBN :
0-7803-7587-4
DOI :
10.1109/SIPS.2002.1049717