Optimization of the Eigenvalue Decomposition of Floating-Point Matrices on the TMS320C6672 Digital Signal Processor

Çaliş O., Yalçın M. E.

30th IEEE International Conference on Electronics, Circuits and Systems, ICECS 2023, İstanbul, Turkey, 4 - 07 December 2023 identifier

  • Publication Type: Conference Paper / Full Text
  • Doi Number: 10.1109/icecs58634.2023.10382734
  • City: İstanbul
  • Country: Turkey
  • Keywords: compiler intrinsics, Digital signal processor, eigendecomposition, MATLAB Coder, SIMD
  • Istanbul Technical University Affiliated: Yes


Digital signal processors, or DSPs, are rather formidable embedded processing units thanks to their very-long-instruction-word (VLIW) architecture, single-instruction multiple-data (SIMD) processing capabilities, and floating-point and complex arithmetic support, particularly for the implementation of algorithms involving large numbers of vector and matrix operations. As far as the development and prototyping of such algorithms are concerned, however, MATLAB is still the de facto standard. Nonetheless, since embedded systems do not support MATLAB as a development environment, the code that realizes the algorithm needs to be converted to a lower-level language before being deployed on the target architecture. Although MathWorks offers built-in methods to perform such a conversion, the resulting code is far from optimal. This paper suggests a different approach, where a piece of automatically-generated code responsible for eigenvalue decomposition is optimized using compiler pragmas and intrinsics to ensure that the SIMD capabilities of C6672 are exploited in the object code. The manually-optimized code is then evaluated with benchmarks and compared to the baseline code with respect to execution speed and accuracy. With the improvements, speedup values of up to 2.70 have been achieved without quite compromising the accuracy of the algorithm.