Porting a 2D Acoustic Wave Modeling application to HPF :
issues and problems.
Julien ZORY
Centre de Recherche en Informatique
Ecole des mines de Paris - France
zory@cri.ensmp.fr
The HPF programmer's main task is to specify how data elements are to
be distributed on virtual processors. The compiler "automatically"
handles local computations and interprocessor
communications. However, it often remains necessary to modify the
original source code in order to accommodate both the data parallel
programming model constraints and the pecularities of the compiler.
This talk focuses on different issues and problems that were
encountered when porting a simple Fortran 77 application of "2D
Acoustic Wave Modeling" (from Institut Francais du Pétrole)
to HPF. This application has been executed on an IBM SP2 and on a
network of Sparc workstations. Three HPF compilers were used in order
to evaluate the correctness and portability of this program. These
compilers are xlhpf
(the native commercial compiler from IBM), Adaptor
(the public domain compiler from GMD-Germany), and hpfc (the HPF compiler prototype
from Ecole des mines de Paris-France). Furthermore, the standard MPI communication protocol was used by the three run-time
librairies in order to provide a more realistic comparison of their
relative performances.
We start with a brief description of the application and its
distribution strategy. The second part then focuses on I/O related
problems (either a read/write statement within a loop nest or I/O
operations hidden in a procedure call). Additional difficulties
concerning reduction and timing techniques are described as
well. Finally, we discuss the measured performance, and point out
speedup losses observed with respect to a hand-optimized sequential
version (software pipelining, loop unrolling, etc.).
Even though adding directives is sometimes good enough to port an
existing application to HPF, a long adaptation process with debugging
and profiling tools is needed in (too) many cases.
Selected for presentation at
HUG'98
The 2nd Annual HPF User Group meeting
Porto, Portugal, 25 - 26 June 1998
If you want to know more about this work, just take a look at the slides.