Radically Simplifed GPU Programming

We were very happy to do a Channel 9 recording for our new Alea GPU version 3 in the Microsoft offices at Time Square New York City. It was a great experience to do the recording with Seth Juarez. Many thanks Seth! GPU computing is all about number crunching and performance. Do you have a lot of parallel calculations? Then try to use GPU with C#. With the new Alea GPU parallel GPU methods it is as easy as changing a few lines of code to utilize the power of GPUs. No GPU in your box? Don't worry, you can get them from Azure or other cloud providers. The following Channel9 explained how easy it is to run C# code on the GPU, with full debugging support in Visual Studio. Check out Alea GPU on our product web site.

Deep Learning Wanted for .NET

There exist already several deep learning libraries but none of them targets .NET. Alea TK is a new open source project that aims to develop a complete GPU accelerated deep learning stack for .NET. It is built on top of Alea GPU and is designed from ground up to be GPU accelerated, easy to extend and to deploy. It is in an early phase. Contributors and developers are welcome! This Channel9 recording explains why we started the project and what we plan to do with it in the future. Check out Alea TK on our project web site and on GitHub.

Alea TK for Machine Learning

Alea TK is a new open source machine learning library. This poster explains some of its design decisions.

GPUs are Everywhere

GPUs are in mobile devices, desktop PCs, workstations, servers and also in the cloud. On the other hand cross platform technologies such as .NET gain more and more importance. Alea GPU is a professional solution to program GPUs with .NET C#, F# or Visual Basic.

GPUs for Life Insurance

GPUs and DSLs for Life Insurance Modeling Calculating the economic value of the liabilities and capturing the dependence of the liabilities to different scenarios such as movements of the interest rate or changes of mortality cannot be achieved without detailed models of the underlying contracts and requires a significant computational effort. This is an excellent case for the application of GPUs and GPU clusters. Read more on NVIDIA's Parallel ForAll blog.

GPUs for Backtesting

GPU Acceleration and Machine Learning for Quant Trading Strategies In algorithmic trading large amounts of time series data are analyzed to derive buy and sell orders so that the strategy is profitable but also risk measures are at an acceptable level. Bootstrapping walk forward optimization is becoming increasingly popular to avoid curve fitting and data snooping. It is computationally extremely expensive but can be very well distributed to a GPU cluster. We present a framework for bootstrapping walk forward optimization of trading strategies on GPU clusters, which allows us to analyze strategies in minutes instead of days. Moreover, we show how signal generation can be combined with Machine Learning to make the strategies more adaptive to further improve the robustness and profitability. Download the slides.

GPUs for Asset Management

Solving Large-Scale numerical Problems Modern portfolio theory, initially developed by Harry Markowitz, has been used in the industry for several decades to construct optimal portfolios, which properly balance risk and return. In recent years more refined quantitative methods have been developed to improve asset allocations and create optimal portfolios in a more stable and robust manner. We will discuss some of these new ideas and explain where large-scale numerical problems appear and how they can be solved with special algorithms on GPUs. You will learn how GPUs can help to consistently blend historical data and expert views in order to obtain more robust and realistic inputs for portfolio optimization, either with Bayesian techniques or with the minimum discrimination information principle, and how back-testing can be brought to a new level of sophistication. Download the slides.

PDE Pricing on GPUs

Pricing Financial Derivatives with High Performance Finite Difference Solvers on GPUs. Published in GPU Computing Gems Jade Edition (Applications of GPU Computing Series), Wen-mei W. Hwu (Editor), 2012, p. 309-322. Often derivatives are written on multiple underlying assets, e.g. baskets, or the future asset price evolution is modeled with additional risk factors, like for instance stochastic volatilities. The resulting PDE is defined on a multidimensional state space. For these kind of derivatives it is not necessary to pool multiple pricing calculations: alternating direction implicit (ADI) schemes for PDEs on two or more state variables have enough parallelism for an efficient GPU implementation. We benchmark a specific ADI solver for the Heston stochastic volatility model against a fully multi-threaded and optimized CPU implementation. On a recent C2050 Fermi GPU we attain a speedup of a factor of 70 and more for a sufficiently large problem size. Download the paper.

Feeling Paritial

Tackling the challenges of PDEs in the brave new world of GPUs in finance. Wilmott Magazine interview with Dr. Daniel Egloff. Beyond huge advantages in terms of efficiency and long-term costs the steady adoption of GPU architecture in finance is bringing with it a shift, not only in the way the industry thinks about hardware, but also the thought given to the logical flow of the computational process and, potentially, the kinds of models utilized in quantitative finance. Download the paper.

PDE Pricing on GPUs III

ADI Solvers on GPUs with Application to Stochastic Volatility The first two articles in this series (Egloff, 2010a, 2010b) discussed the implementation and performance characteristics of a massively parallel PDE solver on GPUs for large collections of similar or related single-factor pricing problems. In the third article, we show how to implement efficient GPU solvers for two-factor models. Our implementation can price average size problems in the range of half a second and we beat an optimized CPU implementation by more than a factor of 70. Download the paper.

PDE Pricing on GPUs II

Massively Parallel PDE Solvers on GPUs We propose a massively parallel PDE solver which simultaneously prices a large collection of similar or related derivatives with finite difference schemes. The performance analysis shows a remarkable speedup by a factor of 25 on a single GPU and up to a factor of 40 on a dual-GPU configuration against an optimized CPU version. Download the paper.

PDE Pricing on GPUs I

High-Performance Tridiagonal Solvers on GPUs In a series of notes we would like to bring massively parallel GPU computing to a broader audience in the financial quant world. The financial industry is starting to adopt GPUs more and more. The main application fields as of today are Monte Carlo simulations. They fall into the category of embarrassingly parallel problems and can be implemented on a GPU in a relatively straightforward manner, once a good random number generator is available. Speedups of a factor of 50 to 100 are within reach. Much less work has been done to speed up PDE solvers with GPUs. Developing efficient PDE solvers on GPUs requires a more detailed understanding of GPUs, their hardware architecture, the different memory types, and the thread execution model. Hence, going through the exercise of writing a PDE solver on a GPU is a very good education in GPU computing. Download the paper or the extended version.

Games and Derivatives Pricing

Teraflops for Games and Derivatives Pricing Financial computing continuously demands higher computing performance, which can no longer be accomplished by simply increasing clock speed. Cluster and grid infrastructures grow, their cost of ownership explodes. On the other hand, the latest GPU (Graphics Processing Unit) boards show impressive performance metrics. This leads to the questions if and how one can harness this power to bring financial computing to the next level. We analyze the pricing of equity basket options with a local volatility model implemented on a GPU. Download the paper.