18 Quantitative Finance on Parallel Architectures

For many years, parallel computing has been restricted to expensive supercomputers only available to a relatively small high-performance computing community. This situation has drastically changed in recent years: physical and technological limits to serial processing speed have initiated a paradigm shift towards parallel computing, also in inexpensive commodity hardware. Today, multicore CPUs and programmable GPUs are common even in desktop computers and notebooks. In this chapter, we want to give a rough overview of parallel programming models and their application in quantitative finance. We cannot go into programming details, but instead refer the reader to the broad range of available online tutorials; see, e.g., Barney.

18.1 A SHORT INTRODUCTION TO PARALLEL COMPUTING

For the greater part of computer history, software has been written with a serial von Neumann computer architecture in mind, where a computer program – in whatever programming language it is written – is ultimately translated into a stream of instructions that is executed sequentially. Writing parallel programs is fundamentally different: The software developer is responsible for identifying parts of an algorithm that can be run concurrently, or for transforming a given serial algorithm into an algorithm suitable for concurrent execution.

A wide range of parallel computing hardware with very different characteristics is available today. One important criterion ...

Get A Workout in Computational Finance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.