**************************************** * Matrix Multiply Algorithm Results * * Results file: mm_1.tbl * * Source file: mm.c * * RAM usage: Need at LEAST 10 MBytes * * Al Aburto, aburto@nosc.mil * * 01 Oct 1997 * **************************************** The Matrix Multiply program mm.c is by Mark Smotherman. His email address is: mark@cs.clemson.edu. Please contact Mark regarding the mm.c code or for questions, comments, and results showing wide variations. What results I get (Al Aburto, aburto@nosc.mil) I'll pass along to Mark too. This table of results is kept at 'ftp.nosc.mil' (128.49.192.51) in directory 'pub/aburto'. You can access this and other programs and results via anonymous ftp. I try to keep things frequently and regularly updated. mm.c is a collection of nine matrix multiply algorithms. Five of those algorithms were selected for this database. The algorithms and options are shown below. Compile mm.c as: cc -O -DN=500 mm.c -o mm (or use whatever other compile options you prefer) and then run mm with the options shown below. NOTE: You must use '-DN=500' else the matrix size will be undefined. The results are very interesting as they reveal the enormous effect that cache thrashing can have on the results with different machines, algorithms, compilers, and compiler options. There are even more efficient algorithms tuned for specific machines. Toshinori Maeno (tmaeno@cc.titech.ac.jp) of the Tokyo Institute of Technology has sent me a few examples for HP, IBM, DEC, and Sun. The MFLOPS rating (for FADD and FMUL) can be obtained from the results. For example, for the T. Maeno algorithm (mm -m 20), the number of FADD and FMUL instructions (weighted equally) is N * N * ( 2 * N + 25 ) = 256250000 (for N = 500). Therefore MFLOPS = N*N*(2*N+25) / Runtime, where Runtime is in seconds (see table below). Thus the IBM RS/6000 Model 560 is working at 256250000/3.44 = 74.5 MFLOPS relative to equally weighted FADD and FMUL instructions. With a properly 'tuned' algorithm this could be further improved. mm -n :option n - normal matrix multiply mm -u 8 :option u - innermost loop unrolled by factor of 8 mm -t :option t - matrix multiply using transpose of b matrix mm -b 32 :option b - matrix multiply using blocking (size 32) without unrolling. mm -m 20 :option m - matrix multiply using Maeno method of blocking (size 20) and unrolling. -- Time to do 500 X 500 Matrix Multiply -- System mm -n mm -u 8 mm -t mm -b 32 mm -m 20 (sec) (sec) (sec) (sec) (sec) REF ### ----------------------- ------- -------- -------- -------- -------- --- 001 HP 9000/J210XC, 120MHz 4.98 11.52 4.44 4.62 1.06 64 002 SGI Origin 200, 180MHz 8.03 5.49 4.79 4.32 1.12 58 003 SGI Indigo2, R10000/195 8.51 8.53 7.57 2.95 1.18 46 004 IBM RS/6000 590(Power2) 2.69 2.77 2.38 5.65 1.22 32 005 SGI Indigo2, R10000/195 9.49 8.64 7.92 5.93 1.41 46 006 SGI Onyx 6.72 6.73 6.74 10.12 1.43 59 007 SGI Origin 200, 180 MHz 1.08 1.05 0.98 4.40 1.56 70 008 Sun Ultra-1, 143 MHz 31.02 31.02 6.81 3.58 1.69 63 009 Sun Enterprise 4000/10 19.88 20.01 6.15 2.29 1.74 66 010 SGI O2, R10000/175 37.60 36.79 19.25 7.03 2.19 53 011 SGI O2, R10000/175 36.76 36.65 19.26 4.40 2.23 53 012 Sun Enterprise 4000/10 25.18 23.03 8.87 5.40 2.56 66 013 PowerPC 7300, 200MHz 43.51 39.72 13.37 6.11 2.59 69 014 HP 9000/J210 23.70 23.98 6.88 10.17 2.66 52 015 DEC 4000/710 AXP 26.92 23.70 8.59 11.29 2.88 23 016 Sun Ultra 1 32.68 29.23 10.47 7.93 2.99 35 017 IBM RS/6000 25E, 66MHz 145.52 147.37 12.30 11.64 3.20 65 018 HP 9000/735 36.41 31.93 14.97 11.54 3.30 4 019 HP 9000/735 34.44 30.27 13.98 16.68 3.34 25 020 IBM RS/6000 Model 560 92.34 93.26 7.32 16.44 3.44 11 021 Pentium Pro, 180MHz 13.25 13.32 5.95 8.33 3.48 55 022 IBM RS/6000 Model 570 103.24 104.03 9.07 16.44 3.51 22 023 DEC 4000/710 AXP 30.16 25.27 8.37 15.08 3.65 23 024 Sun Ultra 1 41.28 37.49 13.09 9.92 3.72 35 025 Pentium Pro, 200 MHz 13.84 14.17 6.09 6.76 3.90 67 026 IBM RS/6000 Model 550 104.84 105.47 8.63 19.75 4.01 2 027 Sun Ultra-1, 143 MHz 33.61 29.59 10.20 7.78 4.05 62 028 HP 9000/712, 100 MHz 31.75 30.98 13.66 15.17 4.06 39 029 HP 9000/712, 120 MHz 16.31 42.52 13.47 9.09 4.10 64 030 PowerMac 8100/80 134.36 118.64 20.05 12.85 4.16 28 031 DEC 3000/400 AXP 41.94 38.53 17.26 16.13 4.18 23 032 IBM RS/6000 Model 950 105.55 106.15 8.65 29.02 4.20 13 033 IBM RS/6000 Model 950 105.72 106.01 8.65 29.01 4.21 13 034 SGI Indy, 150MHz 33.64 32.59 16.70 15.12 4.36 58 035 DEC 4000/710 AXP 27.69 24.76 8.15 15.67 4.45 23 036 SGI Challenge S 29.74 28.85 15.38 16.88 4.45 56 037 Sun HyperSPARC 20/HS21 57.09 48.96 19.30 16.58 4.63 34 038 DEC 4000/610 AXP 39.90 37.13 20.63 18.70 4.83 13 039 DEC 4000/610 AXP 39.92 37.21 20.57 18.72 4.84 13 040 DEC 3000/400 AXP 46.99 40.78 18.67 21.46 5.25 23 041 Sun HyperSPARC 61.95 52.21 22.45 18.29 5.76 37 042 SGI Indigo2 R4400 (150) 41.60 40.84 20.41 22.55 5.88 19 043 Dell XPS Pro 200n 12.12 14.98 6.36 11.62 5.95 49 044 Dell XPS Pro 200n DOS 12.19 18.46 6.38 14.17 6.04 49 045 Pentium P5-166 40.91 40.26 11.76 20.98 6.15 57 046 DEC 3000/400 AXP 42.89 39.56 18.67 22.44 6.32 23 047 Sun SPARCserver 20/612 60.22 48.77 20.70 26.94 6.83 29 048 IBM RS/6000 Model 950 105.76 106.89 11.14 29.23 7.20 13 049 Pentium P5-133 42.40 42.40 12.63 25.54 7.30 48 050 Dell XPS Pr200n NooptNT 17.94 14.32 15.36 18.21 7.53 49 051 DEC 4000/710 AXP 9.31 9.00 8.47 7.00 8.19 23 052 Pentium P5-120 49.04 48.94 15.76 28.56 8.40 45 053 SGI Indigo2 R4000 (100) 61.96 59.98 26.83 35.90 8.67 23 054 AMD K6/200, 200 MHz 31.52 30.49 11.54 15.54 8.95 68 055 IBM RS/6000 Model 320 230.72 231.84 -------- 60.40 9.05 1 056 Cray YMP 1.66 3.89 1.31 48.69 9.12 20 057 Sun SPARCstation 10/41 80.02 75.46 25.92 15.94 9.42 2 058 Pentium P5-100 48.72 48.72 15.16 33.62 9.56 43 059 Pentium Pro, 200MHz 13.79 12.31 6.43 26.65 9.73 54 060 SGI Indigo R4000 (100) 72.40 62.43 29.72 37.11 9.89 13 061 SGI Crimson R4000 (100) 75.76 61.99 29.00 41.44 10.10 16 062 SGI Indigo R4000 (100) 76.68 62.16 30.44 41.09 10.11 16 063 SGI Indigo2 R4000 (100) 76.58 63.34 31.74 41.02 10.12 23 064 SGI Indigo2 R4000 (100) 76.38 63.59 31.76 41.02 10.13 23 065 SGI Indigo2 R4000 (100) 79.89 65.67 32.65 42.37 10.47 16 066 Pentium P5-133 49.71 44.27 18.30 23.94 10.55 47 067 Pentium P5-120 55.20 49.16 20.32 26.58 10.60 45 068 SGI Indigo R4000 (100) 76.03 63.93 30.96 41.07 11.27 13 069 SGI Indigo R4000 (100) 76.46 63.83 30.90 41.14 11.29 13 070 DEC 3000/4000 AXP 13.12 12.59 11.77 9.84 11.55 23 071 Pentium P5-133 136.05 135.94 18.89 26.81 11.59 47 072 Sun SPARCstation 10/41 96.82 75.68 31.59 43.52 11.91 2 073 DEC 4000/610 AXP 7.78 7.90 7.85 14.12 12.25 13 074 SGI Crimson R4000 (100) 25.66 58.17 31.97 20.77 12.29 16 075 Pentium P5-100 57.34 50.37 20.71 31.31 12.30 43 076 Pentium P5-100 58.28 51.24 21.14 31.36 12.36 44 077 SGI Indigo R4000 (100) 27.10 59.10 33.45 20.64 12.59 16 078 DEC 4000/710 AXP 36.83 33.62 17.39 20.51 13.01 23 079 SGI Indigo2 R4000 (100) 28.31 62.07 35.41 21.34 13.20 16 080 AMD K5-PR133, 100MHz 54.87 -------- 20.17 22.06 13.44 60 081 Sun SPARCstation 10/41 89.67 77.61 24.35 40.99 13.61 2 082 SGI Indy PC R4000 (100) 124.16 111.55 51.95 54.65 13.76 16 083 Sun SPARCstation 10/30 116.24 102.65 18.95 45.73 13.91 2 084 Gateway 2000 Pentium 71.57 65.73 22.23 36.70 14.06 30 085 Pentium P5-75 112.82 116.06 22.08 45.70 14.28 41 086 Gateway 2000 Pentium 72.06 67.06 24.88 35.86 14.28 31 087 Escom Pentium/100 DOS 62.78 71.45 17.25 24.28 14.33 49 088 Dell XPS Pr200n NoopDOS 34.82 25.98 24.22 28.45 14.34 49 089 DATEL Pentium P5-90 113.15 108.54 25.10 36.08 14.61 31 090 Sun SPARCsystem 600-4 38.38 81.65 36.83 34.88 14.70 27 091 Sun SPARCstation 10/41 26.16 73.93 26.09 27.64 15.55 2 092 ZEOS Pentium P5-90 102.11 96.95 26.75 36.20 15.93 31 093 Pentium P5-75 114.68 120.47 26.43 25.73 16.63 42 094 Sun SPARCstation 10/41 104.98 85.16 26.18 47.08 16.94 2 095 Pentium (75 MHz) 118.91 110.62 29.33 42.79 17.03 40 096 SGI Indy PC R4000 (100) 51.11 108.22 56.38 33.34 17.33 16 097 Force 2CE (80 MHz) 93.17 64.02 39.41 43.46 18.09 61 098 Sun SPARCstation 2 (80) 89.64 65.13 32.18 42.95 18.13 12 099 SGI Indy PC R4000 (100) 53.35 112.15 59.13 34.39 18.23 15 100 AMD5K86-P90 (90MHz) 80.57 74.37 30.70 31.86 18.35 51 101 DEC 3000/400 AXP 56.96 50.96 28.73 29.19 18.44 23 102 Sun SPARCstation 10/30 136.03 106.74 41.99 55.44 20.87 3 103 PowerMac 8100/80 159.02 143.97 35.82 40.18 22.07 24 104 AMD5K86-P90 (90MHz) 73.32 74.04 30.59 36.08 22.30 51 105 Sun SPARCstation 2 (50) 73.65 53.10 42.38 67.29 24.86 14 106 Sun SPARCstation 2 (80) 88.65 65.14 34.08 44.18 25.55 12 107 SGI Indigo R3000 (33) 159.12 122.46 46.67 97.91 28.66 16 108 Sun SPARCserver 690 MP 129.50 110.90 49.72 80.40 29.35 5 109 Gateway Pentium P5-90 67.95 61.96 19.22 21.86 30.15 26 110 SGI Indigo R3000 (33) 72.65 121.53 77.22 58.20 32.61 16 111 Sun SPARCstation 2 (40) 110.14 71.84 75.58 90.70 34.73 14 112 Sun SPARCstation 2 (40) 94.09 67.25 53.55 84.33 35.32 5 113 Sun SPARCstation 670 146.67 106.27 72.38 86.45 36.40 3 114 AMD 5x86-133 91.26 68.19 47.69 58.57 38.63 50 115 DEC DECstation 5000/240 178.44 154.30 79.86 100.53 38.72 23 116 DEC DECstation 5000/240 180.74 155.64 80.74 101.36 38.87 23 117 486DX4/100 89.71 71.14 41.82 75.05 40.96 36 118 DEC DECstation 5000/240 207.84 166.54 86.98 116.68 41.04 23 119 DEC DECstation 5000/240 217.22 165.36 114.74 117.60 41.41 23 120 Sun SPARCstation 670 159.17 108.38 56.39 86.87 41.79 18 121 Sun SPARCstation 670 164.68 112.79 58.75 86.99 42.23 18 122 Sun SPARCstation 2 (40) 125.55 76.50 82.42 91.12 42.25 2 123 486DX4/100 98.38 81.24 54.10 76.01 42.51 43 124 AMD 486DX4/100 102.44 90.35 55.15 80.41 43.11 43 125 486DX4/100 131.98 115.73 54.10 76.02 43.50 43 126 Escom Pentium/100 Noopt 149.45 121.01 65.53 81.40 46.08 49 127 Sun SPARCstation 2 (40) 132.51 76.59 61.87 90.81 46.38 2 128 IBM RS/6000 25E, 66 MHz 195.65 189.81 68.64 84.26 47.51 65 129 DEC DECstation 5000/240 218.27 166.28 111.68 116.86 47.61 23 130 Sharp PC-3060 Cyrix 5x86 107.55 81.51 60.42 74.65 48.45 38 131 SKY Shamrock, i860 (40) 170.61 -------- -------- 49.66 50.54 61 132 DEC DECstation 5000/240 253.83 176.59 119.41 127.18 52.69 23 133 SGI Personal Iris 25G 295.00 246.79 149.54 154.00 55.35 16 134 Sun IPX 176.93 134.21 145.27 99.72 60.03 21 135 Intel 486DX2/66 200.13 161.69 106.87 110.78 68.75 6 136 SGI Personal Iris 25G 205.44 246.96 195.66 120.21 75.25 16 137 Sun SPARCstation 1+ 229.35 129.14 154.44 197.09 88.34 3 138 Sun SPARCstation 1 221.78 141.39 120.41 226.98 89.02 17 139 OPUS 5120, SPARC 1+ 218.95 136.59 150.25 209.59 100.65 10 140 Amiga 4000/25 431.98 357.02 185.78 346.06 102.12 8 141 80486DX/40 210.58 172.39 111.77 192.98 104.36 33 142 DG Aviion 5225 342.73 281.46 151.56 154.47 106.34 13 143 DG Aviion 5225 333.79 275.26 139.62 174.02 106.61 13 144 DG Aviion 5225 337.61 269.69 147.59 154.87 107.11 13 145 Escom 80486DX2/66 DOS 150.33 174.13 68.17 100.07 107.99 49 146 OPUS 5120, SPARC 1+ 207.29 130.18 124.81 178.79 108.79 10 147 OPUS 5120, SPARC 1+ 210.53 132.67 120.63 181.04 109.08 10 148 Vega 486DX/33, ISA 295.77 231.02 145.94 212.83 131.11 2 149 Escom 80486DX2/66 Noopt 413.59 311.98 246.34 253.48 159.17 49 150 Vega 486DX/33, ISA 256.69 200.00 187.53 256.64 161.94 9 151 Sun 4/110 (C3 System) 459.81 239.71 204.65 422.71 294.08 7 152 Atari Mega ST 4 3261.35 1491.16 1549.45 2092.12 -------- 10 --- ### 001 HP 9000/J210XC, HP-UX 10.20, PA7200_2CPU, 120 MHz, HP92453-01 A.10.32.10 HP C Compiler, cc -DUNIX -Ae +Oall +DAJ210XC +DSJ210XC +Oparallel -Wl,aarchive 002 SGI Origin 200, Irix 6.4, MIPS R10000, 180.0 MHz, SGI Irix C Compiler 7.1, cc -O -64 -DUNIX, 1MB Cache, 128MB RAM Note: The R10000 is a 64-bit CPU with 64-bit OS and compiler 003 SGI Indigo2, Irix 6.2, R10000, 195.0MHz, IRIX C Compiler, 64-bit, cc -DUNIX -O -64 -r10000 NOTE: The R10000 is a 64-bit machine with 64-bit OS & compiler. 004 cc -O3 -qarch=pwr2 -DUNIX -DN=500 mm.c -o mm -lbsd 005 SGI Indigo2, Irix 6.2, R10000, 195.0MHz, Irix C Compiler, 32-bit, cc -DUNIX -O NOTE: The R10000 is a 64-bit machine with 64-bit OS & compiler. 006 SGI Irix C Compiler 6.2, cc -O -r8000 -DUNIX, 4MB Cache, 320MB RAM Note: The R8000 is a 64-bit CPU with 64-bit OS and compiler 007 SGI Origin 200, Irix 6.4, MIPS R10000, 180MHz, SGI Irix C Compiler 7.1.1, cc -DUNIX -O3 -64, 1MB cache, 1GB RAM 008 SunOS 5.5.1, Sun C V4.0, cc -DN=500 -DUNIX -fast -O4 -xchip=ultra -xarch=v8plusa 009 Solaris 2.5.1, UltraSPARC, 250 MHz, Sun C 4.0, cc -fast -xO5 -xtarget=native -DUNIX -DN=500 010 Irix C 6.2, 32-bit, cc -O -32 -DUNIX NOTE: The R10000 is a 64-bit machine with 64-bit OS & compiler. 011 Irix C 6.2, 32-bit, 1MB cache, cc -O -n32 -DUNIX NOTE: The R10000 is a 64-bit machine with 64-bit OS & compiler. 012 Solaris 2.5.1, UltraSPARC, 250 MHz, gcc 2.7.2.1 cc -O3 -funroll-loops -DUNIX -DN=500 013 BeOS, CPU: 604e, 200 MHz, 512KB L2 cache, 64MB RAM, Metrowerks C/C++, cc -O full 014 HP 9000/J210, 120 MHz, HP-UX C compiler, cc -O -DUNIX 015 OSF/1 1.3, OSFCMPLRS130, C89BASE130, KPCBASE150, cc -O3 -Olimit 1400 -migrate -DN=500 -DUNIX 016 Solaris 2.5, UltraSPARC, 167 MHz, gcc 2.6.0, gcc -O2 -msupersparc -DUNIX_Old 017 AIX 3.2.5, PPC601, 66MHz, xlc 1.2.1, mm -n :cc -DUNIX -O3 -qarch=PPC -qtune=601 mm -u 8 :cc -DUNIX -O3 -qarch=PPC -qtune=601 -qstrict -qinlglue -Q=80 mm -t :cc -DUNIX -O3 -qarch=PPC -qtune=601 -qstrict mm -b 32 :cc -DUNIX -O3 -qarch=PPC -qtune=601 mm -m 20 :cc -DUNIX -O3 -qarch=PPC -qtune=601 018 HP-UX 9.01, cc +O3 -J -Wl,-a,archive +P 019 HP-UX 9.01, HP C 9.65, cc -DUNIX +O4 +Oall 020 AIX 3.2, 512 MByte 021 Pentium Pro, 180 MHz, Linux 2.0 (ELF), gcc 2.7.2, gcc -DUNIX -DN=500 -O3 -funroll-loops 022 AIX 3.2.4, cc -O -Q -DN=500 023 OSF/1 1.3, OSFCMPLRS130, C89BASE130, KPCBASE150, cc -O3 -Olimit 1400 -DN=500 -DUNIX 024 Solaris 2.5, UltraSPARC, 143 MHz, gcc 2.6.0, gcc -O2 -msupersparc -DUNIX_Old 025 Pentium Pro, 200 MHz, Windows 95, Intel motherboard VS440FX ATX, 32 MB RAM (60ns fast page), Borland C++ V5, bcc32i -DBORLAND_C -DN=500 -O2 -6 026 AIX 3.2.4, cc -O -DN=500 mm.c -o mm delphi.beckman.uiuc.edu 027 Sun Ultra-1, 168 MHz, SunOS 5.5.1, gcc 2.7.2.1, gcc -DN=500 -DUNIX -O3 -funroll-loops -mv8 028 HP-UX 9.03, PA-RISC7100LC, 100 MHz cc -DUNIX +Oall +P -Wc,-DA712,-DS712 029 HP92453-01 A.10.32.10 HP C Compiler, cc -DUNIX -Ae +Oall +DA712 +DS712 -Wl,aarchive 030 xlc 1.02, xlc -O3 -Q 031 OSF/1 1.3, CMPLRS130, cc -O3 -Olimit 1400 -migrate -DN=500 -DUNIX 032 AIX 3.2.?, xlc 1.02, c89 -O -Q -qansialias -DUNIX -DN=500, Result is average of 5 runs. 033 AIX 3.2.?, xlc 1.02, c89 -O -Q -DUNIX -DN=500, Result is average of 5 runs. 034 SGI Indy, Irix 6.2, MIPS R5000, 150.0 MHz, SGI Irix C Compiler 7.0, cc -O -DUNIX, 512KB Cache, 64MB RAM 035 OSF/1 1.3, OSFCMPLRS130, C89BASE130, KPCBASE150, c89 -O3 -Olimit 1400 -DN=500 -DUNIX 036 Irix 6.2, R4400, 200MHz, Irix C 7.0, 1MB cache, 128MB RAM, cc -O -DUNIX 037 Sun HyperSPARC, 125 MHz, Solaris 2.4, gcc 2.6.0, gcc -O2 -msupersparc -DUNIX_Old 038 OSF/1 1.3, C89BASE120, c89 -O3 -Olimit 1400 -DUNIX -DN=500, Result is average of 5 runs. 039 OSF/1 1.3, C89BASE120, c89 -O4 -Olimit 1400 -DUNIX -DN=500, Result is average of 5 runs. 040 OSF/1 1.3, CMPLRS130, cc -O3 -Olimit 1400 -DN=500 -DUNIX 041 Sun HyperSPARC, 100 MHz, SunOS 5.4, gcc 2.7.1, gcc -DMSC -DN=500 -msupersparc -O3 042 R4400, 150 MHz, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -ansiposix -O3 -mips2 -Olimit 1400 043 Pentium Pro 200 MHz, 66MHz external, 256 KB cache, 440FX PCIset, 32 MB EDO RAM, Windows NT 3.51 Watcom C/C++ 10.5 Win32NT -otexan -fp5 -5r - zc -dN=500 -dMSC 044 Pentium Pro 200 MHz, 66MHz external, 256 KB cache, 440FX PCIset, 32 MB EDO RAM, Windows NT 3.51/DOS Watcom C/C++ 10.5 Dos4GW -otexan -fp5 -5r - zc -dN=500 -dMSC 045 Windows 95, 430VX Chipset, 32 MB RAM, 256 KB Pipelined Burst SRAM Cache, Borland C++ V5, bcc32i -DBORLAND_C -O2M -5 046 OSF/1 1.3, CMPLRS130, c89 -O3 -Olimit 1400 -DN=500 -DUNIX 047 Solaris 2.3, Super SPARC CPU, 60 MHz, gcc 2.5.8, gcc -O2 -DUNIX_Old -static 048 AIX 3.2.?, xlc 1.2, c89 -O -Q -qnomaf -DUNIX -DN=500, Results average of 5 runs. 049 Pentium P5-133, 133MHz, WIndows 95, MB-8500TVX motherboard, 82437VX chipset, 256KB Pipelined Burst SRAM cache, 64MB EDO 60ns DRAM, Borland C++ V5, bcc32i -DN=500 -DBORLAND_C -O2 -5 050 Pentium Pro 200 MHz, 66MHz external, 256 KB cache, 440FX PCIset, 32 MB EDO RAM, Windows NT 3.51 Watcom C/C++ 10.5 Win32NT no optimization -dN=500 -dMSC -bw 051 OSF/1 1.3, CMPLRS130, C89BASE130, KPCBASE150, kcc -O3 -Olimit 1400 -migrate -D_POSIX_SOURCE -ckapargs="-dpr=32 -arl=3 -inl -ind=10 -inll=10 -nat =o=5 -r=3 -so=3 -ur=10" -DN=500 -DUNIX NOTE: mm -u 8 produced error: error in result entry c[1][0]: 1.227600e+05 != 1.247500e+05 052 Pentium P5-120, 120 MHz, Windows 95, MB-8500TVX motherboard, 82437VX chipset, 256 KB L2 burst SRAM cache, 32 MB Fast Page 70 ns DRAM, Borland C++ V5, bcci32 -DN=500 -DBORLAND_C -O2 -5 053 Irix 4.0.5H, MIPS C 3.10.1, cc -O4 -ansiposix -mips2 -Olimit=1400 -DN=500 -DUNIX 054 AMD K6/200, Windows 95, 200 MHz, SOYO 5BT5 motherboard, chipset 82430TX, 512KB pipelined burst SRAM cache, 32MB EDO DRAM (60 ns). Borland C++ V5 (Intel compiler bcc32i). bcc32i -DBORLAND_C -DN=500 -O2 -6 055 cc -O -DN=500 mm.c -o mm 056 Cray YMP, UNICOS 7.0.6, cc -DFORTRAN_SEC -DN=500 NOTE: No optimization was used, which means, I think, that the code was not vectorized --- that is, it was compiled as scalar code. Compiling with -O3 produced an error in SGEMMX@ ... 057 SunOS 4.1.3, Apogee AC2.2, apcc -O5 -DN=500 -dalign -cg92 mm.c -o mm venus.nosc.mil 058 Pentium P5-100, 100MHz, Windows 95, Intel MARL motherboard, Chipset 82430HX, 256KB Pipeline Burst SRAM, 32MB 60ns Fast Page DRAM, Borland C++ V5, bcc32i -DN=500 -DBORLAND_C -O2 -5 059 Pentium Pro, 200MHz, Windows 95, 32MB DRAM, using DJGPP, gcc 2.7.2, gcc -DUNIX -DN=500 -O3 060 Irix 4.0.5F, MIPS C 2.40, cc -ansiposix -O4 -mips2 -Olimit 1400 -DN=500 -DUNIX, Result is average of 5 runs. 061 R4000 50 MHz CPU, Irix 4.0.5, cc 3.10.1, cc -DUNIX -DN=500 -O2 -mips2, 8 KByte I/D caches, 1 MByte external cache. 062 R4000 100 MHz CPU, Irix 4.0.5, cc 3.10.1, cc -DUNIX -DN=500 -O2 -mips2, 8 KByte I/D caches, 1 MByte external cache. 063 R4000 100 MHz CPU, Irix 4.0.5H, MIPS C 3.10.1, cc -O3 -ansiposix -Olimit=1400 -DN=500 -DUNIX 064 R4000 100 MHz CPU, Irix 4.0.5H, MIPS C 3.10.1, cc -O4 -ansiposix -Olimit=1400 -DN=500 -DUNIX 065 R4000 100 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -O2 -mips2, 8 KByte I/D caches, 1 MByte external cache. 066 Pentium P5-133, 133MHz, MS DOS 6.22, MB-8500TVX motherboard, 82437VX chipset, 256KB Pipelined Burst SRAM cache, 16MB Fast Page DRAM, L2 cache enabled, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 067 MB-8500TVX motherboard, 82437VX chipset, 256 KB L2 burst SRAM cache, 32 MB Fast Page 70 ns DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 068 Irix 4.0.5F, MIPS C 2.40, cc -ansiposix -O4 -Olimit 1400 -DN=500 -DUNIX, Result is average of 5 runs. 069 Irix 4.0.5F, MIPS C 2.40, cc -ansiposix -O3 -Olimit 1400 -DN=500 -DUNIX, Result is average of 5 runs. 070 OSF/1 1.3, CMPLRS130, kcc -O3 -Olimit 1400 -migrate -D_POSIX_SOURCE -ckapargs="-dpr=32 -arl=3 -inl -ind=10 -inll=10 -nat =o=5 -r=3 -so=3 -ur=10" -DN=500 -DUNIX NOTE: mm -u 8 produced error: error in result entry c[1][0]: 1.227600e+05 != 1.247500e+05 071 MB-8500TVX motherboard, 82437VX chipset, 256KB Pipelined Burst SRAM cache, 16MB Fast Page DRAM, L2 cache disabled, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 072 SunOS 4.1.3, gcc 2.2.2, gcc -O2 -DN=500 -fexpensive-optimizations marlin.nosc.mil 073 OSF/1 1.3, C89BASE120, kcc -O4 -Olimit 1400 Lmm7753.u dtime.o, Result is average of 5 runs. Note that this version of KAP does not do as well as the standard compiler with specific algorithms. 074 R4000 50 MHz CPU, Irix 4.0.5, cc 3.10.1, cc -DUNIX -DN=500 -O2 -sopt,-inline -mips2, 8 KByte I/D caches, 1 MByte external cache. 075 Pentium P5-100, 100 MHz, Windows 95, Intel MARL motherboard, Chipset 82430HX, 256KB Pipeline Burst SRAM, 32MB 60ns fast page DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 076 MB-8500TVX motherboard, 82437VX chipset, 256 KB L2 burst SRAM cache, 16 MB Fast Page 60 ns DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 077 R4000 100 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -O2 -sopt,-inline -mips2, 8 KByte I/D caches, 1 MByte external cache. 078 OSF/1 1.3, OSFCMPLRS130, C89BASE130, KPCBASE150, cc -O3 -Olimit 1400 -ieee_with_inexact -DN=500 -DUNIX 079 R4000 100 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -O2 -sopt,-inline -mips2, 8 KByte I/D caches, 1 MByte external cache. 080 AMD K5-PR133, 100MHz, MP070 motherboard, Intel 430HX PCI chipset, 512KB Pipelined Burst SRAM Cache, 32MB Fast Page RAM, gcc 2.7.2, gcc -DUNIX -DN=500 -O3 -malign-loops=3 -malign-jumps=4, -fomit-frame-pointer -funroll-loops -static mm.c 081 SunOS 4.1.3, SC2.0.1, acc -fast -O4 -DN=500 mm.c NOTE: fast --> -fsingle -dalign -fnonstd -libmil -cg92 venus.nosc.mil 082 R4000 100 MHz CPU, Irix 5.1.1, cc 3.17, cc -DUNIX -DN=500 -O2 -mips2, 8 KByte I/D caches, NO external cache, 32 MByte RAM. 083 SunOS 4.1.3, SC2.0.1, acc -fast -O4 -DN=500 mm.c NOTE: fast --> -fsingle -dalign -fnonstd -libmil -cg92 rigel.nosc.mil 084 Pentium P5-90, 90 MHz, 16 MByte RAM, LINUX 1.1.35, gcc 2.6.0, gcc -O2 -fexpensive-optimizations 085 Borland C++ V5, bcc32i -DBORLAND_C -DN=500 -O2 -5, Intel ZAPPA motherboard, chipset 82437FX, 256KB asynchronous cache, 32MB Fast Page RAM. 086 Gateway Pentium P5-90, 90 MHz, 16 MB RAM, ISA/PCI, 256KB Cache MS DOS 6.22, gcc 2.5.4, gcc -DUNIX -DN=500 -O2 087 Pentium 100 Mhz, 16 MB RAM, 256 KB cache, Neptune chipset, Win95/DOS Watcom C/C++ 10.5 Dos4GW -otexan -fp5 -5r - zc -dN=500 -dMSC 088 Pentium Pro 200 MHz, 66MHz external, 256 KB cache, 440FX PCIset, 32 MB EDO RAM, Windows NT 3.51/DOS Watcom C/C++ 10.5 Dos4GW no optimization -dN=500 -dMSC 089 DATEL Pentium P5-90, 90 MHz, 24 MByte RAM, EISA/PCI, 256KByte Cache MS DOS 6.22, gcc 2.5.4, gcc -DUNIX -DN=500 -O2 090 Sun SPARCsystem 600, 4 SuperSPARC CPU's, 50 MHz, SunOS 4.1.3, Apogee AC2.3, apcc -v -DN=500 -O5 -cg92 -Xkap NOTE: The results varied widely due apparently to system load and the number of CPU's working the problem at a given time. Thus the results were averaged over at least 5 runs and up to 11 runs. 091 SunOS 4.1.3, Apogee AC2.2, apcc -v -DN=500 -O5 -cg92 -Xkap mm.c -o mm, NOTE: using the 'kap' preprocessor here. venus.nosc.mil 092 ZEOS Pentium P5-90, 90 MHz, ISA/PCI, 16 MBytes RAM, 256 KB cache, MS DOS 6.22, gcc 2.5.4, gcc -DUNIX -DN=500 -O2 093 SCO UNIX Release 5.0.0a, cc -DUNIX_Old -O3 -Kpentium -dn, chipset 82437FX, ZAPPA motherboard, 256KB asynchronous cache, 32MB Fast Page RAM. 094 SunOS 4.1.3, 40.3 MHz, 64MBytes RAM, /bin/cc, cc -O4 -DN=500 marlin.nosc.mil 095 Pentium 75 MHz, Intel ZAPPA motherboard, chipset 82437FX, 256KB asynchronous cache, 32MB Fast Page RAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -fomit-frame-pointer 096 R4000 100 MHz CPU, Irix 5.1.1, cc 3.17, cc -DUNIX -DN=500 -O2 -mips2 -sopt,-inline, 8 KByte I/D caches, NO external cache, 32 MByte RAM. 097 Force 2CE with 80 MHz Weitek CPU, SunOS 4.1.3_U1, gcc 2.7.1-1, gcc -DUNIX -DN=500 -O2 mm.c -o mm 098 SunOS 4.1.2, Weitek 80 MHz CPU replacement for SPARCstation 2 (40 MHz) Sun C 2.0.1, acc -DUNIX -O4 -dalign -fnonstd -libmil -cg89 -DN=500 ariel.nosc.mil 099 R4000 CPU at 100 MHz, 8KB Internal I/D Caches, NO external cache, 16 MB RAM, cc 3.17, cc -DUNIX -mips2 -sopt-so=4 -O3 -non_shared 100 MB-8500TVC motherboard, 82439HX chipset, 512KB Pipelined Burst SRAM cache, 32MB EDO 60ns DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 101 OSF/1 1.3, CMPLRS130, cc -O3 -Olimit 1400 -ieee_with_inexact -DN=500 -DUNIX mm.c -o mm-ieee 102 SunOS 4.1.3, 36 MHz, 32MB RAM, /bin/cc, cc -O -DN=500 mm.c -o mm 103 Metrowerks C, Version DR/2. 256KB L2 cache, 32KB unified L1 cache. 80ns RAM, 80 MHz PowerPC CPU, 40 MHz bus. 104 MB-8500TVC motherboard, 82439HX chipset, 512KB Pipelined Burst SRAM cache, 32MB EDO 60ns DRAM, Borland C++ Version 5 (bcc32i), bcc32i -DBORLAND_C -DN=500 -O2 -5 105 SunOS 4.1.3, 50 MHz, Sun C 2.0.1, acc -DUNIX -DN=500 -fast -O4, original 40 MHz motherboard replaced with 50 MHz motherboard. NOTE: fast --> -fsingle -dalign -fnonstd -libmil metis.nosc.mil 106 SunOS 4.1.2, Weitek 80 MHz CPU replacement for SPARCstation 2 (40 MHz) Sun C 2.0.1, cc -DUNIX -fast -O4 -Bstatic -cg92 NOTE: fast --> -fsingle -dalign -fnonstd -libmil ariel.nosc.mil 107 R3000 33 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 32 KByte I/D caches, NO external cache, 32 MByte RAM. 108 SunOS 4.1.2, 40 MHz, Sun C 2.0.1, acc -v -DN=500 -fast -O4 NOTE: fast --> -fsingle -dalign -fnonstd -libmil -cg89 sunspot.nosc.mil 109 Pentium, 90 MHz, 256 Write-Back Cache, 16 MB 70 ns RAM, DOS 6.2 Watcom C32 V9.5 /oneatx /zp4 /5r 110 R3000 33 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -sopt,-inline, 32 KByte I/D caches, NO external cache, 32 MByte RAM. 111 SunOS 4.1.3, 40 MHz, gcc 2.5.6, gcc -DUNIX -DN=500 -O2 octopus.nosc.mil 112 SunOS 4.1.2, 40 MHz, Sun C 2.0.1, acc -v -DN=500 -fast -O4 NOTE: fast --> -fsingle -dalign -fnonstd -libmil -cg89 belch.nosc.mil 113 SunOS 4.1.2, 2 X 40.0 MHz, 64 MB RAM, /bin/cc, cc -O -DN=500 114 AMD Am5x86-P75, 133MHz, PCI, gcc 2.7.2, gcc -DUNIX -DN=500 -O3, 256KB L2 cache, 16MB DRAM(70ns) 115 Ultrix 4.2A, R3000, 40 MHz, MIPS C V2.10, cc -O4 -Olimit=1400 -DN=500 -DUNIX 116 Ultrix 4.2A, R3000, 40 MHz, MIPS C V2.10, cc -O3 -Olimit=1400 -DN=500 -DUNIX 117 80486DX4, 100 MHz, Linux 1.2.10, DCA/2 motherboard, 16MB fast RAM, gcc 2.5.8, gcc -O2 -m486 -fomit-frame-pointer -fexpensive-optimizations 118 Ultrix 4.2A, R3000, 40 MHz, gcc 2.5.8, gcc -O2 -funroll-loops -fstrength-reduce -ffast-math -mcpu=r3000 -DN=500 -DUNIX 119 Ultrix 4.2A, R3000, 40 MHz, gcc 2.5.8, gcc -O2 -mcpu=r3000 -DN=500 -DUNIX 120 SunOS 4.1.3, 2 X 40.0 MHz, /bin/cc, cc -DUNIX -DN=500 -O4 mm.c -o mm 121 SunOS 4.1.3, 2 X 40.0 MHz, /bin/cc, cc -DUNIX -DN=500 -Bstatic -O4 122 SunOS 4.1.3, 40.0 MHz, /bin/cc, cc -O4 -Bstatic -DN=500 octopus.nosc.mil 123 L2 Cache Enabled. 486DX4/100, 100MHz, Windows 95, ExpertBoard 8449 motherboard, 256 KB L2 cache, 16 MB Fast Page DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 124 AMD 486DX4/100, 100 MHz, WIndows 95, ExpertBoard 8449 motherboard, 256 KB L2 cache, 16 MB Fast Page DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 125 L2 Cache Disabled. 486DX4/100, 100MHz, Windows 95, ExpertBoard 8449 motherboard, 256 KB L2 cache, 16 MB Fast Page DRAM, gcc 2.5.7, gcc -DN=500 -DUNIX -O2 -m486 -fomit-frame-pointer 126 Pentium 100 Mhz, 16 MB RAM, 256 KB cache, Neptune chipset, Win95/DOS Watcom C/C++ 10.5 Dos4GW no optimization -dN=500 -dMSC 127 SunOS 4.1.3, 40.0 MHz, /bin/cc, cc -O4 -DN=500 octopus.nosc.mil 128 AIX 3.2.5, PPC 601, 66 MHz, xlc 1.2.1, cc -DUNIX 129 Ultrix 4.2A, R3000, 40 MHz, gcc 2.5.8, gcc -O2 -DN=500 -DUNIX 130 Cyrix 5x86, 100 MHz, 8MB RAM, gcc 2.6.3, gcc -DGTODay -O2 131 Sky Shamrock, i860, 40MHz, SKYvec High C (Metaware) Compiler V2.4, hc860 -DUNIX -DN=500 -O3 -mathlib=dp -vec -vec1=2 mm.c -o mm 132 Ultrix 4.2A, R3000, 40 MHz, gcc 2.5.8, gcc -O -DN=500 -DUNIX 133 R3000 20 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -O2 32 KByte ICache, 64KByte DCache, NO external cache 134 SunOS 5.1, Sun C 2.0.1 (03 Sep 1992), cc -O3 -cg87 -dalign -2 -c -DUNIX_Old 135 80486DX2, 66.7MHz, SiS Chipset, AMI BIOS, OS/2 2.1, gcc 2.3.3, gcc -DUNIX -O2 -m486 136 R3000 20 MHz CPU, Irix 4.0.5H, cc 3.10.1, cc -DUNIX -DN=500 -O2 -sopt,-inline, 32 KByte ICache, 64KByte DCache, NO external cache 137 SunOS 4.1.3, 25.0 MHz, 16 MByte RAM, /bin/cc, cc -O -DN=500 138 SunOS 4.1.2, 20.0 MHz, Sun C 2.0.1, acc -DUNIX -DN=500 -fast -O4 belch.nosc.mil (now a SPARCstation 1, was a SPARCstation 2). 139 SPARC 7, SunOS 4.1.2, 25.0 MHz, gcc 2.4.5, gcc -O2 -fomit-frame-pointer -finline-functions -ffast-math -DUNIX 140 CPU=68040, 25.0 MHz, SAS/C 6.3, Global Optimizer Enabled, 60 ns DRAM 141 Linux 1.1.54, gcc 2.5.8, gcc -DUNIX -O2 -fomit-frame-pointer, 8MB 142 DG/UX 5.4.2, gcc 2.2.2, gcc -DUNIX -O2 -funroll-loops -mno-check- zero-division -muse-div-instruction -moptimize-arg-area -DUNIX -DN=500 143 DG/UX 5.4.2, gcc 2.2.2, gcc -DUNIX -O2 -DN=500, Result is average of 5 runs. 144 DG/UX 5.4.2, gcc 2.2.2, gcc -DUNIX -O2 -funroll-loops -DUNIX -DN=500, Result is average of 5 runs. 145 80486DX2 66 MHz, 20 MB RAM, 128 KB cache, SIS chipset, Windows95/DOS Watcom C/C++ 10.5 Dos4GW -otexan -fp5 -5r - zc -dN=500 -dMSC 146 SPARC 7, SunOS 4.1.2, 25.0 MHz, /bin/cc, cc -O4 -dalign -Bstatic 147 SPARC 7, SunOS 4.1.2, 25.0 MHz, /bin/cc, cc -O4 -dalign -Bstatic -Qoption iropt -l9 148 Intel 80486DX, 33.3 MHz, MS DOS 5.0, gcc 2.2.2 for DOS, 8 MBytes Extended RAM. Accessed hardrive quite a bit. gcc -DUNIX -O2 -DN=500 -m486 -fomit-frame-pointer mm.c -o mm 149 80486DX2 66 MHz, 20 MB RAM, 128 KB cache, SIS chipset, Windows95/DOS Watcom C/C++ 10.5 Dos4GW no optimization -dN=500 -dMSC 150 Intel 80486DX, 33.3 MHz, MS DOS 5.0, gcc 2.4.1 for DOS, 8 MBytes Extended RAM. Accessed hardrive quite a bit. gcc -DUNIX -O2 -DN=500 -m486 -fomit-frame-pointer mm.c -o mm 151 C3 Computer Systems (Sun 4/110, 14.28 MHz), /bin/cc, madrid, cc -DUNIX -O4 -Bstatic -DN=500 152 68030/68881, 25.0 MHz, MiNT 1.04/TOS 1.04, 4 MB ST RAM (16-bit wide) gcc 2.3.3, gcc -O2 -m68020 -m68881 -ffast-math -finline-functions -D_M68881 -fomit-frame-pointer --- ### REF: 1 Mark Smotherman, mark@cs.clemson.edu, May 1993 2 Al Aburto, aburto@marlin.nosc.mil, 27 Sep 1993 3 Tom Doong, doong@avl.umd.edu, 06 Oct 1993 4 Bo Thide', bt@irfu.se, 12 Oct 1993 5 Al Aburto, aburto@marlin.nosc.mil, 12 Oct 1993 6 Skip Sauls, skip@cy.cs.olemiss.edu, 18 Oct 1993 7 Al Aburto, aburto@marlin.nosc.mil, 21 Oct 1993 8 Roger Uzun, uzun@crash.cts.com, 31 Oct 1993 9 Al Aburto, aburto@marlin.nosc.mil, 12 Nov 1993 10 Michael Ritzert, mjr@dyn.geo.uni-bonn.de, 13 Nov 1993 11 Francis Courteaux, courtox@univ-rennes1.fr, 17 Nov 1993 12 Al Aburto, aburto@marlin.nosc.mil, 27 Nov 1993 13 Benjamin Z. Goldsteen, benjamin-goldsteen@uokhsc.edu, 04 Dec 1993 14 Al Aburto, aburto@octopus.nosc.mil, 12 Dec 1993 15 Andres Kruse, kruse@caldev.desy.de, 13 Dec 1993 16 Kristian Wedberg, wedberg@mednet.gu.se, 17 Dec 1993 17 Al Aburto, aburto@belch.nosc.mil, 20 Dec 1993 18 Al Aburto, aburto@athens.nosc.mil, 06 Jan 1994 19 Jack Hunt, jacj_hunt@jhuapl.edu, 12 Jan 1994 20 Mario Guerra, mguerra@inforisc.cr, 11 Feb 1994 21 Mohammad Bahathir Hashim, s8046@cs.shizuoka.ac.jp, 19 Feb 1994 22 Mario Guerra, mguerra@inforisc.cr, 22 Feb 1994 23 Benjamin Z. Goldsteen, benjamin-goldsteen@uokhsc.edu, 24 Apr 1994 24 Craig S.Steele, steele@isi.edu, 04 May 1994 25 Bill Broadley, broadley@neurocog.lrdc.pitt.edu, 08 May 1994 26 Harlan W Stockman, hwstock@saix531.energylan.sandia.gov, 18 May 1994 27 Al Aburto, aburto@sunspot.nosc.mil, 29 May 1994 28 Evan Torrie, torrie@cs.stanford.edu, 31 May 1994 29 Wolfram Wagner, ww@mpi-sb.mpg.de, 19 Jul 1994 30 Mario Guerra, mguerra@cariari.ucr.ac.cr, 10 Aug 1994 31 Al Aburto, aburto@marlin.nosc.mil, 05 Nov 1994 32 Francis Courteaux, courtox@univ-rennes1.fr, 12 Dec 1994 33 Michael Meskes, meskes@feivel.informatik.rwth-aachen.de, 23 Mar 1995 34 Paul Caskey, pcaskey@swcp.com, 16 Oct 1995 35 Paul Caskey, pcaskey@swcp.com, 07 Nov 1995 36 Robert Debath, rdebath@cix.compulink.co.uk, 26 Nov 1995 37 Al Aburto, aburto@nosc.mil, 30 Nov 1995 38 Zack Smith, zacksmith@mcimail, 10 Mar 1996 39 Kari Seppanen, kse@tell.tte.vtt.fi, 31 May 1996 40 Manuel Blanca, 101347.3363@compuserve.com, 01 Sep 1996 41 Manuel Blanca, 101347.3363@compuserve.com, 02 Sep 1996 42 Manuel Blanca, 101347.3363@compuserve.com, 08 Sep 1996 43 Manuel Blanca, 101347.3363@compuserve.com, 12 Sep 1996 44 Manuel Blanca, 101347.3363@compuserve.com, 16 Sep 1996 45 Manuel Blanca, 101347.3363@compuserve.com, 18 Sep 1996 46 Paul Caskey, pcaskey@swcp.com, 27 Sep 1996 47 Manuel Blanca, 101347.3363@compuserve.com, 05 Oct 1996 48 Manuel Blanca, 101347.3363@compuserve.com, 07 Oct 1996 49 Roy Longbottom, 101323.2241@compuserve.com, 05 Nov 1996 50 Al Aburto, aburto@nosc.mil, 10 Nov 1996 51 Manuel Blanca, 101347.3363@compuserve.com, 18 Nov 1996 52 Paul Caskey, pcaskey@swcp.com, 04 Dec 1996 53 Paul Caskey, pcaskey@swcp.com, 08 Jan 1997 54 Randy Brannan, brannan@nosc.mil, 10 Jan 1997 55 Jean-Marc Drezet, drezet@math.jussieu.fr, 17 Jan 1997 56 Paul Caskey, pcaskey@swcp.com, 28 Jan 1997 57 Manuel Blanca, 101347.3363@compuserve.com, 28 Jan 1997 58 Paul Caskey, pcaskey@swcp.com, 31 Jan 1997 59 Paul Caskey, pcaskey@swcp.com, 07 Feb 1997 60 Manuel Blanca, 101347.3363@compuserve.com, 12 Feb 1997 61 Richard Myers, myersr@bonehead.nosc.mil, 19 Feb 1997 62 Al Aburto, aburto@nosc.mil, 04 Mar 1997 63 Al Aburto, aburto@nosc.mil, 11 Mar 1997 64 Kari Seppanen, kse@farfalle.tte.vtt.fi, 01 Apr 1997 65 David Bass, david.bass@eurocontrol.be, 15 Apr 1997 66 Wolfram Wagner, ww@mpi-sb.mpg.de, 17 Apr 1997 67 Manuel Jose Blanca Molinos, 101347.3363@compuserve.com, 18 May 1997 68 Manuel Blanca, 101347.3363@compuserve.com, 02 Aug 1997 69 Manuel Blanca, 101347.3363@compuserve.com, 11 Sep 1997 70 Paul Caskey, pcaskey@swcp.com, 01 Oct 1997 Al Aburto aburto@nosc.mil