AN INTEGRATED RUNTIME AND COMPILE-TIME APPROACH FOR PARALLELIZING STRUCTURED AND BLOCK STRUCTURED APPLICATIONS

被引:25
作者
AGRAWAL, G [1 ]
SUSSMAN, A [1 ]
SALTZ, J [1 ]
机构
[1] UNIV MARYLAND,UMIACS,COLLEGE PK,MD 20742
基金
美国国家科学基金会; 美国国家航空航天局;
关键词
COMPILER SUPPORT; DISTRIBUTED MEMORY PARALLEL MACHINES; HIGH-PERFORMANCE FORTRAN; MULTIBLOCK CODES; MULTIGRID CODES; RUNTIME SUPPORT;
D O I
10.1109/71.395403
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In compiling applications for distributed memory machines, runtime analysis is required when data to be communicated cannot be determined at compile-time. One such class of applications requiring runtime analysis is block structured codes, These codes employ multiple structured meshes, which may be nested (for multigrid codes) and/or irregularly coupled (called multiblock or irregularly coupled regular mesh problems). In this paper, we present runtime and compile-time analysis for compiling such applications on distributed memory parallel machines in an efficient and machine-independent fashion. We have designed and implemented a runtime library which supports the runtime analysis required. The library is currently implemented on several different systems. We have also developed compiler analysis for determining data access patterns at compile-time and inserting calls to the appropriate runtime routines. Our methods can be used by compilers for HPF-like parallel programming languages in compiling codes in which data distribution, loop bounds and/or strides are unknown at compile-time. To demonstrate the efficacy of our approach, we have implemented our compiler analysis in the Fortran 90D/HPF compiler developed at Syracuse University, We have experimented with a multiblock Navier-Stokes solver template and a multigrid code. Our experimental results show that our primitives have low runtime communication overheads and the compiler parallelized codes perform within 20% of the codes parallelized by manually inserting calls to the runtime library.
引用
收藏
页码:747 / 754
页数:8
相关论文
共 26 条
[1]  
BOKHARI S, 1990, ICASE10 NASA LANGL R
[2]   COMPILING FORTRAN 90D/HPF FOR DISTRIBUTED-MEMORY MIMD COMPUTERS [J].
BOZKUS, Z ;
CHOUDHARY, A ;
FOX, G ;
HAUPT, T ;
RANKA, S ;
WU, MY .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1994, 21 (01) :15-26
[3]  
Briggs W L, 1987, MULTIGRID TUTORIAL
[4]  
CHATTERJEE S, 1993, SIGPLAN NOTICES, V28, P149, DOI 10.1145/173284.155348
[5]  
Choudhary A., 1992, Computing Systems in Engineering, V3, P43, DOI 10.1016/0956-0521(92)90093-X
[6]  
DAS R, 1993, 6TH P WORKSH LANG CO, P152
[7]  
Gerndt M., 1990, Concurrency: Practice and Experience, V2, P171, DOI 10.1002/cpe.4330020303
[8]  
GUPTA SKS, 1993, 1993 P INT C PAR PRO
[9]   COMPILING FORTRAN-D [J].
HIRANANDANI, S ;
KENNEDY, K ;
TSENG, CW .
COMMUNICATIONS OF THE ACM, 1992, 35 (08) :66-80
[10]  
HIRANANDANI S, 1993, CRPCTR93338S CTR RES