---------- X-Sun-Data-Type: text X-Sun-Data-Description: text X-Sun-Data-Name: text X-Sun-Content-Lines: 39 John -- I just happen to have a SPARCserver 600mp handy (ok, it's on my desk, but that's handy :-) and ran your latest stuff. Here's my results. (Hope you don't mind the inclusion format, it is becoming fairly standard and my tools do it for me automagicly) I ran all this on a four-processor SPARCstation 670 (whatcha bet marketing never quite calls it that) with 64Meg of memory, and all the data of interest on an Elite 1.3gig SCSI disk. To make the parallel runs more interesting, I bumped the repcount on the loops by ten. Basicly, I want to be sure to get extended times where all CPUs are banging on the problem, since I know that the system is relatively benevolent to the bus and that is not really what you want to measure. MANIFEST out.Sun_670_s single precision, one copy out.Sun_670_d double precision, one copy out.Sun_670_2_s single precision, two copies out.Sun_670_2_d double precision, two copies out.Sun_670_4_s single precision, four copies out.Sun_670_4_d double precision, four copies Makefile how I built the tests and made the Table runall how I ran the bugger two.c utility program used in runall four.c utility program used in runall Table.awk awk script used in making Table Table.ed ed script used in making Table Table nicely formatted summary of the data so far Note: "Table.awk" assumes all runs in a file happened in parallel, and adds up the rates to get a total rate. This may not be the right way to calculate it. I'm a programmer, not a benchmarker ... ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_s X-Sun-Content-Lines: 13 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 110.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 21.0532 0.2022 0.1900 0.2500 Scaling : 21.0528 0.2022 0.1900 0.2300 Summing : 22.2223 0.2836 0.2700 0.3200 SAXPYing : 24.0000 0.2586 0.2500 0.3100 ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_d X-Sun-Content-Lines: 13 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 145.99999040365 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 28.2356 0.1789 0.1700 0.2300 Scaling : 31.9997 0.1627 0.1500 0.2200 Summing : 30.0003 0.2550 0.2400 0.3200 SAXPYing : 29.9998 0.2532 0.2400 0.3000 ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_2_s X-Sun-Content-Lines: 26 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 190.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 20.0000 0.2171 0.2000 0.2400 Scaling : 19.0477 0.2236 0.2100 0.2800 Summing : 20.6899 0.3042 0.2900 0.3400 SAXPYing : 22.2225 0.2844 0.2700 0.3200 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 190.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 19.0477 0.2166 0.2100 0.2300 Scaling : 19.0477 0.2245 0.2100 0.2800 Summing : 20.6899 0.3037 0.2900 0.3900 SAXPYing : 22.2225 0.2906 0.2700 0.6300 ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_2_d X-Sun-Content-Lines: 26 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 254.00001034141 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 22.8572 0.2164 0.2100 0.2500 Scaling : 24.0004 0.2146 0.2000 0.2700 Summing : 24.8282 0.3028 0.2900 0.3700 SAXPYing : 25.7144 0.3008 0.2800 0.3700 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 247.99999073148 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 22.8572 0.2177 0.2100 0.2400 Scaling : 24.0004 0.2128 0.2000 0.2700 Summing : 24.8282 0.3023 0.2900 0.3700 SAXPYing : 24.8282 0.3070 0.2900 0.6600 ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_4_s X-Sun-Content-Lines: 52 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 246.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 14.2858 0.2979 0.2800 0.3600 Scaling : 14.2858 0.2999 0.2800 0.3600 Summing : 15.7899 0.4048 0.3800 0.4800 SAXPYing : 16.6666 0.3845 0.3600 0.4500 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 285.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 14.8150 0.2959 0.2700 0.3600 Scaling : 14.2858 0.2998 0.2800 0.5800 Summing : 16.2162 0.4080 0.3700 0.4700 SAXPYing : 17.1433 0.3857 0.3500 0.4300 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 314.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 14.2858 0.2982 0.2800 0.5400 Scaling : 14.8154 0.2966 0.2700 0.3500 Summing : 16.6666 0.4020 0.3600 0.4500 SAXPYing : 16.6666 0.3914 0.3600 0.6300 -------------------------------------- Single precision appears to have 7 digits of accuracy Assuming 4 bytes per default REAL word -------------------------------------- Timing calibration ; time = 317.000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 19.9988 0.2944 0.2000 0.3800 Scaling : 19.0484 0.2951 0.2100 0.3400 Summing : 20.6890 0.4168 0.2900 0.9000 SAXPYing : 22.2231 0.3869 0.2700 0.4500 ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: out.Sun_670_4_d X-Sun-Content-Lines: 52 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 425.00000447035 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 16.0007 0.3297 0.3000 0.8500 Scaling : 16.5521 0.3089 0.2900 0.3600 Summing : 16.7442 0.4671 0.4300 0.5300 SAXPYing : 16.7442 0.4670 0.4300 0.5300 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 406.00000992417 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 16.0002 0.3232 0.3000 0.5000 Scaling : 16.5521 0.3233 0.2900 0.7600 Summing : 16.3641 0.4718 0.4400 0.8000 SAXPYing : 18.4616 0.4609 0.3900 0.5400 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 464.99997973442 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 21.8181 0.3206 0.2200 0.3800 Scaling : 22.8564 0.3105 0.2100 0.3600 Summing : 22.5006 0.4664 0.3200 0.5200 SAXPYing : 22.4995 0.4704 0.3200 0.7200 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 407.00000599027 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 25.2628 0.3296 0.1900 0.8600 Scaling : 30.0022 0.3140 0.1600 0.5200 Summing : 27.6913 0.4660 0.2600 0.6600 SAXPYing : 27.6929 0.4723 0.2600 0.7700 ---------- X-Sun-Data-Type: Makefile X-Sun-Data-Description: Makefile X-Sun-Data-Name: Makefile X-Sun-Content-Lines: 20 .KEEP_STATE: CC= /usr/lang/cc FC= /usr/lang/f77 CFLAGS= -fast -O4 FFLAGS= -fast -O4 LDFLAGS=-Bstatic PGMS= stream_d stream_s two four all: $(PGMS) Table clean: -/bin/rm -f *.o $(PGMS) Table: .FORCE grep . Results/* | sed 's;Results/;;' | sed 's/out.//' | sed 's/:/ /g' | awk -f Table.awk | sort +5 -nr > Table ed - Table < Table.ed .FORCE: ---------- X-Sun-Data-Type: cshell-script X-Sun-Data-Description: cshell-script X-Sun-Data-Name: runall X-Sun-Content-Lines: 7 #! /bin/csh -f stream_d > Results/out.Sun_670_d stream_s > Results/out.Sun_670_s two stream_d > Results/out.Sun_670_2_d two stream_s > Results/out.Sun_670_2_s four stream_d > Results/out.Sun_670_4_d four stream_s > Results/out.Sun_670_4_s ---------- X-Sun-Data-Type: c-file X-Sun-Data-Description: c-file X-Sun-Data-Name: two.c X-Sun-Content-Lines: 10 main(ac,av) int ac; char **av; { if (!*++av) exit(1); for (ac=0; ac<2; ++ac) if (!vfork()) exit(execvp(*av, av)); while(wait((int *)0) != -1); } ---------- X-Sun-Data-Type: c-file X-Sun-Data-Description: c-file X-Sun-Data-Name: four.c X-Sun-Content-Lines: 10 main(ac,av) int ac; char **av; { if (!*++av) exit(1); for (ac=0; ac<4; ++ac) if (!vfork()) exit(execvp(*av, av)); while(wait((int *)0) != -1); } ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: Table.awk X-Sun-Content-Lines: 22 $3=="calibration" { cal[$1] += $7; next; } $2=="Assignment" { asg[$1] += $3; } $2=="Scaling" { sca[$1] += $3; } $2=="Summing" { sum[$1] += $3; } $2=="SAXPYing" { sax[$1] += $3; } END { printf "%-20s %7s %7s %7s %7s %7s\n", "system", "cal", "copy", "scale", "sum", "saxpy"; for (h in cal) { printf "%-20s %7.2f %7.1f %7.1f %7.1f %7.1f\n", h, cal[h], asg[h], sca[h], sum[h], sax[h]; } } ---------- X-Sun-Data-Type: default X-Sun-Data-Description: default X-Sun-Data-Name: Table.ed X-Sun-Content-Lines: 14 $m0 1a . $a . g/_s/m$ $a . g/_d/m$ w q