Next: 6 Performance Results
Up: Blocking Techniques for HPF
Previous: 4 Execution of Subprograms
Subsections
The HPF compilation system ADAPTOR [1] provided by
SCAI has been extended to implement this approach. This Section
describes in more detail how to use the ADAPTOR system.
For the source-to-source translation the two flags -hpf and -cb must be enabled.
fadapt -hpf -cb <program>.f
fadapt -HPF -cb <program>.f
- The flag -hpf enables HPF compilation. HPF directives are analyzed and
applied to the source program. The generated source code contains
subroutine calls to the routines of the HPF runtime system.
- The flag -cb chooses the execution model for cache blocking.
- The flag -HPF is an abbreviation for -hpf -off:OMP -off and guarantees
that no other directives will influence the HPF compilation. It should be
prefered to -hpf as there might be some side effects, e.g. if an OpenMP
ATOMIC directive appears in the code.
The new source code has to be compiled by a native Fortran compiler and to
be linked with the HPF runtime system. This is done alltogether by the
ADAPTOR compiler driver.
adaptor -hpf -cb <program>.f
- The flag -hpf enables the flag -HPF for the source-to-source
translation and links the HPF runtime system.
- The flag -cb is only passed to the source-to-source translation.
fadapt -HPF -cb local1.hpf
ifc -w -O local1_adp.f -c -o local1.o
rm -f local1_adp.f
ifc -o a.out local1.o -L/home/brandes/adaptor/dalib/ -ladp_hpf -ladp_dm_null \
-ladp_sm_null -ladp_pm_null -ladp_trace_null -lPEPCF90
The topology of the default abstract processor array is specified at runtime:
a.out -nb p1
a.out -nb p1xp2
a.out -nb p1xp2xp3
Next: 6 Performance Results
Up: Blocking Techniques for HPF
Previous: 4 Execution of Subprograms
Thomas Brandes
2004-03-18