KAP does parallel decomposition of programs so they run on
symmetric multiprocessor systems (SMP). This chapter describes
how to compile and run a program for parallel execution using the
kfort
driver. The chapter also describes how you can
adjust the degree to which KAP automatically performs parallel
decomposition inside your program. KAP parallel processing provides
three methods of programmer control, as follows:
C*$*
directives and assertions inside the program to guide KAP.
However, KAP makes the final decisions regarding optimizations.
KAP performs data dependence analysis to decide whether a given loop can be parallelized. KAP automatically inserts calls where it is safe to do so to the parallel run-time library. Then KAP informs you of the data dependencies that prevent parallelization. Section 3.1 shows how to use KAP to perform automatic parallelization of your program.
C*KAP*
directives. The C*KAP*
directives are the KAP implementation of the X3H5 standard
produced initially by the Parallel Computing Forum (PCF). These
directives are called PCF directives in this manual.
When you use directed parallelization, KAP does not perform data dependence analysis and does not prevent you from using a directive incorrectly. Section 3.2 shows how to use KAP to perform directed parallelization of your program.
Each method uses the same run-time parallel processing libraries.
Review Chapter 2 for general information on KAP syntax, file naming conventions, and optimizing programs.