Parallel and Heterogeneous Computing in Discrete Optimization  The aim of this tutorial is to give an overview of modern computer architectures, parallel computing, GPU computing, and heterogeneous computing. Our target audience consists of senior and junior researchers within discrete optimization with little or no knowledge of heterogeneous computing based on modern computer architectures including GPUs. No prior knowledge of GPUs or parallelism is required, and participants will learn about parallel architectures, algorithms, and state-of-the-art / best practices in the setting of discrete optimization. The tutorial starts by motivating the need for parallel and heterogeneous computing in optimization, followed by an introduction to parallelism and modern computer architectures. We will then delve into how the GPU can be used in discrete optimization by going through algorithm design and short code examples, as well as relevant literature. The tutorial concludes with a summary and our outlook on important research topics within heterogeneous computing in discrete optimization.

The slides from the tutorial can be found here.Towards the end of the presentation there are two links to github where you find the code examples (available soon).

Published June 25, 2014