Compiling C for the EARTH Multithreaded Architecture

  • Authors:
  • L. J. Hendren;Xinan Tang;Yingchun Zhu;G. R. Gao;Xun Xue;Haiying Cai;P. Ouellet

  • Affiliations:
  • -;-;-;-;-;-;-

  • Venue:
  • PACT '96 Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 introduce EARTH-C, our extended C language which contains simple constructs for specifying control parallelism and data locality. 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 threaded-C programs.