Modern compilers for object-oriented languages are not optimized for calculation-intensive tasks. Extensive use of abstraction and virtual functions allows developing an easy-to-read code but the performance penalty is high.
Writing high-performing vectorized and multi-thread safe code is a tedious and time-consuming task, while the result is usually hard to maintain. MatLogica's Simulation Accelerator helps developers to focus on adding value, taking care of performance.
Code Generation AAD™ approach involves generating the code of the original model (and its adjoint if needed) at the first execution of the function. This new code is subsequently used in all following loops, delivering speed-ups.
The integration of the Accelerator is semi-automatic and involves replacing existing "double" type with the overloaded "idouble", as well as marking the inputs and outputs for the recording.
Simplified code base
Modeling code base can be simplified by reducing the number of code lines by up to 70%!
Faster IT turnaround
Turnaround for new features is 3-4x quicker - with new functionalities released faster!
Better model performance
6-100x model performance boost with automatic optimisations, native vectorisation and safe multithreading
50% off compute bill
Save 50% or more from your cloud or grid costs due to efficient use of existing hardware.
Fewer bugs
With MatLogica's abstraction layer your code has to do less - meaning more focus and less bugs.
Our Solution
Simulation Accelerator
MatLogica’s accelerator utilizes native CPU vectorization and multi-threading, delivering performance comparable to a GPU. For problems such as Monte-Carlo simulations, historical analysis, and "what if" scenarios, the speed can be increased by 6-100x, depending on the original performance.