Subject: Re: CCL:PC vs. RISC timings

From: Joerg Hill <[email-masked]>
Date: Tue, 16 Aug 1994 13:02:56 -0700

Hi,
I have a benchmark programme which has been proven to give very similiar
timings as quantum chemical calculations would give. It measures mainly
floating point performance, but with pieces of real (application) code.
I run it on every computer I can get my fingers on. Here is a list of the
timings:

c
c  Computer            time    %          Compiler/Option
c                      sec    VAX
c-------------------------------------------------------------------------------
c  CRAY Y-MP2E/164   0.00641 28081        cf77 -Zv -Wf -o scalar -o vector
c  IBM RISC 6000/590   0.008 22500        f77 -O2
c  VP 400-EX           0.011 16364        Optimizing and vectorizing compiler
c  IBM RISC 6000/370   0.015 12000        f77 -O
c  CRAY 1              0.022  8182
c  SG Indigo (R4000)   0.025  7200        f77 -O2
c  IBM RISC 6000/350   0.026  6923        f77 -O
c  IBM RISC 6000/550   0.026  6923        f77 -O
c  IBM RISC 6000/340   0.032  5625        f77 -O
c  IBM RISC 6000/530   0.043  4186        f77 -O
c  IBM RISC 6000/320H  0.044  4091        f77 -O
c  IBM RISC 6000/320   0.053  3396        f77 -O
c  IBM 3090            0.059  3051        Optimizing compiler
c  SG Indigo (R3000)   0.07   2571        -O3
c  SG Indigo (R4000)   0.073  2466        f77
c  IBM RISC 6000/590   0.075  2400        f77
c  Pentium (60 MHz)    0.08   2250        Linux f2c + gcc -O2
c  Sun Sparc Sun4      0.09   2000        -O3 and -O4
c  Sun Sparc Sun4      0.10   1800        -fast or -O2
c  CADMUS FX/1 (i860)  0.10   1800        -O
c  Sun Sparc           0.10   1800        -O
c  SG Personal Iris    0.12   1500        f77 -O2
c  IBM RISC 6000/370   0.12   1500        f77
c  FX/2800             0.13   1385        -O -uniproc
c  Siemens 7881        0.16   1125
c  IBM RISC 6000/550   0.17   1071        xlf
c  SG Indigo (R3000)   0.18   1000        -sopt
c  IBM RISC 6000/350   0.18    994        f77
c  SG Iris 4D/60T      0.19    947        f77 -O2
c  HP 9000/835         0.22    818        f77 -O2
c  IBM RISC 6000/340   0.23    796        f77
c  ZKI 'System'        0.23    783
c  IBM RISC 6000/320H  0.31    584        f77
c  IBM RISC 6000/530   0.31    584        f77
c  SG Personal Iris    0.35    514        f77 -O1
c  ABC 486/33 EISA     0.37    482        MS F77 5.1 (FPi87)
c  IBM RISC 6000/320   0.38    477        f77
c  TOCOM 486/25/isa    0.50    360        MS F77 5.1 (FPi87)
c  SG Iris 4D/60T      0.53    340        f77 -O1
c  HP 9000/825         0.64    281        f77 -O2
c  HP 9000/835         0.67    269        f77 -O1
c  386/33 MHz          1.06    170 Copr.  MS 4.01 (FPi87)
c  VAX 785             1.1     164
c  Iris W-3120         1.1     164 Copr.
c  HP 9000/825         1.3     138        f77 -O1
c  Robotron K 1840     1.8     100
c  VAX 780             1.8     100
c  Acer sys-32/20      2.3      78 Copr.  MS 4.0
c  VAX 750             2.9      62
c  VAX 780             3.1      58
c  Acer 1100           3.5      51 Copr.  MS 4.0
c  BESM 6              3.5      51 (*2/3) Optimizing compiler
c  Acer sys-32/20      4.5      40 Copr.  MS 3.2 (8087.lib, $nofloatcalls)
c  Cyber 172           4.5      40
c  EC 1055             5.1      35        Optimizing compiler (OPT=2)
c  EC 1040             5.1      35
c  Acer 1100           6.1      29 Copr.  MS 3.2 (8087.lib, $nofloatcalls)
c  BESM 6              7.0      26 (*2/3)
c  IBM 370/155         7.5      24
c  AT 286/12 MHz       8.5      21 Copr.  MS 4.0 (FPi87)
c  Acer 1100           8.7      21 Copr.  MS 3.2 (8087.lib)
c  Acer 1100          10.4      17 Copr.  MS 3.2 (math.lib)
c  Iris W-3120        12.0      15
c  Atari PC3/8 MHz    14.9      12 Copr.  MS 4.0 (FPi)
c  Schneider PC 1640  15.       12 Copr.  MS 4.0 (FPi87)
c  Atari TT/16 MHz    20.        9        Prospero Fortran-77 (Vmmg 2.1)
c  Schneider PC 1640  21.        9 Copr.  PROFORT
c  Schneider PC 1640  25.        7 Copr.  MS 4.0 (FPc)
c  AT 286/12 MHz      25.        7        MS 4.0 (FPa)
c  Robotron A 7150    37.        5 Copr.  MS 4.0 (FPi87)
c  PC AT (16 MHz)     46.        4        MS 4.01 (87-Emulation)
c  Atari 1040 STF     51.        4        Prospero Fortran-77 (Vmmg 2.1)
c  Atari 1040 STF     67.        3        Prospero Fortran-77 (Vmmg 1.1)
c  Schneider PC 1640  89.        2        MS 4.0 (FPa)

The difference between a Pentium and a RISC processor is mainly floating point
performance (and that's what counts in quantum chemical and MD calculations).
You see this in the table, all new RISC chips are faster when you compare
the same level of optimization. Typical PC applications do not need much
floating point power, so manufacturers of PC chips focus on integer performance.
Typical workstation applications (as e.g. quantum chemical or MD calculations)
need floating point power and most RISC manufacturers design their chips for
it.

Joerg-R. Hill

--------------------------------------------------------------------------------
Dr. Joerg-Ruediger Hill   | Every attempt to employ mathematical methods in the
Biosym Technologies, Inc. | study of chemical questions must be considered pro-
9685 Scranton Road        | foundly irrational  and  contrary  to the spirit of
San Diego, CA 92121-3752  | chemistry ...  If mathematical analysis should ever
USA                       | hold a prominent place in chemistry - an aberration
                          | which  is  happily  almost  impossible  -  it would
Phone (619) 546-5508      | occasion  a rapid  and  widespread  degeneration of
Fax   (619) 458-0136      | that science.
E-mail [email-masked]     |                                      A. Comte, 1830
--------------------------------------------------------------------------------
 The opinions expressed in this message are my personal opinions and no offical
 statements of Biosym Technologies, Inc. For informations about Biosym products
 send mail to: [email-masked].
--------------------------------------------------------------------------------

---

From: Bill Ross <[email-masked]>
Date: Tue, 16 Aug 1994 14:06:35 -0700

Molecular Mechanics/Dynamics Benchmarks

The following benchmarks may be of interest, not only for the
thrill of watching the price/performance competition, but also
for insights into architectures and for clues about what the
molecular modelling community might request of designers. It may 
be useful to construct a set of comp chem benchmarks, including 
cases such as these along with QM and semiempirical cases.

Two cases are considered: a "small," 274-atom solute in a large
periodic bath of water molecules and ions; and a "large," 4282-atom 
molecule in vacuum. For simplicity, both systems are DNA. The code 
used is Amber 4.0.

Although the measurements have not been taken under controlled
conditions, the trials that were repeated yielded quite similar
results, probably varying by less than 2%. Formal benchmarks would
require a 'bare' machine and might well include wallclock times
and running multiple copies of a benchmark simultaneously to force
paging. In any case, the numbers that follow must be treated as
anecdotal and informal.

The form of dielectric constant has a surprising effect on performance:
using the normal form (dependent on 1/r) exacts as much as a 30% penalty
over the "distance-dependent" form (1/r^2) on architectures that have
less support for the square root operation (most notably the SGI series
and rs6000). Clearly this is one architectural feature that the comp chem 
community may want to lobby for.

Only one parallel architecture was tested as such: an old 8-processor
Alliant - using only compiler optimization - obtained correct results 
on the more tested, older code. The speedup (2.3) is harder to evaluate
given the uncontrolled conditions (I don't know how many processors
were used).

The cases include energy minimization, dynamics, and a free energy 
calculation. Eventually I expect to run the same cases for the solvated 
system as for the vacuum one.

My thanks to George Seibel and David Case for helpful observations
on architectures and factors affecting program speed.

Note: The minmd program contains the traditional energy minimization and
molecular dynamics capabilities of Amber. Sander is essentially the same, 
as used here. (Both programs have significant other features which are not 
exercised by the benchmarks.) Gibbs is the Amber free energy perturbation 
program.

			Amber 4.0 Benchmarks

These benchmarks are for larger systems than the other demo cases and
are intended to compare machine performance on more realistic problems.
The order is roughly that of performance for the fastest machine in a
product line. All times are CPU seconds measured by system calls in the 
programs; wallclock times may not correspond.  All results except for
the Alliant are for a single processor. These are single observations.

Note: benchmarks supplied by manufacturers are indicated by a leading
'-' in the margin.

		dna/Run.bench			      dna/Run.bench2

	   DNA hexamer in periodic 	        68 DNA base pairs in vacuum.
	   water box, constant volume.	        4282 atoms, 10A cutoff on all
	   7682 atoms: 274 dna, 10 	        nonbonded pairs. Distance-
	   counterions, 2466 waters.		dependent dielectric.
	   All solute interactions;
	   8A cutoff otherwise. Constant
	   dielectric.
	   ______________________________        ______________________________
	   min	      min+md	  sander                sander          gibbs
					           min         md
	   ______________________________        ______________________________

Cray
C90          - /49      - /56      - /57           - /25     - /25       59
Y-MP(ncsc)   - /80      - /92      - /90           - /44     - /44       96
Y-MP(sdsc)   - /91      - /104     - /104	   - /44     - /44       98
Y-MP EL      - /445     - /498     - /500          - /282    - /278     535

Fujitsu
VP2200	     52/54      62/64      63/64           26/24     26/25       92

HP
735	    173/172    197/193    216/190	  112/109   109/106     186
730	    336/327    367/363    337/363	  205/220   200/216     409
720/50MHz   434/462    480/512    476/503

DEC-alpha
3000/500vms 232/275    249/294    247/286         154/191   151/191     258
3000/500osf 285/363    320/397    298/335         160/195   163/197     271

iris**
-Chall150.1 209/262    221/277    221/275	  153/195   160/191     314
-Chall150.2 117/155    136/170    150/167	  104/138   102/128     199
-Chall150.4  88/108    111/124     92/118	   79/104    77/104     159
Challenge.1 298/382    322/415    324/405	  228/287   228/287     460
Challenge.2 173/219    194/243    193/242	  160/196   153/193     298
Challenge.4 108/137    132/182    130/163	  118/151   115/147     229
-Challeng.8  79/95      99/120    101/120
-Crimson    308/426    332/455    346/479
-Indigo/R4  310/416    335/448    348/488
Crimson     352/421    341/452 	  379/468	  224/281   226/282     479
 w/fastm**  337/416    358/447    325/439         219/273   216/268     481
4d/410vgx   730/1129   779/1180   768/1156
indigo3000  868/1253   881/1391   866/1300	  490/629   461/623    1269
4d/310vgx   956/1618  1015/1704   993/1560	  578/809   578/804    1244
personal   1722/2830  1724/3371  1724/2846
4d/80gt    1901/3542  1996/4006  2006/3201

rs6000
560         376/347    400/372    405/399
530	    859/844    912/895 	  915/858	  516/391   501/378     630

vax 9000    
vector	    365/468    399/520    390/524	  229/311   219/296
no vector   654/774   	  /865	  948/917	  462/497   454/794	789

convex
c2	    479/516    549/597    562/603	  279/303   277/304     767

fps
500	    744/774    855/865	  921/915

mips
rc6280	    723/1133   758/1191   731/1101        565/869   564/867     888

decstation
5000/200   1112/1585  1173/1657  1168/1638	  670/884   663/871    1325

alliant
FX/8*      1772/1876  2016/2160  2034/2184
1-process       4270

IBM 3090
200J vector  - /1999    - /2051
200J scalar  - /6059    - /6143

sun
sparc2	   1798/2145  1834/2312	 1627/2299
sparc
4/280	   2528/3830  2700/4062  2708/4018

PROGRAM NOTES

Run.bench
    min: 	100 steps minimization
    minmd: 	20 steps min, 80 steps md
    sander: 	100 steps gradual warming
Run.bench2
    sander/min: 100 steps minimization
    sander/md:  100 steps gradual warming
    gibbs:	100 steps of dynamic windows perturbation (double-wide sampling)
		note: gibbs4 does not have vectorization directives
		note: gibbs4 is double precision

    One interesting thing that came to light when developing bench2
    was that the distance-dependent (1/r^2) dielectric was significantly 
    faster than the normal (1/r) one. This effect, attributed to the taking 
    of the square root, was more pronounced when hardware arithmetic
    support was lacking. Representative results (double precision sander
    minimization):

		 SGI    Crim32M  MIPS    IBM	Convex	 HP     Cray	Fujitsu
	diel   Crim32M  -lfastm	 RC6280	 530	 C2	 730	Y-MP	VP220

	1/r^2	 347	 346     616	 391	 303	 220	  44	  24
	1/r	 594	 495     869	 576	 313	 240	  49	  29
	ratio	.584	.699    .709	.679	.968	.917	.898	.828

    When the SGI Crimson32M used -lfastm, the double precision version
    was faster than the single for the 1/r^2 dielectric: 566 single,
    495 double on minimization.

MACHINE NOTES

The Fujitsu VP2200 is a 32-bit machine with 64-bit arithmetic.
The Cray Y-MP is a 64-bit machine, so single precision results are irrelevant.
	ncsc = North Carolina Supercomputing Center
	sdsc = San Diego Supercomputing Center
The Convex C2 was running under IEEE Floating Point default mode.

-----

        Cray hpm (hardware performance monitor) results

             ________ Y-MP ncsc___              ________ C90 ________
             Run.bench  Run.bench2              Run.bench  Run.bench2

MFlops          61.5      72.7                    109.0       116.6
MIPS            36.9      37.8                     59.0        63.2
M_Mem/sec       70.9      91.2                    115.1       142.3
ClockCyc/Inst    4.5       4.4                      4.1         3.8

-----

		Memory (Mb)	Data Cache	Instruction Cache	Cache

c2	          1024
fps500		   128
alliant		    64							512K
mips		    64
rs6000/530 	    16
dec5000/200	    32

Challenge         1024          16k  (100MHz)   16k  Sec Cache   1MB
Chall150          1024          16k  (150MHz)   16k  Sec Cache   1MB
iris4d/Crim         96           8K              8K  Sec Cache   1MB
iris4d/indigoR4000  32           8K              8K  Sec Cache   1MB
iris4d/410vgx      128          64K             64K  Sec Cache   1MB
iris4d/310vgx       32          64K             64K  Sec Cache 256KB
irisPersonal        12          32K             64K
iris4d/80gt          8          32K             64K

*Automatic parallelization directives were invoked in the 
Alliant compilation. The machine has 8 processors. I do not
know what the parallel timings mean, but am impressed that
correct results were obtained on all tests except polarization. -Bill Ross

** SGI:
Multiprocessor results are from a version of code parallelized by SGI, 
available on request from UCSF, currently being integrated in the
standard release.  -lfastm = "fastmath" lib. Energy results
were exactly the same after 100 steps min + 100 steps md. -BR

-------------------------- testing effect of vector on 4.1

Vector speeds up ~30% on a Convex.
 
100 steps each test,
md1 = gradual warming,
md2 = straight dynamics
 
times: novec/vec
 
          --dna in water, 7682 atoms--    ---dna in vac, 4282 atoms---

	  min       md1       md2	  min       md1       md2
Convex
x	  181/127   196/141   194/142     183/132   181/131   179/114
y	  472/320   511/362   514/358     517/338   516/333   511/331

Cray
x
y
----
Bill Ross

>From [email-masked] Mon Jul 25 15:44:54 1994
Date: Mon, 25 Jul 1994 14:34:04 -0700
From: [email-masked] (Xinjun "Jason" Hou)
To: [email-masked]
Subject: CCL:Hardware benchmarks
Sender: [email-masked]
Status: R

  [email-masked] (Todd J. Raeker) writes:
>  I will be purchasing at least 2 high performance workstations
>...
>As I write this I realize that most likely these types of questions 
>come up periodically.  Being that most people on this list are ussually
>involved in similiar searchs, it might be a good idea to maintain some
>sort of FAQ summarizing the real life performance of workstations.  If
>there is any interest and one does not already exist, I will volunteer
>to maintain such a file that would be available via ftp. Let me know  
>what you think.                                                      

 Several sites contain benchmark information on various hardwares,
 many benchmarks are not comp. chem. specific:

   1) PDS, "The Performance Database Server",
      http://performance.netlib.org/performance/html/PDStop.html

      - a lot of information

   2) Anonymous ftp: "ftp.nosc.mil" in "pub/aburto"

      - bechmarks reported by individual users + ...

   3) [email-masked] (gopher: netlib2.cs.utk.edu 70) in 
      benchmarks/performance directory

      - LINPACK (from the oldest machine to the newest ones)

   4) "comp.benchmarks" newsgroup 
   
      - regular posting of FAQ.benchmarks and other things

Xinjun

C     Xinjun Jason Hou                                   [email-masked]
C     Agouron Pharmaceuticals, Inc.    #include <Standard_Disclaimers.h>
C10110000110100101101110011010100111010101101110010010000110111101110101

---Administrivia: This message is automatically appended by the mail exploder:
[email-masked] -- everyone     | [email-masked] -- coordinator
[email-masked]: HELP CHEMISTRY  | Gopher: www.ccl.net 73
Anon. ftp www.ccl.net     | [email-masked] -- archive search
http://www.ccl.net/chemistry.html |     for info send: HELP SEARCH to MAILSERV

---

From: Pisanty Baruch Alejandro-FQ <[email-masked]>
Date: Tue, 16 Aug 1994 15:12:11 -0600 (CST)

Dear Charlie:

1. Look into the CCL archives for benchmarks; in a minute I'll send you a 
relevant file too.

2. Except if you'll only be doing word processing and worksheets, buy a 
RISC. But MSI had better have someone able to answer your question - if 
they don't I'll *never* even consider their products again!

>
>We do have people who can answer this question.  I just neglected to ask 
>anyone.
>

Yours,

Alejandro

.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
Dr. Alejandro Pisanty, Secretary of the Advisory Council on Computing, UNAM,
and Head of the Graduate Division, Faculty of Chemistry, UNAM
Universidad Nacional Autonoma de Mexico (UNAM)
Ciudad Universitaria
04510 Mexico DF
MEXICO

Tel. (+52-5) 622 4181, 616 1649; Fax 550 0904, 616 2010
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

---

From: "JieYuan,Chemistry,U.Cincinnati" <[email-masked]>
Date: Tue, 16 Aug 1994 20:01:47 -0500 (EST)

Dear Dr. Simpson:

I am a chemist, knowing only enough about computers to get around.  But
I'd like to share my understanding of RISC vs. CISC with you.  These are
all hear-says.

CISC is developed on the idea of designing complicated (thus the C) instruction
system in the CPU chip, so that the programming can be much easier, therefore,
the requirement for RAM is much less demanding.  It served its purpose in the
past decade or so, rather well.  Remember RAM's used to cost huge $$?

RISC is based on the fact that simplified/reduced (thus the R) instructions
can be piped through the CPU and improve the overall efficiency of the CPU
very much.  It requires a little bit more RAM, but hey, the benefit is huge :-)

The so called pipe line can be analoged by an assembly line.  The first
worker puts on the first, say, 10 parts, and move the product to the second
worker.  In RISC, the first worker can now pick up the next product and install
the first 10 or so parts while the second worker is installing the second 10
parts or so on the first product, simultaneously.  In CISC, this is impossible,
because the instructions are not the same length and the first worker does not
have a way of figuring out what to do untill all the workers finish their parts
of a job.  In other words, the first worker will have to wait all the time,
except at the beginning of a product.  So do all the other workers at various
times.  In a CPU, there are many "parts" of processing, and their work cannot 
be coordinated well to utilize their potentials efficiently.  Their work has 
to be pipelined to make the whole system efficient.  RISC is the future of 
computing, any efficient computing.

At the beginning of the RISC technology, only supercomputers were well 
pipelines, now most workstations are.  In the near future, all the personal 
computers will be.  That is why I like the IBM/Apple/Motorola PowerPC line 
of CPU.  This product has a future, while Pentium does not.

Have you heard that the P6 (80686) chip of Intel will be RISC and the 80x86
CISC will be hardware emulated so that all the PC softwares do not become
obsolete overnight?  CISC's days are numbered.  Emulated CISC will put enough
overhead on the computing that P6's performance can hardly be better than
Pentium's.  Only the true RISC software can beat the CISC with ease.  However,
true RISC PC softwares will take some time to develop.  Apple's PMacs are doing
it now.  PC's will have to do it in 1995 or later, but they cannot avoid it.

So, if you have enough money, go for a SGI, Sun, HP, or Alpha, which are all
RISC machines.  P-Macs are also quite good, not to mention its bang for the
buck than any of the workstations, whose profit margins have to be high due to
limited volume.  Pentium?  Probably not, unless you have only the software
for PC :-(

Cheers!

Jie
===== Jie Yuan === Chemistry === U. Cincinnati === [email-masked] =====