Compiling C for the EARTH multithreaded architecture |
| |
Authors: | Laurie J Hendren Xinan Tang Yingchun Zhu Shereen Ghobrial Guang R Gao Xun Xue Haiying Cai Pierre Ouellet |
| |
Affiliation: | (1) School of Computer Science, McGill University, H3A 2A7 Montreal, Quebec, Canada |
| |
Abstract: | Multithreaded architectures provide an opportunity for efficiently executing programs with irregular parallelism and/or irregular
locality. This paper presents a strategy that makes use of the multithreaded execution model without exposing multithreading
to the programmer. Our approach is to design simple extensions to C, and to provide compiler support that automatically translates
high-level C programs into lower-level threaded programs. In this paper we present EARTH-C our extended C language which contains
simple constructs for specifying control parallelism, data locality, shared variables and atomic operations. Based on EARTH-C,
we describe compiler techniques that are used for translating to lower-level Threaded-C programs for the EARTH multithreaded
architecture. We demonstrate our approach with six benchmark programs. We show that even naive EARTH-C programs can lead to
reasonable performance, and that more advanced EARTH-C programs can give performance very close to hand-coded threated-C programs.
This work supported, in part, by NSERC and FCAR. |
| |
Keywords: | Parallel languages multithreaded architecture compiling for parallel architectures |
本文献已被 SpringerLink 等数据库收录! |
|