home *** CD-ROM | disk | FTP | other *** search
- This file describes the installation instructions for port of ADAPTOR,
- software tool for Automatic Translation of Data Parallel Programs to the
- OS2 platform.
-
- Please refer to readme.os2 for the description of the software and
- for the list of requirements for sensible use of this software.
-
- Installation of this software is fairly painles. In adaptor\bin
- directory you get 3 tools used for translation of Fortran programs
- to Fortran programs that are parallel with the use of communication
- libraries based on message passing paradigm:
-
- - fadapt.exe is the actual Fortran to Fortran translator
- - fstrip.exe is the tool to transform Fortran file generated by
- fadapt.exe to the usual form (it limits the length of the
- individual lines to be less or equal then 72 - or any
- other number between 50 and 150, but 72 is Fortran
- standard).
- - fsplit.exe Tool to split Fortran source file into files containing
- one routine each - functions, subroutines, block data
- and main program (that means each function is in separate
- file etc.). It is not directly used by the default setup
- of fadapt, it is written in FORTRAN (sic) and I am
- not even including source code, because to read command
- line options it uses some routines from the CERN library.
- I wrote it because I got frustrated not to have such a tool
- in OS2 (every compiler vendor of commercial Fortran
- compilers on UNIX platforms is shipping it with their
- compiler, but I am using f2c so I was forced to write
- it). But hey, it works.
- Copy these 3 files to your usual tools directory or to the place in
- your path.
- fadapt.exe after invocation with the optional parameters (read original
- documantation) generates around 10 files describing the process of
- translating your code to parallel code and also generates makefile.
- In order to be able to use makefile directly without ever looking at
- it, you are asked to define two environmental variables:
- PVM_ROOT - it is the base directory of the directory structure for
- the PVM that you are supposed to use with this software
- (see readme.os2). For instance: set PVM_ROOT=d:/pvm3
- DALIB - this a place, where make (I am using dmake !) is supposed
- to find two libraries (dalib.a and unilib.a) + four
- object files (mhost.o, mnode.o, mnode1.o, mcube.o).
- They are shipped in directory adaptor\lib so you can
- set DALIB to point to this directory (or you can move them
- to \emx\lib and let DALIB to point there).
- Example: set DALIB=d:/adaptor/lib
-
-
- Now you can go to the examples directory, go one level deeper into
- simple and say:
- fadapt -H simple.f
- If what happens is that you get various messages about different
- stages of translation and it all ends up with the message that host.f
- and node.f where successfully generated it seems to work. Now have
- a look (al least this time) at the content of the makefile and
- after that try to say: dmake in the same directory. If everything
- goes OK, you are left with host.exe in that directory and node.exe
- has been moved after creation to the directory where PVM expects
- "worker processes" (refer to PVM documentation) which is typically
- drive:/pvm3/bin/os2. Moving node.exe (so that it can be started by
- PVM deamon) was the reason for defining PVM_ROOT. If you don't
- define those two environmental variables, some reasonable defaults
- are chosen. If you have PVM deamon running, try to run host.exe.
- If everything works you are invited to read the original documentation
- for getting real understanding how ADAPTOR works.
- If nothing works you are invited to read the original documentation
- for getting real understanding how ADAPTOR works plus to do some
- thinking about what went wrong.
-
- You can recompile fadapt, fstrip plus libraries using makeadap.cmd
- located in adaptor directory. If you need to modify the way makefile
- is produced (because of the peculiarity of your setup) you have to
- read (and at least partly understand) the file makef.c in adaptor\src
- directory.
-
-
- Technical remarks:
-
- The port itself consisted in changing the names of the routines
- to conform to 8.3 conventions and to change file makef.c in
- adaptor\src directory. That file generates makefile and is the
- most likely candidate for the one beeing changed if you want to
- get different looking make file.
-
- As you might have seen, I assume that you have popular file
- manipulation utilities from GNU collection: mv and rm.
-
- Fadapt can be compiled also with X-Windows support. I have avoided
- to make it even more difficult to use this software, so I am avoiding
- this option completely.
-
- One small warning: There is one small inconvenience present
- in the current port. If you have DATA statements in your routines,
- fadapt currently appends some additional definitions of its own to
- the end of the declarative part of the routine. It means some INTEGER
- and teh like definitions are appended after DATA statements. This
- violates Fortran standard (though most commercial compilers don't
- complain) and f2c complains about that. In this case you have to
- move those data statement by hand. I have communicated the problem
- to the authors and have some hope that it might be fixed in the next
- release of ADAPTOR.
- Because of the character of the software, you are probably going
- to have to work with generated code at least a little bit anyway.
- But the quality of ADAPTOR as a tool is fairly high and it sure
- can save a lot of time to people like me that would have to paralellize
- the code by hand.
-
- Jan Ftacnik
- ftacnikj@fnal05.fnal.gov
-