3.1 Automatic Parallelization Using the kfort Driver

Automatic parallelization is most useful on large programs with the following characteristics:

KAP is unable to automatically parallelize loops with data dependencies between loop iterations or loops with calls to external routines. You may be able to cause KAP to parallelize such loops by using C*$* assertions and directives to give KAP more information.

To compile a program for automatic parallel execution, use the KAP /concurrentize qualifier, abbreviated /conc , with the kfort driver, as follows:

kfort /fkapargs=(/conc/verbose) myprog.f

The /verbose qualifier causes processing information to display, as follows:

kapf /cmp=myprog_cmp.f myprog.f               /natural
 KAP/OpenVMS_F90   V3.2 k310801 1999031    01-Mar-1999      13:46:03
0 errors in file myprog.f

Issuing the compiler command:
 for/fast/optimize=(tune=host,level=5) myprog_cmp.f

issuing link command:
 link /threads_enable/EXECUTABLE=myprog.exe myprog_cmp.obj,
 SYS$COMMON:[SYSLIB]kmp/lib

The /conc qualifier tells KAP to automatically restructure code for parallel processing. When you use the /conc qualifier with the kfort command, the driver sets the compiler qualifier /automatic by default to ensure correct execution of a multithreaded program. Do not override the /automatic qualifier.

The /conc qualifier causes the kfort driver to set the correct linker qualifiers for your versions of the OpenVMS Alpha parallel run-time and DECthreads libraries. For example, the /conc qualifier sets the following OpenVMS Alpha compiler and linker qualifiers:

Section 3.5 explains these qualifiers.


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers

Copyright © Digital Equipment Corporation. 1999. All Rights Reserved.