The ADAPTOR compilation system package consists of:
Figure 1 shows how the different components work together for compiling a HPF [Hig97] program into an equvialent parallel program based on MPI [SOHL$^+$96] and/or PThreads [NBFF96]. The compiler driver adaptor invokes the source-to-source translation fadapt that generates a parallel program with explicit thread or MPI parallelism from the HPF program. Afterwards, it invokes a native FORTRAN 77 or Fortran 90 compiler to compile the generated code. Finally, the compiled codes are linked with the LIBADP runtime system and the utilized MPI and/or Pthreads library. While the message passing programs are well suited for distributed memory (DM) architectures, the parallel programs based on PThreads run well on shared memory (SM) architectures. In a similar way, HPF programs can also be compiled for serial machines by ignoring the parallelism, and also for clusters of shared memory architectures by exploiting nested process and thread parallelism.
The latest version of ADAPTOR can also be used to compile OpenMP [The97] Fortran programs to parallel programs using PThreads (see Figure 2).
Before continuing, make sure that ADAPTOR has already been installed on your machine (see also ADAPTOR installation guide [Bra04a]) and that you know in which directory it is installed. Although you can make your own installation, it is recommended to make a system-wide installation for all users.
A detailled description of the input language for ADAPTOR can be found in the ADAPTOR Language Reference Manual [Bra03a]. There are also many example programs available that can be used to study the functionality of the compilation system.
The ADAPTOR tool is already available for a longer time and there have already been released some earlier versions. Before starting make sure that you have the right version of the source-to-source translation fadapt and the DALIB runtime system.
fadapt -version
It should be version 10.1 otherwise this user manual might be incorrect for some features.
Attention: It is absolutely necessary that the DALIB runtime system has the same version as the source-to-source translation. Otherwise there might be inconsistencies between the generated DALIB calls and the latest interfaces of these routines.
The latest version of ADAPTOR supports now also the OpenMP language. The following functionalities have been added and changed during the last time: