Software download links

Sept 11, 2009 : OPLib 1.0

 

Related papers:

C. Albanese, H. Li: Monte Carlo pricing using operator methods and measure changes

C. Albanese: Global Calibration

C. Albanese: Stochastic Integrals and Abelian Processes

C. Albanese: Kernel Convergence Estimates for Diffusions with Continuous Coefficients

 

Presentation slides :

C. Albanese: OPLib: a High Performance Pricing Library Based on Fourth Level BLAS Extensions

 



OPLib

 

OPLib is an open source library for high performance pricing applications.OPLib is divided into several sections:

OPC: a low level core library written in C providing interfaces to the Intel MKL and Monte Carlo generators

OPCUDA: a low level core library written in CUDA implementing higher level BLAS extensions and Monte Carlo scenario generators

OPMODEL: an intermediate level pricing library written in C# providing services to plan out and execute kernel valuations and Monte Carlo simulations

BENCHMARKS: written in C# and comprising a set of consolve and GUI driven benchmarks for the core routines and pricing models

TESTS: written in C# to test library routines

PLATFORMS: 32 and 64 bit Windows under Visual Studio, 32 and 64 bit Linux under Mono . I would welcome volunteers for a port of the intermediate level library to native C++, Java, Python and other development environments. I would also welcome volunteers for a port of the core libraries to OpenCL, ATLAS and the public domain version of SFMT.

KNOWN BUGS : the benchmark routines gmt.exe, glv.exe and gsv.exe throw a DLL not found exception under 64 bit Linux perhaps because of a Mono bug. They work correctly otherwise under 32 bit Linux and under 32-64 bit Windows. Any help to fix this bug would be welcome.

CREDITS: The CUDA code for SGEMM4, SGEMV4 and SSQMM were inspired by Vasily Volkov's implementation of SGEMM. The library makes use of several variations of the multi-threaded Mersenne Twister algorithm of period 2203 due to Makoto Matsumoto.The Monte Carlo routine in SMC includes code by Victor Podlozhnyuk included in the CUDA SDK. CPU-side BLAS and random number generators link to primitives in the Intel Math Kernel Libraries.

Bug reports and code have been contributed by Guy Taylor.

LICENSE:Libraries are licensed under GPL as free software. It can be redistributed it and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.