Languages for High Performance Computing: Less Power ⇒ More Possibilities

Languages for High Performance Computing: Less Power ⇒ More Possibilities

Pricing and risk calculation for complex financial products is one of today's most common, commercial high performance computing (HPC) applications, with banks typically employing thousands of CPU cores for overnight calculations.

Perceived wisdom is to use low level languages such as C or CUDA to encode HPC calculations, allowing fine tuning of algorithms and optimisation to specific machine architecture. The FPF team at Barclays have taken a very different route, defining payoffs in a high-level DSL, enabling the generation of pricing instructions for multiple platforms and performing a variety of analysis.

Talk objectives: In this talk, the speakers will argue that the key to success in this approach is to restrict the power of the DSL. They will introduce the problem domain; present examples of payoffs in the DSL, FPF Lucid; explain what power in languages means; describe how Lucid is restricted; and quantify some of the benefits achieved from the project.

Target audience: An experience report Software developers

About Tim

Tim has been programming computers for over 30 years and has worked as a software developer in the finance industry for over 10 years, more recently specialising in functional programming languages. He is currently a Haskell developer in the Quantitative Analytics Equity Derivatives Group at Barclays. He holds a PhD in Physics from the University of Bristol.
Back to conference page