The sources for the compiler driver are stored in the subdirectory src1. The sources are all written in C and should run on all UNIX machines.
The executable adaptor for the driver is generated by simply typing .
cd $PHOME/src1 make
The comiler driver 6#1adaptor reads a configuration file .adaptorrc every time when it is called. It starts to look for such a file in the $PHOME directory where such a file is provided with the installation of ADAPTOR. This file will be automatically generated by the installation script configure. In the following, the different entries are explained.
DM:mpi = @MPI_LIB@ DM:mpi = -L/opt/mpich/lib -lpmpich -lmpich -lpmpich DM:mpi = -F:mpxlf -L/usr/lpp/ppe.poe/lib -lmpi ! IBM SP
SM:pthreads = @THR_LIB@ SM:pthreads = -lpthread
PM:papi = @PAPI_LIB@ PM:papi = -lpapi PM:papi = -L/uhome/scaibran/papi-2.3.4.3/src/ -lpapi -L/usr/pmapi/lib -lpmapi PM:pcl = @PCL_LIB@ PM:pcl = -lpcl PM:pcl = -L/uhome/scaibran/pcl_2.2/bin/powerpc-ibm-aix5.1.0.0 -lpcl -lpmapiIt is possible to use other hardware performance counter libraries by specifying PM:<name> = <pm_lib>. But then it is necessary to realize also a new LIBADP interface lib_pm_<name>.
PM:hpm = -lhpm # lib_pm_hpm.a must availalbe as runtime support
TRACE:vt =-L/opt/vampirtrace-3.1.0.3/lib -lVT -ldwarf -lnsl -lm -lelf -lpthread TRACE:vtsample =-L/opt/vampirtrace-3.1.0.3/lib -lVTsample -lVT -ldwarf -lnsl -lm -lelf -lpthrea d TRACE:vtsp =-L/opt/vampirtrace-3.1.0.3/lib -lVTsp -ldwarf -lnsl -lm -lelf -lpthread
FC=f77
FC_FREE=-qfree
FC_EXTEND=-qfixed=132 FC_EXTEND_LENGTH=132
FC_OPT=-O3 -qstrict
FC_MP=-qnosave
FC_FLAGS=-w
LD=f77
LD_FLAGS=-L/opt/sfw/lib/gcc-lib/sparc-sun-solaris2.9/2.95.3/ -lgcc
In the configuration file, there is also the possibility to define compound flags that make any kind of ADAPTOR compilation more convenient. Some compound flags are already defined and should not be modified at all as they are needed for the test and example programs:
-hpf_1=-Wa"-HPF"
-hpf=-Wa"-HPF" -hpflib
-omp=-Wa"-OMP"
-dm=-Wa"-dm" -dm=mpi
-sm=-Wa"-sm" -sm=pthreads
-cb=-Wa"-cb"
-openmp=-Wa"-OMP -sm" -sm=pthreads
You get help and info about the actual configuration settings of adaptor with the commands:
adaptor -help adaptor -settings
The flag -settings can be used in combination with other flags to get an overview of all flags and libraries that will be used for an ADAPTOR compilation.
$ adaptor -openmp -pm=papi -trace=vt -settings ... current settings for driver: verbose = 0, dryrun = 0, keep = 0 CPP_FLAGS : -P -traditional FADAPT_FLAGS : -omp -1 FC_FLAGS : -w -O LD_FLAGS (dalib) : -ladp_hpf_null -ladp_dm_null -ladp_sm_pthreads -ladp_pm_papi -ladp_trace_vt LD_FLAGS (user) : -lpthread -lpapi -L/opt/vampirtrace-3.1.0.3/lib -lVT -ldwarf -lnsl -lm -lelf -lpthread -lPEPCF90