Title :BENCHMARKS Keywords :COMPUTERS Computer :DEC,IBM,APPLE,ATT,CDC,HP,PRIME,GOULD,SUN,COMMODORE,TI Operating System :Various as appropriate to above systems Programming Language :Fortran , BASIC, Pascal, Assembler Hardware Requirements :None Author(s) :Earl J. Kirkland Correspondence Address :School of Applied and Engineering Physics, :Cornell University Ithaca, N.Y. 14853 Documentation: BENCHMARKS ON VARIOUS COMPUTERS Raw Floating Point Arithmetic Raw Integer Arithmetic Floating Point with Large Data Space 1D Complex FFT Time by Earl J. Kirkland School of Applied and Engineering Physics Cornell University Ithaca, N. Y. 14853 4-Sept-87 Page 2 1.Introduction The time required to execute a program on a given computer is obviously highly dependent on the type of problem and the type of computer used. Therefore to adequately gauge the performance of a given computer it is necessary to specify the type of problem. For this reason several different types of programs have been run on different computers to test their relative performance. These programs have been chosen to be representative of the different types of things done locally. The widely quoted "Whetstone" benchmark (H.J.Curnow, B.A.Wichmann, "A Synthetic Benchmark", The Computer Journal, Vol. 19, no. 1, 1975 p.43-49) is perhaps a better overall number crunching (floating point) benchmark because it is a statistically weighted average of many types of program constructs, but it is very long and too complicated to type in over and over. For comparison, a PDP 11/34 with floating point hardware running RSX (V4.0) and F77 (V5.0) is rated at 167 (204 with no error trace back) thousand whetstone instructions per sec (kWIPS), a VAX 750 is rated at 780 thousand WIPS' (with floating point accelerator), an IBM-PC/AT or XT (with floating point chips) is rated at around 70 kWIPS, in double precision (see 'A Performance Analysis of MC68020-Based Systems', by D.MacGregor and J.Rubinstein, IEEE Micro, Dec. 1985 pgs.50-70). The rival Dhrystone benchmark (R.P.Weicker, "Dhrystone: A Synthetic Systems Programming Benchmark", Comm. ACM Vol. 27 No. 10, 1984, p.1013-1030) is a non-floating point benchmark designed for structure program languages, such as C, Pascal or Ada. Recently the LINPACK benchmarks (J.Dongara, Computer Architecture News, Vol. 11, No. 5, Dec. 1983, pgs.22-27, and Vol. 13 No. 1, March, 1985 pgs.3-11) have been extensively applied to supercomputers to measure performance in FLOPS. The LINPACK benchmark is very similer to the Gauss elimination benchmark (Dongara used a different form of Gauss elimination). The FLOP rating found here are similar to Dongara's. This benchmark as well as the pitfalls of benchmarking in general has been recently discussed by Dongara et al. (J.Dongara, J.L.Martin, J.Worlton, 'Computer Benchmarking: Paths and Pitfalls', IEEE Spectrum, July, 1987, pg.38-42). Note that the times shown below are actual CPU execution times and not subjective times. On a system with many users the subjective execution time may appear to be much longer than the times tabulated below. Note also that although some times are given to many significant figures this does not mean that the time is that accurate. Times are always measured in 'clock ticks' which limits the (smallest) resolution and there is some variation with system load on multiuser systems due to program disk swapping. A total of five different programs were used. The source listings for all of these are available through the EMMPDL under the contribution title BENCHMARKS and are referred through the remainder of this text as APPENDIX I - V. There are two short programs that require very little memory but concentrate on raw computing speed. One uses integer only arithmetic (Prime number sieve) and the other uses mainly floating point arithmetic. There are two programs that use large amounts of memory and floating point arithmetic. One is a two dimensional fast Fourier transform (fairly well behaved memory access ordering) and the other is a matrix diagonalization (in two dimensions) using Gauss reduction (more disordered memory access). One dimensional complex FFT times are also recorded for comparison to advertised array processor times. The various people that have kindly contributed are; Rich Cochran(RC), Doug Davenport(DD), John Denker(JSD), Jeff Goldner(JG), Joe Hornack(JH), Michael S. Isaacson(MSI), Carl Lagoze(CL), Bruce Land(BL), Tim Larkin(TM), Kate MacGregor(KM), Dave McQueeney(DM), Doug Neuhauser(DN), Dave Olsen(DO), Keith S. Pickens(KSP), Dave Rabson(DR), Bruce Thompson(BT), and Paul Tjossem(PJT), Doug Young(DY). 2.Raw Floating Point Speed A short floating point intensive program has been run on various computers. The execution times and resulting answers are tabulated below. The program consists of a simple one line calculation imbedded in simple GOTO loops, three levels deep. This test is by no means definitive. Many other things such as memory address space, disk speed, etc. are also important. This is however useful for 'compute bound' number crunching comparisons. The FORTRAN version of the program is shown below: F=83. A=0. B=F 10 C=F 20 D=F 30 A=A+B*C/D-(B+1.)*(C+1.)/(D+1.) D=D-1. IF(D.NE.1.) GO TO 30 C=C-1. IF(C.NE.1.) GO TO 20 B=B-1. IF(B.NE.1.) GO TO 10 WRITE(5,40) A 40 FORMAT(E21.7) STOP END (Note that the .NE. may be changed to .GT. if there is a problem). This program was originally written by Rick Cochran of the Materials Science Center (Cornell Univ.). Various people have run this program on their computer and kindly provided most of the data given below. Similarly, this program in BASIC is: 10 F=83. 20 A=0. 30 B=F 40 C=F 50 D=F 60 A=A+B*C/D-(B+1.)*(C+1.)/(D+1.) 70 D=D-1. 80 IF D <> 1. GOTO 60 90 C=C-1. 100 IF C <> 1. GOTO 50 110 B=B-1. 120 IF B <> 1. GOTO 40 130 PRINT A 140 STOP 150 END The execution time of this program on different computer varies widely. To prevent abnormally long run times this program may be scaled by changing F (F=83. takes longer than F=41.). The total number of floating point operations (FLOPs) and the total number of floating point compares (FLC's) in this program are; FLOP's = 10*(F-1)**3 + (F-1)**2 + (F-1) FLC's = (F-1)**3 + (F-1)**2 + (F-1) F # FLOP's # FLCs -----+-----------+--------- 83 # 5,520,486 # 558,174 41 # 641,640 # 65,640 8 # 3,486 # 399 This yields a value of 0.0232 MegFLOP/sec for an IBM PC/XT (Fortran with 8087), 0.305 MFLOPS for a PRIME-750 (FTN 19.3 and PRIMOS 19.4.2), and 0.445 MFLOPS for a VAX-750 (VMS 4.2, FORT 4.3). The number of floating point compare operations have been ignored for this calculation of FLOPS. NOTE that use of this programs to calculate a rating in FLOP/sec for a given computer yields unrealistically high values, more realistic values are given in the Gauss elimination benchmark. 3.Floating Point Execution Times The tables below list the raw execution times for the above benchmark program. All of the computers listed below do single precision floating point with 32 bits, except the CDC 7600 which uses 64 bits in single precision (according to RC). Hence the CDC 7600 answer will have negligible round-off error and should be used as a reference answer for comparison. All other machines should get this answer, 0.3896022 E7 (and most do) when the calculation is done in double precission. The times below are in units of hr:min:sec. F=83. Single Precision (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # TIME # ANSWER # COMMENTS ----------#-----------#-----------#---------#------------#---------- Apple # Mac-os # Absoft # # #EJK 2/85 Macintosh #Finder 2.0 # F77 V2.0 # 9:29 #0.3871070 E7#integer*4 # # # # # # #Microsoft # # # # #BASIC 2.0B # 1:43:30 #0.3896050 E7#EJK 4/85 # #BASIC 2.0D # 3:07:31 #0.4241720 E7#EJK 4/85 # # # # # # # Forth 2.1 # 5:16:10 #0.3896022 E7# BL 4/85 # # # # # 80 bit # # # # # # #MacPascal # 3:33:07 #0.3895725 E7# KM 4/85 # #Lisa Pascal# 1:38:23 #0.3895725 E7# DY 4/85 # # # # # # Mac # Microsoft # # # # Finder 4.1# F77 V 2.2 # 9:32 #0.3871066 E7# EJK 1/87 # # # # # # Mac #Microsoft # # # # Finder 5.3#BASIC 3.0B # 1:12:08 # #EJK 1/87 # # # # # # # Microsoft # # # # # Compiled # 9:43 #0.3871066 E7# BL 12/86 # # BASIC # # # # # # # # # Manx #Aztec C # # # # UNIX shell# V1.06C # 1:39:52 #0.3895722 E7# DJD 4/85 ----------#-----------#-----------#---------#------------#---------- CDC # # # # # RC 7600 # # FORTRAN # :01 #0.3896022 E7# 11/81 ----------#-----------#-----------#---------#------------#---------- ATT # UNIX # # # # DO 3B2/300 # System V # FORTRAN # 4:51:26 # # 6/18/86 ----------#-----------#-----------#---------#------------#---------- # # IEEE F77 # # # CRDS # UNOS # no FPP # 6:28 #0.3897858 E7# JG 68000 # # Sky FPP # 2:03 #0.3897858 E7# 8/84 ----------#-----------#-----------#---------#------------#---------- DEC # RT-11 # opt. # # # BL _& JG LSI 11/2 # (FIS) # FORTRAN # 12:18 # # 11/81 ----------#-----------#-----------#---------#------------#---------- DEC # DOS V 9.0# # # # PDP 11/20 # EAE # FORTRAN # 30:46 #0.3897858 E7# EJK # FPS # # 10:58 #0.3802640 E7# 11/81 ----------#-----------#-----------#---------#------------#---------- DEC # RT-11 # threaded # # # BL _& JG LSI 11/23 # (FPU) # FORTRAN # 10:03 # # 11/81 (FPU) # # # # # # RSX-11M #FORTRAN 77 # # # EJK # V4.0B # V5.0 # 7:34 #0.3897859 E7# 3/11/85 # #ASSEMBLER # 7:20 #0.3895876 E7#MSCmachine ----------#-----------#-----------#---------#------------#---------- DEC # RSX 11M # FORTRAN # # # EJK PDP 11/34A# V3.2 # IV Plus # 1:55 #0.3897859 E7# 11/81 with FPP # # # # # # # # # # # RSX 11M # FORTRAN # # # EJK # V 4.0B # 77 # 1:55 #0.3897859 E7# 9/84 # # V4.1, 5.0 # # # # # # # # # RSX 11M # ASSEMBLER # # # EJK # V 4.0B # # 1:48 #0.3895876 E7# 9/84 # # # # # ----------#-----------#-----------#---------#------------#---------- DEC # # # # # PDP 11/34A# RT-11 # FORTRAN # 3:00 # # JH w/cache,FP# # IV # # # 11/83 ----------#-----------#-----------#---------#------------#---------- DEC # RSX 11M # FORTRAN # # # JH PDP 11/44# V 4.0 # 77 (V 5.0)# 1:27 # # 11/83 ----------#-----------#-----------#---------#------------#---------- DEC #RT-11 V5.0 # FORTRAN # # # JG LSI 11/73 # # IV # 3:23 # # 4/84 # # # # # #RT-11v5.1c # FORTRAN # # # JG 2/85 # # IV v2.62 # 3:09 # # /nolines (15Mhz # # F77 V5.0 # 1:42 # # /NOLINES J11) # # macro # 1:39 # # as a fcn. # # # # same as # JG #RT-11v5.1c # F77 v5.0 # :31 # VAX750 # 10/17/85 # # # # # w/FPJ11 # # # # # float pt. ----------#-----------#-----------#---------#------------#---------- DEC # VENIX # RATFOR, # # # JG LSI 11/73 # # F77 # 3:48 #0.3895876 E7# 4/84 # VENIX # FORTRAN # # # (15Mhz # # 77 # 3:47 # # J11) # VENIX # C # # # # #not optim. # 3:38 # # # VENIX # C # # # # # optimized # 3:35 # # # RT-11 # ASSEMBLER # 1:42 # Same as # 10/84 # # # # PDP 11/34A # ----------#-----------#-----------#---------#------------#---------- DEC # BSD # # # # JSD VAX-750 # UNIX # F77 # 0:46 #0.3896022 E7# 9/84 # # # # # w/FPA # VMS # F77 # 0:22 #0.3897859 E7# RC # VMS 4.0 # F77 v4.2 # 0:31 #0.3897859 E7# /NOPT # VMS 4.0 # F77 v4.2 # 0:15.3#0.3897859 E7# 9/85 EJK # VMS 4.2 # F77 v4.3 # 0:22 #0.3896022 E7# REAL*8 # VMS 4.2 # F77 v4.3 # 0:12.4#0.3897859 E7# 1/86 EJK # # # # # # VMS 4.3 # EPASCAL # 0:17.5# # EJK # # F77 V4.4 # 0:12.4# # 4/21/86 ----------#-----------#-----------#---------#------------#---------- DEC # micro VMS # # # # JG microVAX # v4.1M # F77 v4.2 # 0:13.34 # " " # 10/17/85 II # # # # # # ELN v2.1 # EPASCAL # 0:21.68 # # EJK # #VMS-F77 4.4# 0:13.26 # # 4/21/86 ----------#-----------#-----------#---------#------------#---------- DEC # TOPS 20 # # # # JSD 2060 # 5(4757)-2 # FORTRAN # 0:17.72 #0.3896025 E7# 9/84 ----------#-----------#-----------#---------#------------#---------- DEC # OS-8 # # # # JG PDP-8E #FP hardware# Assembler # 6:02 # # 2/85 ----------#-----------#-----------#---------#------------#---------- Gould # VTX/32 # FORTRAN # # # DO 9050 # 2.0V01 # # :05 #0.3933101 E7# 2/87 ----------#-----------#-----------#---------#------------#---------- HP # RTE # FORTRAN # # # EJK 1000 F # IV B # IV # 1:08 #0.3901291 E7# 10/82 ----------#-----------#-----------#---------#------------#---------- # # FORTRAN # # # DN IBM # VM370CMS # normal # :06 #0.3480567 E7# 11/81 370/ 168 # # ext. opt. # :03.5 # # ----------#-----------#-----------#---------#------------#---------- # # VS FORTRAN# # # BL 1/86 IBM # VM CMS # opt 0 # :02.7 #0.348056 E7# REAL*4 3084 # # opt 3 # :01.48# " " # REAL*4 # # opt 0 # :03.1 #0.3896022 E7# REAL*8 no FPS # # opt 3 # :01.9 #0.3896022 E7# REAL*8 # # # # # with # SJE # AP FTN64 # # # FPS 264 # # opt 1 # :01.3 #0.3896022 E7# REAL*8 # # opt 4 # :01.2 #0.3896022 E7# REAL*8 ----------#-----------#-----------#---------#------------#---------- # # VS FORTRAN# # # BL 2/87 IBM # VM CMS # V. 2 # # # 3090 # # opt 0 # :01.3 # # REAL*8 -400 # # opt 3 # :00.94 # # REAL*8 ----------#-----------#-----------#---------#------------#---------- IBM # UNIX # FORTRAN # # # DR PC/RT # BSD 4.2 # (F77) # :03:52 #0.3895725 E7# 3/16/87 old FPA # # # # # f77 -o # # C # :01:41 #0.3895725 E7# cc -o # # C # :01:40 #0.38960224E7# cc -o # # # # #doub prec ----------#-----------#-----------#---------#------------#---------- # # Microsoft # # # IBM # DOS 2 ? # FORTRAN # # # BT PC / XT # # no 8087 # 1:21:00 #0.3895725 E7# # # with 8087 # 4:31 #0.3895725 E7# 7/84 # DOS 3.0 #RMacFarland# # # # #Fortran1.00# # # PJT # # with 8087 # 3:58 #0.3895725 E7# 6/85 ----------#-----------#-----------#---------#------------#---------- PRIME # PRIMOS # FORTRAN # # # RC 400 # V 13 # IV # :52 # # 11/81 ----------#-----------#-----------#---------#------------#---------- PRIME # PRIMOS # FORTRAN # # # RC 750 # V 17.6 # IV # :19 #0.3792591 E7# 11/81 # V 19.3.2 #FTN V.19.3 # :21 #0.3792416 E7#EJK 4/85 # V 19.3.2 #F77 V19.3.1# :26 #0.3704328 E7#EJK 4/85 # V 19.4.2 #FTN V19.3 # :18.1 #0.3792416 E7#EJK 8/85 # V 19.4.2 #F77 V19.4.2# :22.4 #0.3704328 E7#EJK 8/85 # V 19.4.2 #F77 V19.4.2# :21.1 #0.3704328 E7# -FOPT ----------#-----------#-----------#---------#------------#---------- PRIME # PRIMOS # # # # CL 10/85 9955 # V 19.4.2 #F77 v19.4.2# :10.87 #0.3704328 E7# REAL*4 # V 19.4.2 #F77 v19.4.2# :12.04 #0.3896022 E7# REAL*8 ----------#-----------#-----------#---------#------------#---------- Sun 3/50 # Sun Os # # # #DO 1/29/87 with # 3.0B # f77 # :25.4 #0.3896023 E7# -f68881 68881 FP # 12/21/85 # # # # -o ----------#-----------#-----------#---------#------------#---------- Sun 3/180# Sun Unix # # # #DO /2/87 with # 4.2 # f77 # :05.7 #0.3896050 E7# -ffpa FPA # rel 3.2 # # # # -o ----------#-----------#-----------#---------#------------#---------- Symbolics # ?? # Zeta- # # # TL 1/85 3670 # # LISP # :34 #0.389605 E7# 32 bit w/FP hardware # compiled # # #sing prec ----------#-----------#-----------#---------#------------#---------- Tektronix # Tektronix # # # # EJK 6130 # UNIX # FORTRAN # 1:56 # # 2/8 (National # # 77 # # from TEK demo; answer 32016 # UTEK # # # would not output 8Mhz) # # # # with indicated LUN ----------#-----------#-----------#---------#------------#---------- F=41. Single Precision (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # TIME # ANSWER # COMMENTS ----------#-----------#-----------#---------#------------#---------- Apple # Mac-os # Microsoft # # # EJK Macintosh # # BASIC V1.0# 19:54 # 152111 # 5/84 # # # # # # # Microsoft # 1:07 # # BL 12/86 # # Compiled # # # # # BASIC # # # # # # # # # Mac-os # Microsoft # # # EJK #Finder V2.0#BASIC V2.0B# 12:06 # 153187.8 # 1/85 # #BASIC V2.0D# 21:26 # 152111 # 4/85 # # # # # # Mac-os # Microsoft # # # EJK #Finder V5.3#BASIC V3.0B# 8:24 # 153187.8 # 1/87 # # # # # # Mac-os # # # # EJK # # MacPascal # 24:34 # 153187.8 # 11/84 # # # # # # UNIX # Manx # # # EJK # Shell # Aztec-C # 11:15 # 153188 # 10/84 # # # # # # Mac-os # Absoft # # #EJK 2/85 # # F77 # 1:07 # 0.153041 E6#INTEGER*4 ----------#-----------#-----------#---------#------------#---------- DEC # RSX 11M # FORTRAN # # # EJK PDP 11/34A# V3.2 # IV Plus # :13 #0.1531878 E6# 12/81 with FPP # # # # # ----------#-----------#-----------#---------#------------#---------- F=8. Single Precision (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # TIME # ANSWER # COMMENTS ----------#-----------#-----------#---------#------------#---------- Apple # # # # # BL II + # # BASIC # :08 # # 12/81 ----------#-----------#-----------#---------#------------#---------- Apple # # MAC # # # BL Macintosh # # FORTH II # :12 # # 10/84 # # # # # EJK # #MAC-PASCAL # :09 # -239.9250 # 11/84 # # # # # EJK # # Microsoft # # # # #BASIC 2.0D # :07 # -239.926 #EJK 4/85 # # # # # EJK # Mac # Microsoft # # # # Finder 5.3#BASIC 3.0B # :03 # #EJK 1/87 ----------#-----------#-----------#---------#------------#---------- Commodore # # # # # MSI 64 # # BASIC # :10 # -239.925 # 1/86 ----------#-----------#-----------#---------#------------#---------- DEC # RSX 11M # FORTRAN # # # EJK PDP 11/34A# V3.2 # IV Plus # 0.068sec#-0.2399250E3# 12/81 with FPP # # # # # ----------#-----------#-----------#---------#------------#---------- Sharp # # # # # BL PC-11 # # BASIC # 6:00 # # 12/81 ----------#-----------#-----------#---------#------------#---------- TI # # # # # EJK CC-40 # # BASIC # :25 # -239.925 # sprg. 83 ----------#-----------#-----------#---------#------------#---------- 4.Raw Integer Speed This test uses the prime number sieve of Erastothenes (see Appendix I). There sould be 1899 primes between 0 and 8190. Source listings for the sieve in many different languages as well as the execution time for hundreds of different computers were given by J. Gilbreath and G. Gilbreath in the January 1983 issue of BYTE magazine (Vol. 8, No. 1, pages 283-326). Note that the times quoted in BYTE are for ten (10) passes through the loop whereas the times quoted here are for a single pass through the loop. Raw Integer Speed (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # TIME # COMMENTS ----------+-----------+-----------+---------+---------------------- Apple II E# # BASIC # 245 # BYTE Jan 83 p.298 ----------+-----------+-----------+---------+---------------------- Apple # Manx # Aztec # # EJK 2/85 Macintosh# UNIX # C-68K-C # 0.735667# local int array # Shell # V1.06C # 0.710667# asm optimizer # # # # # # # 0.496333# register variable # # # 0.470667# reg var and asm opt. # # # # # # V1.06G # 0.348 # EJK 5/19/86 # # # # reg var and extern # # # # char array # # # # # # Assembler # 0.287 # DJD 4/85 # # Assembler # 0.236 # EJK 5/19/86 # # # # # # # # # Mac-OS # Absoft # # EJK 2/212/85 #Finder V2.0# F77 # 0.98 # integer*4 # # # 0.83 # integer*2 # #Microsoft # # # # BASIC 2.0B# 116 # EJK 4/85 # # BASIC 2.0D# 118 # # # # # # #MacPascal # 128 # # #LisaPascal # 0.42 # DY 4/85 # # # # # # Forth 2.1 # 2.0 # BL 4/85 # # # # 32 bit # # # # # # TML Pascal# 0.7 # EJK 12/11/85 # # # # # Mac #Microsoft # # EJK 1/87 #Finder V4.1# F77 V2.2 # 0.80 # Integer*2 # # # 0.83 # Logical*4 array # # # 0.77 # Logical*2 array # # # 0.73 # Logical*1 array # # # 0.66 # Logical*1 array # # # # (in line code- # # # # not a subroutine) # # # # # Mac #Microsoft # # #Finder V5.3# BASIC 3.0B# 67 # EJK 1/87 ----------+-----------+-----------+---------+---------------------- ATT # UNIX # # # DO 6/18/86 3B2/300 # System V # FORTRAN # 0.915 # ----------+-----------+-----------+---------+---------------------- DEC # RT-11 FB # ASSEMBLER # 0.4 # DN 3/6/85 PDP11/23 # V5.1C # FORTRAN IV# 2.8 # # # # # elapsed real time (MSC # TSX 5.1B # ASSEMBLER # 0.4 # machine) # # FORTRAN IV# 3.6 # # # # # # RSX 4.0B # ASSEMBLER # 0.409 # EJK 3/12/85 # # F77 V5.0 # 1.354 # ----------+-----------+-----------+---------+---------------------- DEC # # # # KSP 2/85 PDP-11/23 # UNIX # C # 0.56 #16bit register var. ----------+-----------+-----------+---------+---------------------- DEC # RSX-11M # ASSEMBLER # # EJK 1/85 PDP11/34A# V 4.0B # # 0.357 # # # # # # # FORTRAN 77# # # # V4.1 # 0.847 # /NOTR # # # 1.067 # /TR:BLOCKS # # # 1.297 # /TR:ALL # # # 4.937 # /CK # # # 5.167 # /TR:ALL/CK # # # # # # #NOTE: time varies a little # # #because of short time ----------+-----------+-----------+---------+---------------------- DEC # # # # KSP 2/85 cache PDP-11/34 # UNIX # C # 0.32 #16bit register var. ----------+-----------+-----------+---------+---------------------- DEC # RT-11 # ASSEMBLER # 0.138 # JG 1/85 PDP11/73 # V5.1C # # # # # # # (15Mhz # # FORTRANIV # 0.93 # J11) # # F77 V5.0 # 0.362 # /NOTR # # F77 V5.0 # 0.466 # /TR:BLOCKS # # F77 V5.0 # 0.570 # /TR:ALL # # F77 V5.0 # 2.339 # /NOTR/CK # # F77 V5.0 # 2.541 # /TR:ALL/CK ----------+-----------+-----------+---------+---------------------- DEC # # # # KSP 2/85 PDP-11/73 # UNIX # C # 0.18 #16bit register var. ----------+-----------+-----------+---------+---------------------- DEC # # # # KSP 2/85 VAX-750 # UNIX # C # 0.27 # register variable w/FPA # BSD 4.2 # # #(0.28 without FPA) # VMS V4.0 # F77 V4.2 # 0.408 # defaults EJK 9/85 # VMS V4.0 # F77 V4.2 # 0.514 # /NOI4 # NOTE: V4.0 did not turn on the cache ! # # # # # VMS V4.2 # F77 V4.3 # 0.234 # defaults EJK 1/86 # VMS V4.2 # F77 V4.3 # 0.296 # /NOI4 # VMS V4.3 #EPASCAL 2.1# 0.233 # 4/21/86 EJK # VMS V4.4 # F77 V4.5 # 0.234 # 5/86 EJK # VMS V4.4 # F77 V4.5 # 0.213 # 5/86 BYTE ARRAY EJK # VMS V4.4 # assembler# 0.198 # 5/86 EJK # VMS V4.5 # F77 V4.5 # 0.209 # 1/87 BYTE ARRAY EJK # VMS V4.5 # assembler# 0.195 # 1/87 EJK ----------+-----------+-----------+---------+---------------------- DEC # # FORTRAN # # BYTE Jan 83 VAX-780 # VMS 2.3 # V2.3-53 # 0.145 # page 298 ----------+-----------+-----------+---------+---------------------- DEC # # # # JG 10/17/85 micro VAX # micro VMS # F77 v4.2 # 0.156 # II # v4.1M # # 0.195 # /NOI4 # # # # # ELN 2.1 #EPASCAL 2.1# 0.135 # EJK 4/21/86 # # F77 4.4 # 0.135 # ----------+-----------+-----------+---------+---------------------- Gould 9050# VTX/32 # Fortran # 0.063 # DO 2/4/87 # 2.0V01 # # # ----------+-----------+-----------+---------+---------------------- HP Series# # # # from: IEEE Micro 200 # Pascal # Pascal # 0.679 # December 1985 (8Mhz # Work # # # p.50-70 68000) # Station # # # ----------+-----------+-----------+---------+---------------------- HP Series# # # # from: IEEE Micro 300 # Pascal # Pascal # 0.158 # December 1985 (16Mhz # Work # # # p.50-70 68020) # Station # # # ----------+-----------+-----------+---------+---------------------- IBM-PC # DOS # BASIC # 191 # BYTE Jan 83 p.298 ----------+-----------+-----------+---------+---------------------- # #Pro Fortran# 1.46 # INTEGER*2 PJT 7/85 IBM PC/XT# DOS 3.0 #(R.Macfar.)# 3.99 # INTEGER*4 w/8087 # # V 1.0 # 4.01 # I*4 NOOPTIMIZE # # # 1.64 # I*2 NOOPTIMIZE ----------+-----------+-----------+---------+---------------------- # #Pro Fortran# # PJT 7/85 IBM PC/AT# DOS 3.0 #(R.Macfar.)# 1.20 # INTEGER*4 w/80287 # # V 1.0 # # ----------+-----------+-----------+---------+---------------------- IBM PC/RT# UNIX # FORTRAN # 0.28967 # DR 3/16/87 old FPA # BSD 4.2 # # # f77 -o # # C # 0.102 # ----------+-----------+-----------+---------+---------------------- PRIME # PRIMOS # FTN # 0.14179 # DN 2/26/85 -750 # 19.3.2 # F77 # 0.25906 # # 19.4.2 # FTN V19.3 # 0.14521 # EJK 8/1/85 # 19.4.2 #F77 V19.4.2# 0.25703 # defaults # 19.4.2 #F77 V19.4.2# 0.15539 # -INTS -OPT 4 # 19.4.2 #F77 V19.4.2# 0.20400 # -INTS ----------+-----------+-----------+---------+---------------------- PRIME # PRIMOS # # # CL 10/24/85 9955 # 19.4.2 #F77 v19.4.2# 0.05603 # ----------+-----------+-----------+---------+---------------------- Sun 3/50 #Sun Os 3.0B# f77 # # DO 1/29/87 w/68881 # 12/21/85 # # 0.047 # -f68881 -o ----------+-----------+-----------+---------+---------------------- Sun 3/180#Sun Unix4.2# f77 # # DO 2/4/87 w/ FPA # rel 3.2 # # 0.040 # -ffpa -o ----------+-----------+-----------+---------+---------------------- Tektronix #Tektronix # # # EJK 2/85 6130 # UNIX # C # 0.42 # register variable (Nat 32016# (UTEK) # # # (32 bit) 8Mhz) # # # # ----------+-----------+-----------+---------+---------------------- 5.Large Memory Floating Point Speed A This test uses the two dimensional FFT (see Appendix III) by successive application of a one dimensional FFT. Although there are faster FFT algorithms (about twice as fast) they are much harder to type in. Some times use the IEEE radix-8 1D FFT (subroutine FFT842, see chapter 7) or the prime factor FFT 1D FFT (C.S.Burrus, P.W.Eschenbacher, IEEE Trans. on Acoutics, Speech and Signal Processing, Vol. ASSP-29 no.4, August 1981, p.806-817) for comparison. Otherwise the original Cooley-Tukey radix-2 algorithm copied from Gonzalez and Wintz, Digital Image Processing (Addison-Wesley, 1977, pg 87) is used. The answer should be (1.0, 0.0). Of particular importance for PDP-11's is which data is stored as virtual arrays (noted in the comments). Note that 256 x 128 is the largest power of 2 array (it must also be a virtual array) that can be declared on a PDP-11 in general and 128 x 128 is the largest that can be declared on an 18 bit address PDP-11 (i.e. 11/23, 11/34, etc.). There is another small problem discovered too late. Some machines are clever enough to realize that they don't have to multiply by zero so this particular initialization scheme may produce misleading results (a 20-40 percent change has been seen with 1D FFT's in section 7). These may be run again in the future but for now this will have to do (sorry). Times anotated with a * are with an initialization of (1.,0.) otherwise the dummy array was initialized to (FLOAT(IX),FLOAT(IY)) (the answer should be (1.,1.)). Large Memory Floating Point Speed A (hr:min:sec.) COMPUTER # OP. SYS. # LANGUAGE # Nx Ny # TIME # COMMENTS ----------+-----------+-----------+--------+---------+------------- # # # 64 x 64# 33* # EJK 2/25/85 Apple # # Absoft # 64 x 64# 44 # EJK 3/12/85 Macintosh# Mac-os # Fortran # # # (512k) #Finder V2.0# 77 #128x128 # 130* # # # V2.0a #128x128 # 182 # ----------+-----------+-----------+--------+---------+------------- DEC # RT-11 # # # # DN 3/6/85 LSI 11/23# V 5.1C #FORTRAN IV # 64 x 64# 42* # BL monitor # # threaded # # 44* # DATA virtual (MSC # # /LINES # # 55* #A,DATA virtual machine)# # vectoring # # # # TSX 5.1B # # 64 x 64# 51* # # # # # 57* # DATA virtual # # # # 140* #A,DATA virtual # # # # # # RSX 4.0B # F77 V5.0 # 64 x 64# 43.6* # EJK 3/12/85 # # # # 48.1* # DATA virtual # # # # 102.6* #A,DATA virtual # # # # # # # #128x 128# 207.5* # DATA virtual ----------+-----------+-----------+--------+---------+-------------- DEC # RSX-11M # FORTRAN 77# # # EJK 1/85 PDP11/34A# V 4.0B # V 4.1, # 64 x 64# 17.13* # # # V 5.0 # # 18.71 # # # # # 20.30* # DATA virtual # # # # 59.98* #A,DATA virtual # # # # # # # #128x128 # 89.30* # DATA virtual # # # # 271.08* #A,DATA virtual # # # # # # # #128x128 # 59.18* # DATA virtual # # # # 63.53 # radix-8 ----------+-----------+-----------+--------+---------+-------------- DEC # RT-11 # # # # JG 3/1/85 LSI 11/73# V 5.1C #FORTRAN IV # 64 x 64# 16* # # # # # 17* # DATA virtual (15Mhz # # # # 22* #A,DATA virtual J11) # # # # # no vectoring # # # # 21* #A,DATA virtual # # # # # vectoring # # F77 V5.0 # 64 x 64# 13.33* # # # # # # # # FOR IV #128x128 # 73.0* # DATA virt # # # # 78.0 # /nolines # # # # # # # # # 97* #A,DATA virt # # # # 103 # /nolines # # # # # # TSX 5.1B # FOR IV #128x128 # 81.0* # DATA virt # # # # 86.0 # /nolines # # # # # # # F77 V5.0 # # 71.18* # # # # # 77.268 # # # # # # # # FOR IV # # 225* #A,DATA virt # # # # 230 # /nolines # # # # # # # F77 V5.0 # # 216.85* # # # # # 230.47 # ----------+-----------+-----------+--------+---------+-------------- DEC # # # 64 x 64# 7.6* # KSP 2/25/85 VAX 11/750# UNIX # F77 # # # w/FPA # bsd 4.2 # #128x128 # 31.8* # # # # # # # VMS 4.2 # F77 4.3 # 64 x 64# 2.29 # EJK 1/13/86 # # # 128x128# 9.78 # # # # 256x256# 41.5 # # # # 512x512# 188.95 # # # # # # # VMS 4.2 # F77 4.3 # 64 x 64# 1.93 # EJK 1/13/86 # # # 128x128# 7.7 # # # # 256x256# 34.3 # FFT842 # # # 512x512# 150.3 # radix-8 # # # # # # VMS 4.2 # F77 4.3 # 64 x 64# 1.90 # EJK 1/27/86 # # # 128x128# 8.10 # FFTS (1D # # # 256x256# 33.52 # mode) from # # # 512x512# 164.93 # Singelton # # # # # # VMS 4.2 # F77 4.3 # 63 x 63# 1.60 # EJK 1/27/86 # # # 126x126# 7.04 # PFAFFT # # # 252x252# 31.01 # prime # # # 504x504# 134.64 # factor ----------+-----------+-----------+--------+---------+------------- DEC # # # 64x64 # 2.3 # JG 10/17/85 micro VAX # micro VMS # F77 v4.2 #128x128 # 8.35 # II # v4.1M # #256x256 # 35.4 # ----------+-----------+-----------+--------+---------+------------- Gould 9050# VTX/32 # # # # DO 2/4/87 # 2.0V01 # F77 #512x512 # 51.8 # ----------+-----------+-----------+--------+---------+------------- # # # 64 x 64# 30.32* # I*4 PJT 7/85 IBM # DOS 3.0 # IBM pro- # 64 x 64# 22.02* # I*2 PC/XT # # Fortran # 64 x 64# 24.71 # I*2 w/8087 # #(R.MacFarl)# # # # # V1.0 #128x128 # 120.73 # I*2 # # #128x128 # 152.20 # I*4 # # #128x128 # 139.84* # I*4 # # #128x128 # 108.37* # I*2 # # # # # # # #256x256 # 456.3* # I*2 # # #256x256 # 510.04 # I*2 # # #256x256 # 590.18* # I*4 ----------+-----------+-----------+--------+---------+------------- IBM # UNIX # # # # DR 3/16/87 PC/RT # BSD 4.2 # Fortran #256x256 # 342.4 # f77 -o old FPA # # # # # ----------+-----------+-----------+--------+---------+------------- IBM # VM/CMS # VS-FORTRAN# # # BL 2/13/86 3084 # # OPT=0 # 64 x 64# 0.39 # no FPS # # OPT=3 # 64 x 64# 0.21 # # # OPT=3 #512x512 # 15.5 # 32 bit # # # # # with # SJE # AP FORTRAN# # # FPS 264 # # OPT=1 #512x512 # 12.5 # 64 bit # # OPT=4 #512x512 # 7.7 # # # CFFTSC #512x512 # 0.8 #AP subroutine # # # 64x64 # 0.2 # " " ----------+-----------+-----------+--------+---------+------------- IBM # VM/CMS # VS-FORTRAN# # # BL 2/87 3090 # # V. 2 # # # -400 # # OPT=3 #512x512 # 5.6 # REAL*4 ----------+-----------+-----------+--------+---------+------------- PRIME # PRIMOS # # # # DN 2/26/85 -750 # 19.3.2 # FTN # 64 x 64# 16.6* # integer*2 # # F77 # # 3.47* # integer*2 # # F77 # # 3.972*# integer*4 # # F77 # # 3.77 # integer*4 # # # # # # # F77 #128x128 # 15.35* # integer*2 # # F77 # # 16.35* # integer*4 # # F77 # # 16.5 # integer*4 # # # # #EJK 3/12/85 # # F77 #256x256 # 72.33* # integer*4 # # F77 #256x256 # 71.48 # integer*4 # # # # # # # F77 #512x512 # 317.71* # integer*4 # # F77 #512x512 # 312.07 # integer*4 # # # # # # V19.4.2 #F77 V19.4.2#512x512 # 302 # EJK 8/2/85 # # # # # -FOPT -INTS ----------+-----------+-----------+--------+---------+------------ PRIME # PRIMOS # F77 # # # CL 10/24/85 9955 # v19.4.2 # v19.4.2 #512x512 # 85.094 # ----------+-----------+-----------+--------+---------+------------- Sun 3/50 #Sun Os 3.0B# f77 # # # DO 1/29/87 w/ 68881 # 12/21/85 # #128x128 # 46.6 # -f68881 -o ----------+-----------+-----------+--------+---------+------------- Sun 3/180#Sun Unix4.2# f77 # # # DO 2/4/87 w/ FPA # rel 3.2 # #512x512 # 190 # -ffpa -o ----------+-----------+-----------+--------+---------+------------- 6.Large Memory Floating Point Speed B This test performs matrix diagonalization using Gauss elimination (see Appendix IV). This uses the large memory addressing in a more intense and disorganized manner. Of particular importance for PDP-11's is which data is stored as virtual arrays (noted in the comments). The total number of floating point operations in this program are given in the following table (found by inserting counters in the program); # Int to # Add # Sub # Mul # Div # Total N # FLOAT # # # # # (excl. I-F) -----+---------+--------+------------+------------+--------+------------ 100 # 20,200 # 10,200 # 509,850 # 519,950 # 5,150 # 1,045,150 150 # 45,300 # 22,800 # 1,709,775 # 1,732,425 # 11,475 # 3,476,475 300 # 180,600 # 90,600 # 13,589,550 # 13,679,850 # 45,450 # 27,405,450 The N=150 version yields a value of 0.0050 MegFLOP/sec for an IBM PC/XT (Fortran with 8087, 692 sec), 0.0865 MFLOPS for a PRIME-750 (-ints -opt4, F77 19.4.2 and PRIMOS 19.4.2, 40.2 sec), and 0.112 MFLOPS for a VAX-750 (VMS 4.2, FORT 4.3, 31.04 sec). The number of integer to floating point conversions has been ignored for this calculation of FLOPS. Large Memory Floating Point Speed B (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # N # Answer # TIME # COMMENTS ----------+-----------+-----------+----+---------+--------+--------- Apple # # Absoft #100 #.02906740# 189 #EJK 2/85 Macintosh# Mac-os # Fortran # # # # (512k) # # 77 #150 #.0236384 # 620 #INTEGER # # # # # # *4 # # #300 #.01532940#4808 #EJK 4/85 ----------+-----------+-----------+----+---------+--------+--------- DEC # RT-11 # # # # #DN 3/6/85 LSI 11/23# V 5.1C #FORTRAN IV #100 #.02906745# 247 # # # threaded # # # 369 #ABvirtual (MSC # # vectoring # # # # machine)# TSX 5.1B # #100 # # 301 # # # # # #2524 #ABvirtual # # # # # # # RSX 4.0B # F77 V5.0 #100 #.02906745# 143 #EJK 3/85 # # # # #1278 #ABvirtual ----------+-----------+-----------+----+---------+--------+--------- DEC # RSX-11M # FORTRAN 77# # # #EJK 1/85 PDP11/34A# V 4.0B # V 4.1, #100 #.02906745# 55.43 # A,B real # # V5.0 # # # 846.82 #A virtual # # # # # 865.80 #ABvirtual # # # # # 862.85 #/NOTR # # # # # 838.43 #/NOTR, # # # # # # /PR:0 # # # # # # # # #150 #.02363845#3612.08 #ABvirtual ----------+-----------+-----------+----+---------+--------+--------- DEC # RT-11 # # # # #JG 3/1/85 LSI 11/73# V 5.1C #FORTRAN IV #100 # # 103 # # # # # # 96 #vectoring (15Mhz # # # # # 155 #AB virt., J11) # # # # # #vectoring ----------+-----------+-----------+----+---------+--------+--------- DEC # # #100 #.02906745# 18.2 #KSP 2/85 VAX-750 # UNIX # F77 # # # # FPA # bsd 4.2 # with #150 #.02363845# 60.8 # # # optimizer# # # # # # #300 #.01532949# 588.2 # # # # # # # # VMS 4.2 # F77 V4.3 #100 #.02906745# 9.45 # EJK 1/86 # # #150 #.02363845# 31.04 # # # #300 #.01532949# 340.68 # ----------+-----------+-----------+----+---------+--------+--------- DEC # micro VMS # #100 # # 8.0 # JG micro VAX # v4.1M # F77 v4.2 #150 # # 27.32 #10/17/85 II # # #300 # # 220.79 # # ELN 2.1 #VMS-F77 4.4#100 #.0290674 # 7.83 # 4/21/86 # # # # # # EJK ----------+-----------+-----------+----+---------+--------+--------- Gould 9050# VTX/32 # # # # # DO # 2.0V01 # F77 #300 #.01532956# 86.6 # 2/4/87 ----------+-----------+-----------+----+---------+--------+--------- IBM-PC/XT # # Microsoft #100 #.02906745# 169 #BT 2/85 8087 # PC-DOS # F77 # # # #$LARGE (640k) # 2.1 # V3.2 #150 #.02363845# 692 #$NOFLOAT # # # # # # CALLS ----------+-----------+-----------+----+---------+--------+--------- IBM-PC/RT # UNIX # FORTRAN #300 #.01532948# 1448.6 #DR3/16/87 old FPA # BSD 4.2 # F77 # # # # f77 -o ----------+-----------+-----------+----+---------+--------+--------- IBM-PC/AT # # Microsoft #100 #.02906745# 97 #BT 2/85 80287 # PC-DOS # F77 # # # #$LARGE (512k) # 3.0 # V3.2 #150 #.02363845# 343 #$NOFLOAT # # # # # # CALLS # # # # # # # # #100 #.02906745# 87 #BT 2/85 # # # # # #$NOLARGE # # #150 #.02363845# 343 #$NOFLOAT # # # # # # CALLS ----------+-----------+-----------+----+---------+--------+--------- PRIME # PRIMOS # # # # #DN 2/85 -750 # 19.3.2 # FTN #100 #.02906708# 13.3 #integer*2 # # FTN #100 # " " # 18.36 #integer*4 # # F77 #100 # " " # 24.5 #integer*4 # # # # # # # # FTN #150 #.02363797# 42.4 #integer*2 # # FTN #150 # " " # 58.8 #integer*4 # # F77 #150 #.02363798# 80.8 #integer*4 # # # # # # EJK 4/85 # # FTN V19.3 #300 #.01532892# 388.6 # -UNCOPT # # # # # # -INTS # # FTN V19.3 #300 # " " # 566.8 #integer*2 # #F77 V19.3.1#300 #.01532891# 900.6 #integer*4 # # # # # # EJK 9/85 # 19.4.2 #F77 V19.4.2#150 #.02363797# 84.5 # defaluts # # #150 # " " # 40.2 #ints,opt4 # # #300 #.01532892# 823.9 # defaults # # #300 # " " # 357.4 # -fopt # # #300 # " " # 336.5 #fopt,ints # 20.1.1R1 #F77 V20.0.3#300 #.01532892# 361.6 # -fopt # # # # # # ejk 2/87 ----------+-----------+-----------+----+---------+--------+--------- PRIME # PRIMOS # #100 #.02906708# 3.115#CL 10/85 9955 # 19.4.2 #F77 v19.4.2#150 #.02363797# 10.418# # # #300 #.01532892# 86.197# ----------+-----------+-----------+----+---------+--------+--------- Sun 3/50 #Sun Os 3.0B# f77 # # # #DO1/29/87 w/68881 # 12/21/85 # #300 #.01532948# 392.4 #-f68881-o ----------+-----------+-----------+----+---------+--------+--------- Sun 3/180#Sun Unix4.2# f77 # # # #DO1/29/87 w/FPA # rel 3.2 # #300 #.01532949# 106.4 #-ffpa -o ----------+-----------+-----------+----+---------+--------+--------- 7.1D Complex FFT Times One dimensional FFT execution times are tabulated for comparison to advertised array processor speeds. This uses the same simple radix-2 complex FFT subroutine as in chapter 5 but does a single one dimensional FFT with a larger length (N in table below ). There are obviously more sophisticated FFT's that run faster but they are too long to type in on every machine. Some times are shown using the faster radix-8 FFT from the IEEE Digital Signal Procesing Programs tape (routine FFT842). Refer to G.D.Bergland, M.T.Dolan in 'Programs for Digital Signal Processing', (IEEE Press, 1979), edited by the Digital Signal Processing Committee, IEEE Acoustics, Speech, and Signal Processing Society, pg. 1.2-1. Also for comparison some times are shown for Singleton's mixed radix FFT (renamed here FFTS). This program is relatively well known and a complete source listing in FORTRAN can be found in R.C.Singleton, "An Algorithm for Computing the Mixed Radix Fast Fourier Transform", IEEE Trans. on Audio and Electroacoustics Vol.17, no.2 (June 1969) p.93-103 (note that this journal has since been renamed IEEE Trans. on Acoutics, Speech and Signal Processing). Singelton's FFT is also capable of performing the Cooley-Tukey alogorithm on an arbitrary length data set. M. A. Mehalic, and P. L. Rustan (IEEE Trans. Acoustics, Speech, and Signal Processing Vol. ASSP-33, June 1985, pg. 684-693) have tabulated the execution speed of five different FFT algorithms on eight different computers, and A.J. van der Steen (Signal Processing 5, 1983, p.541-546) also tested 6 FFT algorithms on 3 different computers. They discovered that even the relative performace of particular FFT algorithms may vary from processor to processor (generally not by more the 2x) depending on the relative compatability of the algorithm and the CPU architecture. NOTE: some machines are clever enough to know that they don't have to multiply by zero (i.e. they do it faster) so that the previous test using an array that was primarily zero (that was written here) produced misleading results. An occasional factor of 20-40 percent difference in speed was seen. Not all times have as yet been recomputed. Those times that deal with an FFT containing mainly zeros are annotated with an '*'. 1D Complex FFT Times (hr:min:sec) COMPUTER # OP. SYS. # LANGUAGE # N # TIME # COMMENTS ----------+-----------+-----------+-----+---------+------------ Apple # Mac-os # Absoft # # #EJK 2/85 Macintosh#Finder V2.0# F77 v2.0 #1024 # 4.35* #integer*4 # # # # # # # # 64 # 0.25 # EJK 3/86 # # # 128 # 0.50 # # # # 256 # 1.05 #integer*4 # # # 512 # 2.25 # # # #1024 # 4.65 # ----------+-----------+-----------+-----+---------+------------ Cray 1 # # FORTRAN # 512 # 0.00425 # ASSP-33 # # #1024 # 0.00898 # pg 75 ----------+-----------+-----------+-----+---------+------------ DEC # RSX-11M # FORTRAN 77# # #EJK 3/12/85 PDP 11/23 # V 4.0B # V 5.0 #1024 # 6.77* # (MSC machine) # # # # ----------+-----------+-----------+-----+---------+------------ DEC # RSX-11M # FORTRAN 77# # #EJK PDP11/34A# V 4.0B # V 5.0 # 64 # 0.137 # w/ FP # # # 128 # 0.298 # 3/13/85 # # # 256 # 0.651 # 3/13/85 # # # 512 # 1.412 # 3/13/85 # # #1024 # 3.055 # 3/13/85 # # # # # # # #1024 # 2.68* # 3/5/85 # # # # # # # # 64 # 0.062 #EJK 3/28/85 # # # 128 # 0.136 # # # # 256 # 0.285 #IEEE FFT # # # 512 # 0.623 # radix-8 # # #1024 # 1.369 # FFT842 ----------+-----------+-----------+-----+---------+------------ DEC # VMS # FORTRAN 77# # #EJK 1/13/86 VAX11/ 750# V 4.2 # V 4.3 # 64 # 0.016 # w/FPA # # # 128 # 0.034 # # # # 256 # 0.073 # # # # 512 # 0.162 # averaged # # #1024 # 0.330 # over # # # # # 200 # # # 64 # 0.012 #EJK 1/13/86 passes # # # 128 # 0.025 # # # # 256 # 0.050 #IEEE FFT # # # 512 # 0.109 #radix-8 # # #1024 # 0.257 # FFT842 # # # # # # # # 64 # 0.011 #EJK 1/13/86 # # # 128 # 0.023 # # # # 256 # 0.049 # FFTS # # # 512 # 0.109 # from # # #1024 # 0.233 # Singleton ----------+-----------+-----------+-----+---------+------------ DEC # # # 64 # 0.029 # JG 10/17/85 micro VAX #micro VMS # F77 v4.2 # 128 # 0.034 # II # v4.1M # # 256 # 0.073 # # # # 512 # 0.158 # # # #1024 # 0.340 # ----------+-----------+-----------+-----+---------+------------ Prime # PRIMOS # # # #EJK 3/13/85 750 # 19.3.2 # F77 # 64 # 0.0250 # # # # 128 # 0.0542 #radix-2 # # # 256 # 0.120 #FFT # # # 512 # 0.262 # # # #1024 # 0.562 # # # # # # # # F77 # 64 # 0.0136 #EJK 3/21/85 # # # 128 # 0.0317 # # # # 256 # 0.0533 #IEEE FFT # # # 512 # 0.124 #radix-8 # # #1024 # 0.276 # FFT842 ----------+-----------+-----------+-----+---------+------------ Prime # PRIMOS # # # # CL 10/24/85 9955 # 19.4.2 # F77 # 64 # 0.00788# # # v19.4.2 # 128 # 0.01621#radix-2 # # # 256 # 0.03485#FFT # # # 512 # 0.07424# # # #1024 # 0.15894# # # # # # # # F77 # 64 # 0.00546#CL 10/24/85 # # v19.4.2 # 128 # 0.01106# # # # 256 # 0.02212#IEEE FFT # # # 512 # 0.04667#radix-8 # # #1024 # 0.10121# FFT842 ----------+-----------+-----------+-----+---------+------------ ----------+-----------+-----------+-----+---------+------------ Analogic # DEC (UNIBUS, QBUS) # # # advertised AP-500 # DG (NOVA3/4, ECLIPSE) #1024 # 0.0047 # array proc. 9.4 MFLOP # HP-1000 # # # 32 bit FP ----------+-----------+-----------+-----+---------+------------ Analogic # DEC (UNIBUS, QBUS) # # # advertised AP-400 # DG (ECLIPSE) #1024 # 0.0074 # array proc. # HP-1000 # # #32 bit block ----------+-----------+-----------+-----+---------+------------ CSP Inc # DEC (UNIBUS, QBUS) # # # advertised Mini-MAP # #1024 # 0.0078 # array proc. 7 MFLOP # bit # # # 32 bit FP ----------+-----------+-----------+-----+---------+------------ CSP Inc # DEC UNIBUS, ? # # # advertised Mini-MAP # #1024 # ? # array proc. 5 MFLOP # 64 bit # # # 64 bit FP ----------+-----------+-----------+-----+---------+------------ FPS # # # # advertised AP-120B # ? #1024 # 0.0048 # array proc. # # # # 38 bit FP ----------+-----------+-----------+-----+---------+------------ FPS # # # # advertised AP-5000 # ? #1024 # # array proc. 26-62 MFLOP # # # 38 bit FP ----------+-----------+-----------+-----+---------+------------ FPS # # # # advertised AP-164 # ? #1024 # # array proc. # # # # 64 bit ----------+-----------+-----------+-----+---------+------------ Marinco # IBM-PC # # # advertised 3024PC # integer #1024 # 0.0072 # array proc. 3016PC # floating point # # 0.0383 #NOT COMPLEX ----------+-----------+-----------+-----+---------+------------ Mercury # DEC (QBUS) # # # advertised ZIP 3216 # Multibus, VMEbus #1024 # # array proc. # # # 0.0046 # 16 bit ? # # # 0.0130 # 32 bit ? ----------+-----------+-----------+-----+---------+------------ Numerix # # # # advertised MARS-432 # ? #1024 # 0.0017 # array proc. 30 MFLOP # # # # 32 bit FP ----------+-----------+-----------+-----+---------+------------ Sky # DEC (QBUS) # # 0.0531 # advertised SKYMNK # Multibus #1024 # 0.0539 # array proc. 1 MFLOP # Versabus # # 0.0536 # 32 bit FP ----------+-----------+-----------+-----+---------+------------ Sky # # # # advertised Warrior # VMEbus #1024 # 0.0038 # array proc. 15 MFLOP(32 bit), 0.5(64bit) # # # 32 bit FP ----------+-----------+-----------+-----+---------+------------ ------------------------------------------------------------------------------