The Paralax Infrastructure: Automatic Parallelization With a Helping Hand

被引:37
作者
Vandierendonck, Hans [1 ]
Rul, Sean [1 ]
De Bosschere, Koen [1 ]
机构
[1] Univ Ghent, Dept Elect & Informat Syst, Ghent, Belgium
来源
PACT 2010: PROCEEDINGS OF THE NINETEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES | 2010年
关键词
Semi-automatic parallelization; semantic annotations; PROGRAMS; FORTRAN;
D O I
10.1145/1854273.1854322
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Speeding up sequential programs on multicores is a challenging problem that is in urgent need of a solution. Automatic parallelization of irregular pointer-intensive codes, exemplified by the SPECint codes, is a very hard problem. This paper shows that, with a helping hand, such auto-parallelization is possible and fruitful. This paper makes the following contributions: (i) A compiler-framework for extracting pipeline-like parallelism from outer program loops is presented. (ii) Using a light-weight programming model based on annotations, the programmer helps the compiler to find thread-level parallelism. Each of the annotations specifies only a small piece of semantic information that compiler analysis misses, e.g. stating that a variable is dead at a certain program point. The annotations are designed such that correctness is easily verified. Furthermore, we present a tool for suggesting annotations to the programmer. (iii) The methodology is applied to auto-parallelize several SPECint benchmarks. For the benchmark with most parallelism (hmmer), we obtain a scalable 7-fold speedup on an AMD quad-core dual processor. The annotations constitute a parallel programming model that relies extensively on a sequential program representation. Hereby, the complexity of debugging is not increased and it does not obscure the source code. These properties could prove valuable to increase the efficiency of parallel programming.
引用
收藏
页码:389 / 399
页数:11
相关论文
共 44 条
[1]  
Adams J.C., 1992, Fortran 90 Handbook, Complete ANSI/ISO Reference
[2]   AUTOMATIC TRANSLATION OF FORTRAN PROGRAMS TO VECTOR FORM [J].
ALLEN, R ;
KENNEDY, K .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, 9 (04) :491-542
[3]  
[Anonymous], 2003, P 17 ANN INT C SUPER
[4]  
[Anonymous], 2009, MESSAGE PASSING INTE
[5]   HPFIT, a set of integrated tools for the parallelization of applications using High Performance Fortran .1. HPFIT and the TransTOOL environment [J].
Brandes, T ;
Chaumette, S ;
Counilh, MC ;
Roman, J ;
Darte, A ;
Desprez, F ;
Mignot, JC .
PARALLEL COMPUTING, 1997, 23 (1-2) :71-87
[6]  
BURKE M, 1986, SIGPLAN NOTICES, V21, P162, DOI 10.1145/13310.13328
[7]  
Butenhof DR., 1997, Programming with POSIX Threads
[8]  
Ceze L, 2006, CONF PROC INT SYMP C, P227, DOI 10.1145/1150019.1136506
[9]   The Jrpm system for dynamically parallelizing Java']Java programs [J].
Chen, MK ;
Olukotun, K .
30TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 2003, :434-445
[10]  
Chow F., 1996, Compiler Construction. 6th International Conference, CC'96. Proceedings, P253