Welcome to Hardware Support for Parallelism

  • Papers related to HW support for parallelism

Introduction and Overview

Parallel computation involves the triad of application-code, runtime, and hardware, as researchers are increasingly recognizing and the Computation Model demonstrates numerically. However, the role of the runtime has received little attention in the hardware community. It's role in the big picture is to adapt the execution model in the language to the execution model of the hardware. This involves mapping work in the application onto hardware resources, which is the key variable affecting parallel performance. High quality mappings reduce communication of data within the hardware, and increase overlap of communication with work, both of which improve performance.

The main focus of the hardware support initiative is to provide hardware that helps the runtime in this mapping, including reducing runtime overhead, accelerating the search for high quality mappings, and remaining neutral to language, supporting all parallel languages equally.