• DocumentCode
    2486765
  • 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
  • fYear
    2002
  • fDate
    16-18 Oct. 2002
  • Firstpage
    246
  • Lastpage
    251
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Signal Processing Systems, 2002. (SIPS '02). IEEE Workshop on
  • ISSN
    1520-6130
  • Print_ISBN
    0-7803-7587-4
  • Type

    conf

  • DOI
    10.1109/SIPS.2002.1049717
  • Filename
    1049717