This document contains several parallel programming solutions to the drug design exemplar using alternative parallel and distributed computing (PDC) technologies. We begin by describing a general solution with a simplification for educational purposes and provide a serial, or sequential version using this algorithm. Then we describe each of several parallel implementations that follow this general algorithm. The last chapter provides a discussion of the performance implications of the solutions and the parallel design patterns used in them.
If you work through all of the versions of the code, you will be using different software libraries on different types of hardware:
You will need access to these hardware/software combinations in order to run each version.
The following examples require that you have Threaded Building Blocks (TBB) installed on your system. This library from Intel is typically simple to install on linux systems (or you may already have it).
To explore the Go language implementation, you will need to have Go installed on your system and know how to compile and run Go programs.