EXPERIENCES ON PARALLELIZING COMPILATION FOR DEVELOPMENT AND PORTING OF LARGE SCALE APPLICATIONS ON DISTRIBUTED MEMORY PARALLEL SYSTEMS * B. DI MARTINO , S. BRIGUGLIO , M. CELINO , G. FOGACCIA , G. VLAD , V. ROSATO , AND M. BRISCOLINI § Abstract. High level environment,such as High Performance Fortran (HPF), supportingthe development of parallel applications and porting of legacy codes to parallel architectures have not yet gained a broad acceptance and diffusion. Common objections claim difficulty of performance tuning, limitation of its application to regular, data parallel computations, and lack of robustness of parallelizing HPF compilers in handling large sized codes. We have adopted the HPF approach in porting three different applications, performing plasma and molecular dynamics simulation, developed at the Italian National Agency for New Technology, Energy and the Environment (ENEA). We report in this paper our experiences gained during this effort, providing a case study for testing the suitability of the HPF approach to achieve the target of an easy and effective parallelization (or parallel development) and maintenance of real, large sized scientific applications. Key words. Parallel Simulation, High Level Parallel Programming Environments, High Perfor- mance Fortran. 1. Introduction. The increased availabilityof parallel and distributed architec- tures has made urgent the need of effective and easy-to-use instruments for program- ming such systems. It is generally accepted that the message passing approach, based on manual partition of data, insertion of communication library calls, handlingof boundary cases, is very complicated, time-consuming and error-prone, and affects the portability of the resulting program. An alternative approach to the programming of parallel architectures is based on the automatic transformation of sequential code, possibly augmented with paral- lelization directives, into explicitly parallel code, by means of parallelizing compilers. This method is not only useful for supporting the reuse of “dusty decks”, but has also important advantages when developing an application from scratch: 1. easy design, development, verification and debugging of sequential code, 2. existence of several environments for the support of sequential programming, and 3. portability – the compiler performs the mapping from the sequential code to a code suited to a particular parallel target architecture, including machine-specific optimizations. High Performance Fortran (HPF) is a programminglanguagestandard that adopt- s this approach. With HPF, the programmer is only responsible for defining, by means of (high level) directives, how the data are to be distributed to the processors. The HPF compiler is responsible for producing code to distribute the array elements on the available processors. The message-passing code produced by the compiler, ac- * Associazione Euratom-ENEA sulla Fusione, C.R. Frascati, CP 65, 00044 Frascati, Roma (Italy) Second University of Naples, Dip. di Ingegneria dell’ Informazione (Italy) ENEA - HPCN Project, C.R. Casaccia, CP 2400, 00100 Roma AD (Italy) § IBM Italia, Roma (Italy) 1