[daip] Re: Compiling AIPS with Intel Compilers
Eric Greisen
egreisen at cv3.cv.nrao.edu
Thu Nov 14 17:25:18 EST 2002
Sally Laurent-Muehleisen writes:
> Well, we've completed our work on installing AIPS on linux using
> Intel's (v. 5.0) compilers. Our AIPSMark is 89.1 (7m 29s runtime for the
> large y2k). Unless I'm mistaken, that's the winner of "Highest AIPSMark"!
> The machine is a 2 GHz dual processor Pentium 4 with 2 GB of memory. We have
> 2 70 GB data disks as well as the 9 GB system disk (on which the AIPS
> executables lie). When I ran the y2k's, I had the data on one of the 70 GB
> disks, so I might have gotten a higher AIPSMark if I'd put the data on the
> same disk as the executables, but we'll usually be running by accessing data
> on the 70 GB disks, so I figured it was just as well that I benchmarked it
> this way.
I have conducted a lot of tests using the Intel compiler on chimp
- a 1.7 GHz dual-headed Xeon Pentium III. Results were
Options DDTs Y2Ks real Y2K cpu VTESS/IMAGR/APCLN real
g77 2.95.3 57 52 52 552 562 551 8.92-9.14 93/ 344/ 58
O3 align mp 76 72 73 592 591 9.58-9.64 92/ 378/ 64
O2 unroll 69 71 71 544 544 8.67-8.76 65/ 345/ 70
O2 unroll align 74 71 71 532 533 8.60-8.69 65/ 337/ 71
O3 unroll align 74 69 70 542 538 8.77-8.82 65/ 346/ 71
The (O2 unroll) required a special NOOPT compile of subroutine SLAMCH which
hung CALIB. All other option sets worked fine.
The Intel compiler with -mp produced more accurate (nearer to Solaris)
for VTESS than did the other options and the g77. It is clear that
the -mp (math precision) option is expensive. O3 appears slightly
slower on average but align seems to help.
All these seem a little slow - the 1.8 GHz Xeons in Socorro do DDT in
44 seconds and Y2k in 433-440 or so. Note that the gnu 3.2 compiler
gives about 54 and 545.
>
> with the (fortran) compiler options of: -unroll -w -tpp7 -save -c -O2
I used -tpp6 for PIII's
> (For your information, we did try -O3 optimization, but it did not work.
> Everything *seemed* to compile okay, but when I ran the y2k, we got into some
> sort of infinite loop (?) were CALIB (I think...) just ran and ran and ran
> until I had to just kill it.)
SLAMCH I suppose
>
> By the way, I don't think we've by any means taken full advantage of
> optimization capabilities here, but we're happy with our results and don't
> think it's worth it to proceed further at this point. Using exactly the same
> machine/setup and using the default egcs compiler options, we had an AIPSMark
The egcs compiler is very old (RedHat 6.2 or before). I found a
~ 45% speedup for PIV's (and 15% for ordinary PIII's) when we switched
to gnu 2.95.
> of 72. Like I said, we're now at 89, so the improvement we did manage to get
> was still significant (~24% faster), despite the fact that we haven't
> optimized as much as we probably could. If you are curious, I could send
> compilers yourself, let us know. (By the way, using the Intel compilers is
> claimed to make a significant different for Pentium 4's, but not so much for
> Pentium III's.)
>
I guess I could get the Intel compiler put on my machine (a 1.3 GHz
PIV) rather than this Xeon but chimp is much like what we now buy as
our top end.
My conclusion:
Intel works but does not make much difference unless you run VTESS a
lot.
Intel has a workable debugger that understands Fortran, making it a
possible substitute for requiring a working solaris box to debug
things wit dbx. gnu's gdb does not grok Fortran well.
Eric Greisen
More information about the Daip
mailing list