MtxVec is an object oriented vectorized math library, the core of Dew Lab Studio, featuring a comprehensive set of mathematical and statistical functions executing at impressive speeds (check the testimonies of some of our many customers ).
No royalty fees for distribution of compiled binaries in products you develop
Floating point precision selectable at run-time.
Having converted our models from Matlab, a speed increase of over 10x has been achieved . This core acceleration finally allows these models to be used in real-time automation control.
The secret behind our performance is called "code vectorization". We program achieves substantial performance improvements in floating point arithmetic by exploiting the CPU Streaming SIMD Extensions instruction sets. (SIMD = Single Instruction Multiple Data.)
MtxVec makes extensive use of the Linear Algebra Package, which today is the de-facto standard for linear algebra and is free from www.netlib.org. Because this package is standard, different CPU makers provide performance-optimized versions to achieve maximum performance. Linear algebra routines are the bottleneck of many frequently used algorithms; therefore, this package is the part of the code that makes the most sense to optimize. MtxVec uses the version optimized for individual CPUs provided by Intel with their Math Kernel library.
Our library also makes extensive use of Intel Performance Primitives, which accelerate mainly the non-linear algebra based functions. The Intel Performance Primitives run on all Intel x86-compatible CPUs, old and new, but will achieve highest performance on the Intel Core architecture.
Write Vector/Matrix expressions with the standard set of *,/,+- operators
Although some compilers support native SSE4/AVX2/AVX512 instruction sets, the resulting code can never be as optimal as a hand-optimized version.