Accelerator

Simulation Accelerator

With the MatLogica Simulation Accelerator, your developers can code in traditional object-oriented languages such as C++ or Python, and the accelerator will take care of the tedious tasks such as performance optimization and automatic caching.

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.