UnRisk on Mathematica 8 Crunches Numbers on Little Hardware


In Mathematica 8 and UnRisk, I have highlighted the benefits from utilizing new features in Mathematica 8. Being curious, I have set up a quick test on a one-core Windows laptop with an nvidia graphic-card.

The problem: to valuate an exotic option under a stochastic volatility model (Heston in our case), you need to calibrate the model towards market prices of, in our case,  256 vanilla options. To make this quick for test purposes we used the ultra-fast Fourier-Cosinus method for valuation.

I tested UnRisk in 4 variants, and recorded absolute calculation time in seconds

a)  UnRisk C++ engines integrated with MathLink  - 9.1
b) UnRisk C++ engines integrated with MathLink + GPU utilization - 0.3
c) UnRisk C++ engines integrated as DLL - 9.0
d) UnRisk C++ engines integrated as DLL + GPU utilization  - 0.2

Click the picture, to find the quickly drafted code of the calculation part in the Mathematica notebook. 

In this synthetic example I need little data but an extensive number of valuations, consequently the speed-up of the DLL integration is negligible. In real cases this will pay much more.
But the speed-up from utilizing the power of a  little, low-cost HW extension is already enormous.

And it is so convenient having Mathematica as a universal interface to GPU programming.