[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