[daip] Preliminary report on Portland Group Compiler
Patrick P. Murphy
pmurphy at NRAO.EDU
Mon Feb 12 14:10:49 EST 2001
Bill Cotton has kindly donated his time in trying to fashion a Linux port
of AIPS to the pgf77 compiler. Progress was made, and some of our
questions have been answered, but the result thus far is disappointing.
Here's a quick rundown:
* Debugger: one can indeed examine variables in common blocks, but Bill
found the combination of no readline-like command line editing and
the different and less flexible syntax of pgdbg (vs. gdb) to be
sufficiently annoying as to mostly cancel any gain.
* ZTPWAD: we cloned the HP version, adding:
C LINUX/PGI fortran reports two
C errors, depending on mode.
DATA EOFERR /252/,
* EOFER2 /253/
as the two end-of-file compiler specific error codes.
* Fortran Compile options:
COMPILER=/usr/pgi/linux86/bin/pgf77
COMPSWIT="-c -Mdclchk -Msave -Mnorecursive -Minfo=all -Mstandard"
OPT0="-Ktrap=fp -g"
OPT1="-O0"
OPT2="-O1 -mp -fast"
OPT3="-O2 -mp -fast -Mconcur -Munroll -Mvect=sse"
OPT4=$OPT3 ; OPT5=$OPT4 ; OPT6=$OPT5
OPT7=$OPT6 ; OPT8=$OPT7 ; OPT9=$OPT8
NOOPT=$OPT0
DEBUG="$DEBUG -g"
(The "-g" on OPT0 was apparently dictated by the debugger, which
required *every* module in a binary to be compiled debug before
pgdbg would operate on it).
* C Compile options: COMPILER="/usr/pgi/linux86/bin/pgcc"
DEBUG="-g"
OPT0="-O3 "
COMP="-c -O3 -Mstandard -Munroll -I$INC -DHAVE_LINUX_GLIBC"
* Link options: COMPILER="/usr/pgi/linux86/bin/pgf77 -mp"
DEBUG="-g -Ktrap=fp"
OPT0=" -g"
OPT1=""
OPT2="-mp -fast"
OPT3="-mp -fast -Mconcur -Munroll -Mvect=sse"
(See Fortran above for -g justification on OPT0).
* The DDT suite was chugging along nicely, until it got to MX where it
died horribly. Bill started to track down where the problem was. It
goes away when one compiles everything in debug mode. At first it
seemed like it might be a Q routine (QPUT specifically) but now it
seems that the problem lies in something it calls.
* Bill didn't think it was useful to get any timing results with an
AIPS built completely with -g.
He basically ran out of time so once again this compiler is (literally) on
my desk. If anyone wants to have at it, everything is on vulcan, in the
/export/users/aips/bcotton/AIPS/ directory so (for bash users):
bash$ slogin vulcan
...
vulcan$ cd /export/users/aips/bcotton/AIPS/
vulcan$ . /home/aips/31DEC01/SYSTEM/UNIX/UNAIPS.SH
vulcan$ . ./LOGIN.SH; $CDTST
AIPS_VERSION=/export/users/aips/bcotton/AIPS/31DEC01
vulcan$
You can do this as aipsmgr, as that account is already set up to use the
compiler.
I seriously doubt I'll have much time for this side project in the near
future. If someone does want to take it on, let me know and keep the rest
of us AIPs informed. Thanks.
- Pat
More information about the Daip
mailing list