Code Generation AAD™ approach uses Code Transformation and Operator Overloading
to efficiently compute the gradients of mathematical models by generating optimized machine code at runtime.
This results
in faster computing of the model and its first and higher order derivatives. The approach is particularly useful for models with many parameters
that require frequent gradient updates during training.
Please read our detailed overview of the AAD approaches available here.
MatLogica's Code Generation AAD - AADC
AADC Library
MatLogica has developed a specialised run-time compiler, AADC (AAD Compiler)
that generates efficient binary kernels
for execution of the original and adjoint functions on the fly.
Due to native CPU vectorisation and safe multithreading,
AADC can speed up the AAD method itself, and deliver pricing and scenario analysis
simply and effectively, in a way that is unattainable with competing products.
MatLogica's approach enables efficient AAD calculations in the legacy code, without major refactoring,
introduction of templates, or constraining the control flow.
Second-order greeks
Second-order greeks can be computed using bump-and-revalue of the first-order AAD greeks, fast.
Adjoint factor less than 1
Using AADC, the original function and all its derivatives can be calculated faster than the original function.
Faster simulations
Any types of simulations (what if, stress test, backtesting, VaR) can be supercharged seamlessly
Debugging & checkpointing
Our debugging and checkpointing toolkit makes integration and troubleshooting simpler.
Code Simplifaction
MatLogica AADC acts as an abstraction layer between your business logic and your hardware.
Benefits of MatLogica AADC Code Generation
Practice - AADC Just-In-Time Compilation