[comp.lang.fortran] pc/mac/amiga fortran floating-point performance - summary

gsk@khaki.asd.sgi.com (George S. Kong) (07/06/90)

attached is my query about fortran floating point performance
on pcs, macs, and amigas, the responses i received, and a couple
of other postings that i thought were relevant.

thanks to all who responded.

if anyone has additional comments, pls post them,
because i'm not planning on doing any further summaries.

George S. Kong,  Silicon Graphics, Inc.,  (415)962-3281
gsk@sgi.com
...{decwrl,allegra,adobe,ucbvax,pyramid,ames}!sgi!gsk

..................................................................


|From: gsk@khaki.asd.sgi.com (George S. Kong)
|Organization: Silicon Graphics, Inc., Mountain View, CA

    can anyone out there help me compare a mac to a 386 clone
    w.r.t. floating point performance in fortran?

    i have a friend who's a grad student in physics and would
    like to buy a machine to run simulations written in fortran.

    because of the student discounts available to him, he can
    purchase a mac se/30 or a similarly-configured 33 Mhz 386
    clone with a 387 math coprocessor for roughly the same price.

    i have two sets of questions:

    1) what fortran compilers are available for these two machines
       at fairly low cost?

       how do they perform on the above-mentioned hardware?

    2) the 33MHz 386 machine is closest to the se/30 in price,
       but slower ones are available. some of these models are
       available with and without caches. does presence or absence
       of a cache affect math coprocessor performance the same way
       it affects performance of other cpu operations?

|From: mcdonald@aries.scs.uiuc.edu (Doug McDonald)
|Organization: School of Chemical Sciences, Univ. of Ill. at Urbana-Champaign

    Don't know about the Mac. The compiler I tried long ago on it was
    utter crap.

    Microsoft Fortran isn't bad, but it is not a 32 bit compiler. IF he
    wants to run big programs or use 32 bit ints it is not the way to go.

    The MicroWay compiler is truly excellent - just a tad worse than
    VMS C and a big bundle better than the MIPS compiler (sorry but thats
    true. MIPS's compiler's optimizer is seriously lacking in certain
    optimizations. They know about this and have promised a fix. In fact,
    on a 25 MHz 386 the MicroWay can generate code that runs faster than 
    an Iris 4.)

    However, the Microway Compiler and the Phar Lap runtime will set you
    back about $1000. That's for a 386. More for the 486 version (which
    has instruction scheduling optimized for the 486.)

    Also, the Mac is HARD to program (unless you give up and run MPW
    all the time).

|From: wiest%tucker.Berkeley.EDU@jade.berkeley.edu (E. Joseph Wiest)

    I'm making the same choice myself, and would be very interested in
    reading the responses to your question.  Please email
    a summary to me if you do not post them .

|From: adobe!uunet!itcyyz!gchow (george chow)
|Organization: I.P. Sharp Associates, Toronto Ont., Canada.

    >1) what fortran compilers are available for these two machines
    >   at fairly low cost?

    I'm not too familiar with Fortran compilers for the Mac but I do know
    that none of them are cheap. To my knowledge, all Fortran compilers
    available for the Mac run under MPW, the standard Apple development
    environment. MPW is about $200-300 by itself and the compiler is about
    $300 or so.

    >   how do they perform on the above-mentioned hardware?

    Byte had a comparision of floating point performance of the Mac and 
    MS-DOS machines awhile back. I'm pretty sure it was within the last 18
    months. They were not testing 33Mhz machine then but you can
    extrapolate your results for a rough figure.
    My guess is that the 386 will out-perform the SE/30 because of sheer
    clockspeed and the maturity of the Fortran compilers but don't
    quote me. ;)

    >2) the 33MHz 386 machine is closest to the se/30 in price,
    >   but slower ones are available. some of these models are
    >   available with and without caches. does presence or absence
    >   of a cache affect math coprocessor performance the same way
    >   it affects performance of other cpu operations?

    Much of this depends on your application. If your simulation is largely
    compute-bound, the cache will not help much. Since I don't know how
    your simulation works, I can't make any blanket statement. The best
    thing to do, I think, would be to try one of your simulation out on
    the two machines and compare the difference. Note that the size of the
    cache makes some difference; an expandable cache, if it can be gotten
    cheaply, is a better thing than a fixed-size one.

[note i was talking about a cache for main memory, not disk]

|From: Tom Almy <toma%tekgvs.labs.tek.com@RELAY.CS.NET>
|Organization: Tektronix, Inc., Beaverton,  OR.

    I know nothing about the Mac world, but as far as the 386/387:

    Fortran Compilers: There are 386 protected mode compilers (by far the best
    performance, and  able to handle large programs) and 8086 compilers. These 
    would limit your program size to <640k. Protected mode programs will run 
    significantly faster (I've seen 2x typically, 3x sometimes). But since 8086
    compilers are cheaper (and you mentioned cost as a factor) I will mention 
    them first.

    The most widely available is Microsoft's. The recent versions seem to be
    fine (I have 5.0), but the early versions were rightly accused of being
    junk. It runs about $300. In the real Toy class are Lahey's Personal
    Fortran ($100, "small" 64k max program size), and Nevada (could be Utah)
    Fortran which I haven't seen in a while, but is even cheaper. In the $500
    range are Lahey F77L and Ryan McFarland's RM/FORTRAN. These companies have
    been around a *long* time.

    For protected mode use you need a "DOS Extender" which typically adds to
    the price. Once you have paid for the DOS extender, you can buy other
    language compilers for it as well (but they are all $$pricey). I have
    MicroWay NDP Fortran-386 (about $600), which I use the the Phar Lap 
    DOS Extender ($500, symbolic debugger $200, Virtual Memory Manager $300).

    Although I haven't seen them Lahey has a 386 compiler which is bundled with
    OS/386 (which has VM) for about $1000. I understand that OS/386 is not as
    convenient to use as the Phar Lap product. Also Watcom has a 386 compiler
    with runtime, which I know nothing about (except Watcom has an excellent
    reputation) for around $1000.

    Concerning your second question. Our first 80386 machines were 16Mhz, no
    cache (but interleaved memory). The next machines we bought (20 Mhz with
    cache) were almost exactly twice as fast. The effect of a cache will not be
    as striking for floating point, but having a cache seems to be very
    important for overall performance.

    For striking performance gain in protected mode programs and also those
    doing floating point, look at a 25Mhz 486 box. These *should* cost little
    more than a 386+387 combination. Not to effective if the only thing you
    would be running is WordPerfect :-).

|From: tbutler@wpi.wpi.edu (Tim Butler)

    an educational SE/30 costs about $2300 now. (the price dropped recently)

    make sure your friend knows that. (Or if he does, where can you get a 33MHz
    clone with co-processor for $2300??)

-there are a couple of local clone resellers in the bay area that
-advertise such prices

|From: "K. Hampel Ext 6918 Supvsr D.Vvedensky" <umapy03%CC.IC.AC.UK@CORNELLC.cit.cornell.edu>

      We've been using fortran on mac cx & ci machines. We used to have Mactran,
    but we ditched it (too buggy). The fortran we do use is Language Systems
    fortran, however this only runs under the Mac Programmers Workshop (from
    Apple Programmers & Developers Association, it works ok but not very fast:
    about twice the speed of a VaxStation 2000 (=MicroVax II) when running
    on a cx. The development environment is hard to learn & almost unixoid but
    very powerful.
      I know little enough about 386 machines except that (with coprocessor)
    they are likely to be a fair bit faster than the mac, if speed is all you
    are interested in.
    Hope this is of use.

    Kris Hampel, research student. Solid State Theory Group. Imperial College
    kris@sst.ph.ic.ac.uk (JANet).

|From: wuwei@acf2.NYU.EDU (Wei Wu)

    If you get any response , could you send me a summary ?
    Thanks in advance.

|From: cookson@helios.mitre.org (Cookson)
|Organization: The MITRE Corp., Bedford Ma.

    As a mac owner, I feel I can say this without fear of being called a
    computer racist.  The se/03 is a nice machine, but if your friend
    wants to do something processor intensive, buy the '386.  It will
    run proverbial circles around the mac in terms of processing power.  Hell,
    he might even want to go out and buy Unix and X windows for it. (not
    a big MeSsy DOS fan my self :-)).  I don't know exactly what is out there
    in terms of Fortran compilers, but I know that there a damn lot of them
    for the '386.

|From: Don Gilbert <gilbertd@silver.ucs.indiana.edu>

    From benchmark fortran programs included with
    Language Systems Fortran (~$200, see APDA catalog from Apple)
                                Whetstones    Whetstone   Savage
                             (in thousands)   time (s)   time (s)
    MacSE/30 (16MHz 68030)       882.355      1.4000      3.400
    MacII    (??MHz 68020)       631.319      2.1328      3.716

    Lang. Systems is the only Mac fortran I've used, but I am happy
    with it (for a fortran).  It compiles Vax/VMS and other 
    fortran source very well. I would also suggest to any student that
    s/he learn C and invest in a good Fortran 2 C translator if needed, 
    as ForTran is a dinosaur.        Don.Gilbert@iubio.bio.indiana.edu

|From: Ralph Seguin <gilgalad@dip.eecs.umich.edu>
|Organization: University of Michigan EECS Dept, Ann Arbor, MI

    Well, 386 machines are much quicker than 030/882 when it comes to
    floating point.  Why not get an Amiga 3000?  Cheaper and much
    faster than an SE/30.  Also, you can easily upgrade to 040 which
    will run circles around a 387 (3.5 MFLOPs off of LINPACKS).
    I know of a good FORTRAN compiler for the Amiga (Absoft FORTRAN),
    but I don't know anything about the Mac or PC FORTRAN world.

|From: Richard Alan Gerber <ragg0270@uxa.cso.uiuc.edu>
|Organization: University of Illinois at Urbana

    you might look into the Amiga line of computers. Specifically, the new
    Amiga 3000. I don't know how the cost compares, but for $3000 you get:

    Amiga 3000
    	60030 w/ 68882 coprocessor  @ 25 Mhz
    	13" multisync color monitor
    	40 MB hard disk
    	2 Meg ram
    	1 3 1/2 floppy
    	
    I haven't used it, but a good fortran compiler is supposedly available.

    And comp.sys.amiga is a very active newsgroup. If you posted your
    request about the compiler, speed, etc. to that group (or comp.sys.amiga.
    tech), I'm sure you would get a very good response.

|From: eachus@d74sun.mitre.org (Robert I. Eachus)

         From the time stamps I may even get first shot at this...

         There is a good Fortran 77 compiler from AbSoft.  It does support
    68881 and 68882 coprocessors, but you need to buy the 68020 vesion.
    So much for Fortran.

         The Amiga 3000 currently has the highest performance of any
    Amiga, and since your friend can get one for around $3000, there seems
    little point in discussing anything else.  On cache resident
    benchmarks, the 3000 is about 50% faster than a Mac SE/30 with
    floating point chip installed, and about the same speed on floating
    point as a 386 machine with a 25 MHz FPU.  (Note: Most 33 MHz 386
    boxes do not have 33 MHz or even 25 MHz FPUs.)  On programs (like
    simulations) where memory bandwidth is an issue the Amiga 3000 blows
    almost everything away.  (20 MBtyes/sec actual, compared to 5
    MBytes/sec for 386 machines and Macs IIs.)

         On large memory tests, an Amiga 3000 benchmarks at about the same
    speed as a Sparcstation for non-floating point tests.  The
    Sparcstation is about 3 times as fast on floating point.

         Before your friend goes out looking for a used SparcStation, I
    should point out that the Amiga 3000 comes with a coprocessor slot.
    When 68040 boards are available for the 3000 later this year they will
    increase the floating point performance by a factor of 10!  Yes, that
    is Cray class performance.  I don't know how much the 68040 boards
    will cost, but I doubt it will be more than $3000.  Commodore will be
    marketing at least one board (after all they put the slot in) and I
    expect the other aftermarket companies selling 68030 boards for the
    2000 will all be out there too.  Now you know why people are selling
    their 2000's and 2500's to get 3000's.  (Not me.  I'm going to keep
    this machine at work, and get a 3000 to replace my 1000 at home.)

|From: David Fetrow <fetrow@milton.u.washington.edu>
|Organization: University of Washington, Seattle

     The fastest will be the 80386+Weitek Floating Point using NDP Fortran
    from Microway. Bar none. An 80386+80387 comes in next. The Mac may
    have the edge on the Amiga but long Fortran runs are NASTY on any
    single tasking machine so the Amiga might have an edge in useability.

     A Mac running Multifinder still has the getnextevent() problem.
    An 80386 can run something like Windows or DesqView to get a multitasking
    environment.

|From: Stephane Desmarais <desmarai@iro.umontreal.ca>
|Organization: Universite de Montreal

    I only know that AbSoft is selling a Fortran compiler (Fortran 77 I think)
    for the Amiga.  Hopefully, someone more knowledgable than me will
    answer you.

|From: SYG <sukenick@sci.ccny.cuny.edu>
|Organization: City College of New York - Science Computing Facility

    Well, a number of the chemists around here do lots of simulations
    (diffusion/kinetics type problems) and we've run similar
    software on 386/387 and  Mac's.   Timing is similar, with no clear winner.

    However, if the machine is for number crunching and later processing of
    the data (display, writing reports, etc.)  the Mac has an edge in
    being *much* easier to use....it is very easy to transport data to
    applications available for the Mac: plotting, "prettying the data",
    word processing, etc.  The edge that the 386 has is cheaper add on stuff.,
    and possibly a cheaper price (future), and future upgrades.

    I am not too familar with the different compilers for the machines...
    I know that you can get a decent compiler for the 386 for ~ $100;
    the compiler that we have on the Mac is a little more awkward to use
    that I like....

    If it was up to me, I'd choose MAC  for ease of use....howeveri, instead of
    SE/30, I prefer the Mac II's  (color, and larger screen).  If I needed no
    further manipulation of the data  (other than perhaps a visual graph or a
    "rough" printout: eg: publication quality not needed often) and the
    computer was only used to produce the number crunching results,
    the 386 may be better for price of add on memory, etc.  (386 is capable of
    just as good results as the MAC, it just takes longer and is more clumsy)

    Another thing to consider is:  what machines are available for
    the grad student?  If the college has 386's with laser printers
    attached, a 386 may be more attractive. (translation form MAC to 
    PC and vice versa is available, but it is easier to just stick
    the disk in and everything is ready to go.......)

|From: gilgalad@dip.eecs.umich.edu (Ralph Seguin)
|Organization: University of Michigan EECS Dept, Ann Arbor, MI

    >An SE/30 doesn't even have a floating point accelerator, does it?
    >Most 386 clones will come with a 387.

    Pure nonsense.  Most 386 clones will not come with a 387.  Why not get
    an Amiga 3000?  Much faster and cheaper than an SE/30.  It also has the
    ability to plug in an 68040 when they come up to production.  The 68040
    will run circles around a 386/387 combo (3.5 MFLOPs on LINPACK).

|Reply-To: jeffe@eniac.seas.upenn.edu.UUCP (George J. Jefferson)
|Organization: University of Pennsylvania

    >An SE/30 doesn't even have a floating point accelerator, does it?
    >Most 386 clones will come with a 387.

    The SE30 has a 68030 w/PMMU and a 68882 Math coprecessor running at 16Mhz

|From: mkh6317@rigel.tamu.edu (HOWARD, MATTHEW KENDALL)
|Organization: TAMU

    Earlier today I posted a message regarding Absoft's MacFortran II 
    compiler.  I was hasty and wrong about somethings.  The prospect
    of a 2X speed increase in scientific computations had me excited
    to the point of carelessness.

    I was under the misconception that Absoft's previous MPW based 
    FORTRAN compiler did not have "MacFortran" as part of its name
    (it does) and took this as evidence that MacFortran-II was a 
    replacement for the MacFortran and MacFortran/020 compilers,
    which, of course, do have the string "MacFortran" as part of
    their product name.  Then I blundered on and concluded (wrongly)
    that since MacFortan-II had the name and was MPW based that the
    non-MPW based MacFortran and MacFortran/020 were abandoned products.
    Faulty logic based on bad data.  GIGO eh? :-).  Sorry.

    Now on a related issue.  Absoft reports that MacFortran II attains
    3871 K Whetstones/sec on a MacIIci running a single precision Whetstone.
    They report 1463 K Whets/sec for Language Systems FORTRAN V2.0. I get 
    1662 K Whets/sec with LSF2.0 on a IIci with all the tricks I know, 
    b/w, big system cache, no inits.  Is there anyone out there who can 
    run this test (SWHET.F) on a IIci with a cache card.  How about on 
    a IIfx? Has anyone been able to experiment with MacFortran-II or is 
    it too new?  A 2x speedup just might bring a problem I have in mind
    into the "doable" range on my IIci.

|From: john@cstreet.uu.net (John Poplett)
|Organization: C Street Software @ uunet!cstreet

    > I am trying to find a good Fortran compiler that will run under
    > XENIX on my 386 system; does anybody know pros and cons for
    > the available compilers??

    C Street Software resells 386/486 compilers from Silicon Valley
    Software. I have used their compilers for years and can speak
    for their quality.

    SVS FORTRAN-77 derives from mature 32-bit compiler technology. 
    Silicon Valley Systems has also implemented SVS FORTRAN-77 on 
    the Motorola 680x0, the NS32000 and Motorola 88000 processor 
    architectures.  The 386/486 implementation shares front end 
    language recognition and optimization components with its sister 
    implementations.

    It complies with ANSI X3.91 - 1978 and Mil-STD-1753 and supports 
    extensions such as a double-precision complex data type, INTEGER*1, 
    INTEGER*2, a binary file type,  value parameter passing, DO WHILE 
    and END DO language constructs and INCLUDE statements.

    SVS FORTRAN-77 supports Hollerith in DATA and assignment statements
    and in argument lists, hexadecimal I/O format control, and arrays 
    as format specifiers.

    SVS FORTRAN supports the 80387 and the Weitek numeric coprocessors
    It generates inline code for either.

    The compiler received a very favorable review in the May 28, 1990
    edition of Unix Today! where it was compared against LPI FORTRAN
    and NDP FORTRAN 386.

    In the report card, it received these marks (i.e. these are quotes
    from the article):

    Documentation
                / Pro  Fine as guid or reference. Exhaustive descriptions 
    		   of code optimization schemes.
                / Con  Some errors (missing appendix).

    Features    / Pro  Forgiving of code kludges.
                / Con

    Engineering / Pro  Tour de force. Fastest code in shortest time.
    Engineering / Con   

    Support     / Pro  Excellent. Direct access to developers.
    Support     / Con

    Performance/Value
                / Pro  Fast code. Lowest price.
                / Con

    >From C Street, SVS FORTRAN-77 with driver, runtime support and printed 
    manuals is priced at $795.

    Send us your US mail address if you want to be on our mailing list.
    Otherwise, feel free to contact me by phone or email.  Also, if you
    email me some code specimens, C Street will compile them and send 
    you a synopsis of compile and run times (this offer also applies
    to SVS C as well).

|From: pdy@sun.soe.clarkson.edu (P. D. Yapa)
|Organization: Clarkson University, Potsdam, NY

    I purchased this Lahey compiler for $ 1200 ( quite expensive)
    but it was really worth the money.
       Compare with some other compilers that cost only around 300$.
    They come on more than 10 disks, and you have keep inserting disks for
    installation.  Then you have to answer a zillion questions.
    Lahey EM 32 came on a single disk( archived). Type install .It asks
    only two questions ( actually you can even avoid the second question). 
    In a few minutes it is installed.  The same goes with OS 386. 
    This part is really handy.

    I spent a total of less than 15 minutes before I could get my programs
    compiled and linked.  Some of progs take up 3 meg ( estimate), I didn't
    have any problem running on a 386 with 1+ 3 Meg memory.
    compiling and linking is extremely fast. It has a debugger which looks 
    very good, but I haven't used that part extensively yet.
    YES It was expensive, but SInce I could find the money It was well
    spent.  Hope that with more sales they will come down on price.

    By the way you can buy the package from outside vendors for
    under 1000 $.  the new version also allows unlimited distribution
    of run time copies of your fortran programs.