About the Eigen library and its vectorization support via PacketMath, and Tensilica DSP options..
Eigen is a high-level C++ library of template headers for linear algebra, matrix and vector operations, geometrical transformations, numerical solvers, and related algorithms. Eigen is open-source software licensed under the Mozilla Public License 2.0 (MPL2). Eigen is implemented using the expression templates metaprogramming technique, meaning it builds expression trees at compile time and generates custom code to evaluate these. Using expression templates and a cost model of floating-point operations, the library performs its own loop unrolling and vectorization. Eigen automatically enables its vectorization if a supported SIMD instruction set and a supported compiler are detected. Cadence has added support for Tensilica DSPs in Eigen. Currently, the release package is available for Tensilica DSP customers. This paper describes features of Eigen Library along with vectorization support added for various Tensilica DSPs.
Click here to read more.
Leave a Reply