DDT: a research tool for automatic data distribution in HPF

This article describes the main features and implementation of our automatic data distribution research tool. The tool (DDT) accepts programs written in Fortran 77 and generates High Performance Fortran (HPF) directives to map arrays onto the memories of the processors and parallelize loops, and exe...

Descripción completa

Detalles Bibliográficos
Autores: Ayguadé Parra, Eduard|||0000-0002-5146-103X, García Almiñana, Jordi|||0000-0002-3515-7150, Gironès Medina, Mercè, Grande Ayan, Ma. Luz, Labarta Mancho, Jesús José|||0000-0002-7489-4727
Tipo de recurso: artículo
Fecha de publicación:1997
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/28472
Acceso en línea:https://hdl.handle.net/2117/28472
https://dx.doi.org/10.1155/1997/780152
Access Level:acceso abierto
Palabra clave:Electronic data processing
Parallel programming (Computer science)
Informàtica
Programació en paral·lel (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
Àrees temàtiques de la UPC::Informàtica
Descripción
Sumario:This article describes the main features and implementation of our automatic data distribution research tool. The tool (DDT) accepts programs written in Fortran 77 and generates High Performance Fortran (HPF) directives to map arrays onto the memories of the processors and parallelize loops, and executable statements to remap these arrays. DDT works by identifying a set of computational phases (procedures and loops). The algorithm builds a search space of candidate solutions for these phases which is explored looking for the combination that minimizes the overall cost; this cost includes data movement cost and computation cost. The movement cost reflects the cost of accessing remote data during the execution of a phase and the remapping costs that have to be paid in order to execute the phase with the selected mapping. The computation cost includes the cost of executing a phase in parallel according to the selected mapping and the owner computes rule. The tool supports interprocedural analysis and uses control flow information to identify how phases are sequenced during the execution of the application.