ABSTRACT

The last decade has seen several hardware and software technologies proposed to establish a manycore computing paradigm in scientific and technical computing. Some of these technologies found traction and were adopted by thousands of users (e.g., Compute-Unified Device Architecture [CUDA]), and some have fallen out of favor despite huge investments (e.g., the IBM Cell Broadband Engine in Roadrunner, the world’s first petascale supercomputer at the Los Alamos National Laboratory). Today, all supercomputers adopt massively parallel, multithreaded architectures. In this chapter, we will show you how to use multithreaded architectures in the context of scientific and technical computing.