To attract more technical programmers to high-performance computing platforms, vendors have developed programming language extensions designed to exploit parallel processors. This article provides an overview of langu...
详细信息
To attract more technical programmers to high-performance computing platforms, vendors have developed programming language extensions designed to exploit parallel processors. This article provides an overview of language support for parallel technical computing. It describes the rationale for multithreaded languages, in which the programmer explicitly specifies what work is to be carried out by multiple processors and how their activities should be coordinated. Discussion begins with an introduction to the general models for manipulating multiple threads and how they are incorporated into programming languages. This is followed by sections describing the wide variety of features for creating multiple threads, scheduling their execution, synchronizing their activities, and sharing data among them. Examples in a simplified, Fortran-like notation accompany the text. A separate section summarizes how the language features are currently distributed among commercial compiler implementations. Some less traditional approaches to multithreaded language support are then presented to provide a glimpse at what might be expected in future languages and compilers.
暂无评论