Thread overview
Benchmark: SciMark2
Nov 03, 2004
Thomas Kuehne
Nov 03, 2004
Dave
Nov 03, 2004
Thomas Kuehne
Nov 03, 2004
Dave
Nov 06, 2004
Thomas Kuehne
November 03, 2004
Hi everybody,

I'm currently adding various benchmarks to DStress. SciMark2 has some interesting results:

(best of 10, Mflops)

= = = dmd 0.105 (D) = = =
Composite:      100.07
FFT:            39.50
SOR:            223.03
M.Carlo:        30.37
matmult:        85.56
LU:             121.90

= = = gdc 0.8 (D) = = =
Composite:      132.54
FFT:            138.87
SOR:            225.11
M.Carlo:        31.66
matmult:        131.07
LU:             135.99

= = = gcc 3.4.2 (C) = = =
Composite:      134.63
FFT:            144.39
SOR:            227.24
M.Carlo:        39.48
matmult:        133.75
LU:             128.32

dmd's FFT results are constantly that slow. I haven't investigated if gdc/gcc does some hyper optimization, uses a lower number of significant bits or if the D-port is botched.

SciMark2 (C & Java)
http://math.nist.gov/scimark

SciMark2 (dirty D port)
svn://svn.kuehne.cn/dstress/benchmark/scimark/

Thomas
November 03, 2004
What were the build flags for each?

Thanks,
- Dave

In article <cmbbtt$7t8$1@digitaldaemon.com>, Thomas Kuehne says...
>
>Hi everybody,
>
>I'm currently adding various benchmarks to DStress. SciMark2 has some interesting results:
>
>(best of 10, Mflops)
>
>= = = dmd 0.105 (D) = = =
>Composite:Â Â Â Â Â Â 100.07
>FFT:Â Â Â Â Â Â Â Â Â Â Â Â 39.50
>SOR:Â Â Â Â Â Â Â Â Â Â Â Â 223.03
>M.Carlo:Â Â Â Â Â Â Â Â 30.37
>matmult:Â Â Â Â Â Â Â Â 85.56
>LU:Â Â Â Â Â Â Â Â Â Â Â Â Â 121.90
>
>= = = gdc 0.8 (D) = = =
>Composite:Â Â Â Â Â Â 132.54
>FFT:Â Â Â Â Â Â Â Â Â Â Â Â 138.87
>SOR:Â Â Â Â Â Â Â Â Â Â Â Â 225.11
>M.Carlo:Â Â Â Â Â Â Â Â 31.66
>matmult:Â Â Â Â Â Â Â Â 131.07
>LU:Â Â Â Â Â Â Â Â Â Â Â Â Â 135.99
>
>= = = gcc 3.4.2 (C) = = =
>Composite:Â Â Â Â Â Â 134.63
>FFT:Â Â Â Â Â Â Â Â Â Â Â Â 144.39
>SOR:Â Â Â Â Â Â Â Â Â Â Â Â 227.24
>M.Carlo:Â Â Â Â Â Â Â Â 39.48
>matmult:Â Â Â Â Â Â Â Â 133.75
>LU:Â Â Â Â Â Â Â Â Â Â Â Â Â 128.32
>
>dmd's FFT results are constantly that slow. I haven't investigated if gdc/gcc does some hyper optimization, uses a lower number of significant bits or if the D-port is botched.
>
>SciMark2 (C & Java)
>http://math.nist.gov/scimark
>
>SciMark2 (dirty D port)
>svn://svn.kuehne.cn/dstress/benchmark/scimark/
>
>Thomas


November 03, 2004
Dave schrieb am Mittwoch, 3. November 2004 21:38:
> 
> What were the build flags for each?
> 

dmd: -O
gdc: -O2 -frename-registers -fomit-frame-pointer -fweb
gcc: -O3

>>I'm currently adding various benchmarks to DStress. SciMark2 has some interesting results:
>>
>>(best of 10, Mflops)
>>
>>= = = dmd 0.105 (D) = = =
>>Composite:      100.07
>>FFT:            39.50
>>SOR:            223.03
>>M.Carlo:        30.37
>>matmult:        85.56
>>LU:             121.90
>>
>>= = = gdc 0.8 (D) = = =
>>Composite:      132.54
>>FFT:            138.87
>>SOR:            225.11
>>M.Carlo:        31.66
>>matmult:        131.07
>>LU:             135.99
>>
>>= = = gcc 3.4.2 (C) = = =
>>Composite:      134.63
>>FFT:            144.39
>>SOR:            227.24
>>M.Carlo:        39.48
>>matmult:        133.75
>>LU:             128.32
>>
>>dmd's FFT results are constantly that slow. I haven't investigated if gdc/gcc does some hyper optimization, uses a lower number of significant bits or if the D-port is botched.
>>
>>SciMark2 (C & Java)
>>http://math.nist.gov/scimark
>>
>>SciMark2 (dirty D port)
>>svn://svn.kuehne.cn/dstress/benchmark/scimark/
>>
>>Thomas

November 03, 2004
In article <cmbgq5$ka5$1@digitaldaemon.com>, Thomas Kuehne says...
>
>Dave schrieb am Mittwoch, 3. November 2004 21:38:
>> 
>> What were the build flags for each?
>> 
>
>dmd: -O
>gdc: -O2 -frename-registers -fomit-frame-pointer -fweb
>gcc: -O3
>

Thanks - and below is what I got.

--- DMD v0.105 ---
# dmd -O -inline -release -ofscimark2_dmd *.d
# scimark2_dmd
Composite Score:          234.70
FFT             Mflops:    61.59    (N=1024)
SOR             Mflops:   316.93    (100 x 100)
MonteCarlo:     Mflops:    51.03
Sparse matmult  Mflops:   111.84    (N=1000, nz=5000)
LU              Mflops:   632.10    (M=100, N=100)

--- GDC 1g (dmd 0.102 / GCC v3.4.1) ---
# dmd -O -inline -release *.d -ofscimark2_gdc
# scimark2_gdc
Composite Score:          409.91
FFT             Mflops:   231.33    (N=1024)
SOR             Mflops:   315.89    (100 x 100)
MonteCarlo:     Mflops:    57.60
Sparse matmult  Mflops:   627.14    (N=1000, nz=5000)
LU              Mflops:   817.56    (M=100, N=100)

--- GCC v3.4.1 ---
# gcc -O3 -lm *.c -o scimark2
# scimark2
Composite Score:          394.51
FFT             Mflops:   222.48    (N=1024)
SOR             Mflops:   316.93    (100 x 100)
MonteCarlo:     Mflops:    57.85
Sparse matmult  Mflops:   567.41    (N=1000, nz=5000)
LU              Mflops:   807.89    (M=100, N=100)

--- Intel C/C++ v8.0 ---
# /opt/intel_cc_80/bin/icc -O3 -static *.c -o scimark2
# scimark2
Composite Score:          442.65
FFT             Mflops:   231.33    (N=1024)
SOR             Mflops:   456.62    (100 x 100)
MonteCarlo:     Mflops:    58.36
Sparse matmult  Mflops:   534.99    (N=1000, nz=5000)
LU              Mflops:   931.97    (M=100, N=100)

GDC 1g does better than GCC with the same 'backend' and runtime and also quite well compared to Intel. Way to go Walter and David Friedman!!

To balance things out a little, I've seen DMD do very well with other benchmarks using character and integral primatives (rather than floating point) but it appears maybe it could use some fp tuning.

- Dave


November 05, 2004
Thomas Kuehne wrote:

> I'm currently adding various benchmarks to DStress.
> SciMark2 has some interesting results:

Here are the results from the SciMark2, on Mac OS X 10.3:

gcc (3.4.2):
CFLAGS=-O3
> Composite Score:          124.06
> FFT             Mflops:   119.14    (N=1024)
> SOR             Mflops:   177.11    (100 x 100)
> MonteCarlo:     Mflops:    16.21
> Sparse matmult  Mflops:   147.60    (N=1000, nz=5000)
> LU              Mflops:   160.25    (M=100, N=100)
time:
> ./scimark2  25.29s user 0.27s system 87% cpu 29.277 total

gdc (0.8):
DFLAGS=-O2 -frename-registers -fomit-frame-pointer -fweb
> Composite Score:          121.13
> FFT             Mflops:   119.80    (N=1024)
> SOR             Mflops:   172.67    (100 x 100)
> MonteCarlo:     Mflops:    15.39
> Sparse matmult  Mflops:   128.00    (N=1000, nz=5000)
> LU              Mflops:   169.82    (M=100, N=100)
time:
> ./scimark2  26.05s user 0.30s system 83% cpu 31.552 total

The flags used seemed a little unequal, but I used the same.

--anders

PS. It had a bug in CLOCKS_PER_SEC_, similar to the other one.
    For the record: "not Windows" is not the same as "linux"! :)
November 06, 2004
Anders F Björklund schrieb:
>
> PS. It had a bug in CLOCKS_PER_SEC_, similar to the other one.
>      For the record: "not Windows" is not the same as "linux"! :)

Thanks, fixed.

Thomas