Octave Benchmark 5.1.0 (OpenBlas)

Z

ZeroStrat

Gast
Windows-64 (recommended) Installer für 5.1.0: https://www.gnu.org/software/octave/#install

Installer Config (OpenBLAS ist wichtig, der Rest nicht):
788626


Benchmark ausführen mit default Parametern:
Code:
>> mybench

Für den Report einfach Hardware Infos + Octave Output (am besten in einem Spoiler) als Beitrag posten.

Hinweis: Bitte wenigstens die Summary mit posten, da in der Result Datei das arithmetische Mittel fehlt.

Ergänzung ()

Execute test 1/20 - rand
1 2 3
Time 0.18
Normalized time 0.16

Execute test 2/20 - randn
1 2 3
Time 0.32
Normalized time 0.55

Execute test 3/20 - primes
1 2 3
Time 0.05
Normalized time 0.07

Execute test 4/20 - fft2
1 2 3
Time 0.15
Normalized time 0.06

Execute test 5/20 - square
1 2 3
Time 0.05
Normalized time 0.03

Execute test 6/20 - inv
1 2 3
Time 0.08
Normalized time 0.09

Execute test 7/20 - eig
1 2 3
Time 1.13
Normalized time 0.12

Execute test 8/20 - qr
1 2 3
Time 0.15
Normalized time 0.18

Execute test 9/20 - schur
1 2 3
Time 0.51
Normalized time 0.19

Execute test 10/20 - roots
1 2 3
Time 0.84
Normalized time 0.41

Execute test 11/20 - interp2
1 2 3
Time 1.26
Normalized time 0.30

Execute test 12/20 - binary
1 2 3
Time 0.10
Normalized time 0.20

Execute test 13/20 - forLoop
1 2 3
Time 10.94
Normalized time 182.34

Execute test 14/20 - makeSparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 15/20 - multiplySparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 16/20 - sLinearEq
1 2 3
Time 0.12
Normalized time 0.06

Execute test 17/20 - saveLoadMtx
1 2 3
Time 6.62
Normalized time 7.12

Execute test 18/20 - dlmwriteRead
1 2 3
Time 1.55
Normalized time 0.31

Execute test 19/20 - median
1 2 3
Time 0.26
Normalized time 0.08

Execute test 20/20 - std
1 2 3
Time 0.10
Normalized time 0.12


--- SUMMARY ---

Mean: geometric 0.000 , arithmetic 1.220
Min 0.000 , Max 10.940

Normalized Mean: geometric 0.000, arithmetic 9.620
Normalized Min 0.000 , Max 182.340


End of test. File results_5.1.0.txt was created.
ans =

scalar structure containing the fields:

norm_geometric_mean = 0
norm_arithmetic_mean = 9.6198
norm_min = 0
norm_max = 182.34

Code:
Name_5.1.0    Time    Norm_time
rand    0.178262    0.159162
randn    0.316540    0.545758
primes    0.046315    0.062587
fft2    0.139944    0.061379
square    0.029988    0.022213
inv    0.092629    0.106471
eig    1.104891    0.116920
qr    0.144275    0.182627
schur    0.531454    0.199046
roots    0.830335    0.399199
interp2    1.278822    0.304481
binary    0.108290    0.212333
forLoop    11.099075    184.984583
makeSparse    0.000000    0.000000
multiplySparse    0.000000    0.000000
sLinearEq    0.114655    0.059101
saveLoadMtx    6.676332    7.178852
dlmwriteRead    1.577509    0.313620
median    0.240309    0.072382
std    0.089991    0.107132
Geom_mean    0.000000    0.000000
 

Anhänge

  • mybench.zip
    4,2 KB · Aufrufe: 3.650
  • CPU_Info.png
    CPU_Info.png
    60,1 KB · Aufrufe: 3.718
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: süchtla, Ned Flanders, yummycandy und eine weitere Person
Der Befehl "mybench" spuckt das bei mir aus" error: 'mybench' undefined near line 1 column 1 "
 
Bluntastic schrieb:
Der Befehl "mybench" spuckt das bei mir aus" error: 'mybench' undefined near line 1 column 1 "

Du musst oben in der Toolbar auf den blauen Ordner klicken und zum Speicherort von mybench.m navigieren.
 
  • Gefällt mir
Reaktionen: Bluntastic
arch linux/kernel 5.1.6/octave 5.1.0/ryzen2600@stock

Execute test 1/20 - rand
1 2 3
Time 0.20
Normalized time 0.18

Execute test 2/20 - randn
1 2 3
Time 0.30
Normalized time 0.52

Execute test 3/20 - primes
1 2 3
Time 0.03
Normalized time 0.04

Execute test 4/20 - fft2
1 2 3
Time 0.11
Normalized time 0.05

Execute test 5/20 - square
1 2 3
Time 0.54
Normalized time 0.40

Execute test 6/20 - inv
1 2 3
Time 0.50
Normalized time 0.58

Execute test 7/20 - eig
1 2 3
Time 1.99
Normalized time 0.21

Execute test 8/20 - qr
1 2 3
Time 0.42
Normalized time 0.54

Execute test 9/20 - schur
1 2 3
Time 0.66
Normalized time 0.25

Execute test 10/20 - roots
1 2 3
Time 0.93
Normalized time 0.45

Execute test 11/20 - interp2
1 2 3
Time 0.77
Normalized time 0.18

Execute test 12/20 - binary
1 2 3
Time 0.07
Normalized time 0.15

Execute test 13/20 - forLoop
1 2 3
Time 8.66
Normalized time 144.33

Execute test 14/20 - makeSparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 15/20 - multiplySparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 16/20 - sLinearEq
1 2 3
Time 0.09
Normalized time 0.04

Execute test 17/20 - saveLoadMtx
1 2 3
Time 1.10
Normalized time 1.18

Execute test 18/20 - dlmwriteRead
1 2 3
Time 0.31
Normalized time 0.06

Execute test 19/20 - median
1 2 3
Time 0.22
Normalized time 0.07

Execute test 20/20 - std
1 2 3
Time 0.06
Normalized time 0.08


--- SUMMARY ---

Mean: geometric 0.156 , arithmetic 0.848
Min 0.000 , Max 8.660

Normalized Mean: geometric 0.125, arithmetic 7.464
Normalized Min 0.000 , Max 144.328


End of test. File results_5.1.0.txt was created.
ans =

scalar structure containing the fields:

norm_geometric_mean = 0.12490
norm_arithmetic_mean = 7.4639
norm_min = 0.00012164
norm_max = 144.33

edit: da kommt am ende ja eine result datei raus. vielleicht ist das übersichtlicher?
Code:
Name_5.1.0    Time    Norm_time
rand    0.200016    0.178586
randn    0.298913    0.515367
primes    0.027273    0.036855
fft2    0.108161    0.047439
square    0.538298    0.398739
inv    0.500455    0.575236
eig    1.992336    0.210829
qr    0.423238    0.535744
schur    0.657253    0.246162
roots    0.932860    0.448490
interp2    0.769972    0.183327
binary    0.074154    0.145400
forLoop    8.659668    144.327801
makeSparse    0.000060    0.000122
multiplySparse    0.000233    0.000237
sLinearEq    0.086527    0.044602
saveLoadMtx    1.096153    1.178659
dlmwriteRead    0.309574    0.061546
median    0.224569    0.067641
std    0.064012    0.076205
Geom_mean    0.155810    0.124895
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZeroStrat
0x8100 schrieb:
edit: da kommt am ende ja eine result datei raus. vielleicht ist das übersichtlicher?

Ich finde die Summary besser, da in der Result Datei leider auch das arithmetische Mittel fehlt. Das geometrische ist zudem 0, wenn ein Faktor 0 ist.
 
Sieht für mich so aus, als ob der Test mehr auf die SC-Leistung geht?

results_5.1.0.txt:
Code:
Name_5.1.0	Time	Norm_time
rand	0.230835	0.206103
randn	0.377871	0.651502
primes	0.066816	0.090291
fft2	0.220115	0.096542
square	0.030976	0.022945
inv	0.090353	0.103854
eig	1.329244	0.140661
qr	0.158279	0.200353
schur	0.659101	0.246854
roots	0.891012	0.428371
interp2	1.756013	0.418098
binary	0.153410	0.300803
forLoop	12.676577	211.276289
makeSparse	0.000121	0.000248
multiplySparse	0.000379	0.000387
sLinearEq	0.159022	0.081970
saveLoadMtx	8.718105	9.374306
dlmwriteRead	2.006836	0.398973
median	0.268301	0.080813
std	0.129481	0.154144
Geom_mean	0.195621	0.156808

Output:
Code:
Execute test 1/20 -  rand
1 2 3
        Time 0.23 [s]
        Normalized time 0.21

Execute test 2/20 -  randn
1 2 3
        Time 0.38 [s]
        Normalized time 0.65

Execute test 3/20 -  primes
1 2 3
        Time 0.07 [s]
        Normalized time 0.09

Execute test 4/20 -  fft2
1 2 3
        Time 0.22 [s]
        Normalized time 0.10

Execute test 5/20 -  square
1 2 3
        Time 0.03 [s]
        Normalized time 0.02

Execute test 6/20 -  inv
1 2 3
        Time 0.09 [s]
        Normalized time 0.10

Execute test 7/20 -  eig
1 2 3
        Time 1.33 [s]
        Normalized time 0.14

Execute test 8/20 -  qr
1 2 3
        Time 0.16 [s]
        Normalized time 0.20

Execute test 9/20 -  schur
1 2 3
        Time 0.66 [s]
        Normalized time 0.25

Execute test 10/20 -  roots
1 2 3
        Time 0.89 [s]
        Normalized time 0.43

Execute test 11/20 -  interp2
1 2 3
        Time 1.76 [s]
        Normalized time 0.42

Execute test 12/20 -  binary
1 2 3
        Time 0.15 [s]
        Normalized time 0.30

Execute test 13/20 -  forLoop
1 2 3
        Time 12.68 [s]
        Normalized time 211.28

Execute test 14/20 -  makeSparse
1 2 3
        Time 0.00 [s]
        Normalized time 0.00

Execute test 15/20 -  multiplySparse
1 2 3
        Time 0.00 [s]
        Normalized time 0.00

Execute test 16/20 -  sLinearEq
1 2 3
        Time 0.16 [s]
        Normalized time 0.08

Execute test 17/20 -  saveLoadMtx
1 2 3
        Time 8.72 [s]
        Normalized time 9.37

Execute test 18/20 -  dlmwriteRead
1 2 3
        Time 2.01 [s]
        Normalized time 0.40

Execute test 19/20 -  median
1 2 3
        Time 0.27 [s]
        Normalized time 0.08

Execute test 20/20 -  std
1 2 3
        Time 0.13 [s]
        Normalized time 0.15


         --- SUMMARY ---

        Mean: geometric 0.196 [s], arithmetic 1.496 [s]
        Min 0.000 [s], Max 12.677 [s]

        Normalized Mean: geometric 0.157, arithmetic 11.214
        Normalized Min 0.000 [s], Max 211.276 [s]


End of test. File results_5.1.0.txt was created.
ans =

  scalar structure containing the fields:

    norm_geometric_mean =  0.15681
    norm_arithmetic_mean =  11.214
    norm_min =  0.00024766
    norm_max =  211.28
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZeroStrat
Bitte wenigstens die Summary mit posten, da in der Result Datei das arithmetische Mittel fehlt.

Ja, der Test ist single threaded, damit man mehr CPUs vergleichen kann.
 
Update von einem neuen Lauf ist im alten Post eingestellt.

ZeroStrat schrieb:
Ja, der Test ist single threaded, damit man mehr CPUs vergleichen kann.
Wobei es hier dann an der Aussagekraft von Dingen wie Speicherdurchsatz und Latenz insbesondere bei mehreren Kernen mangelt - falls die Daten nicht in die Caches passen (habe mir deinen Code aus Faulheit noch nicht angesehen) ;).
 
Auf der privaten Kiste siehts so aus.

Execute test 1/20 - rand
1 2 3
Time 0.13
Normalized time 0.12

Execute test 2/20 - randn
1 2 3
Time 0.27
Normalized time 0.47

Execute test 3/20 - primes
1 2 3
Time 0.04
Normalized time 0.05

Execute test 4/20 - fft2
1 2 3
Time 0.07
Normalized time 0.03

Execute test 5/20 - square
1 2 3
Time 0.04
Normalized time 0.03

Execute test 6/20 - inv
1 2 3
Time 0.07
Normalized time 0.08

Execute test 7/20 - eig
1 2 3
Time 0.64
Normalized time 0.07

Execute test 8/20 - qr
1 2 3
Time 0.06
Normalized time 0.07

Execute test 9/20 - schur
1 2 3
Time 0.35
Normalized time 0.13

Execute test 10/20 - roots
1 2 3
Time 0.45
Normalized time 0.22

Execute test 11/20 - interp2
1 2 3
Time 0.86
Normalized time 0.21

Execute test 12/20 - binary
1 2 3
Time 0.09
Normalized time 0.17

Execute test 13/20 - forLoop
1 2 3
Time 8.67
Normalized time 144.48

Execute test 14/20 - makeSparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 15/20 - multiplySparse
1 2 3
Time 0.00
Normalized time 0.00

Execute test 16/20 - sLinearEq
1 2 3
Time 0.10
Normalized time 0.05

Execute test 17/20 - saveLoadMtx
1 2 3
Time 5.45
Normalized time 5.86

Execute test 18/20 - dlmwriteRead
1 2 3
Time 1.41
Normalized time 0.28

Execute test 19/20 - median
1 2 3
Time 0.21
Normalized time 0.06

Execute test 20/20 - std
1 2 3
Time 0.07
Normalized time 0.09


--- SUMMARY ---

Mean: geometric 0.117 , arithmetic 0.949
Min 0.000 , Max 8.669

Normalized Mean: geometric 0.094, arithmetic 7.623
Normalized Min 0.000 , Max 144.481


End of test. File results_5.1.0.txt was created.
ans =

scalar structure containing the fields:

norm_geometric_mean = 0.093795
norm_arithmetic_mean = 7.6231
norm_min = 0.00015862
norm_max = 144.48


norm_geometric_mean = 0.093795
norm_arithmetic_mean = 7.6231
norm_min = 0.00015862
norm_max = 144.48

Sys ist ein Ryzen5 2600x@stock im mITX auf einem AsRock Fatal1ty X370 Gaming-ITX/ac mit 3600MHz DDR4 RAM auf Win10 1903

1559678731342.png

Der RAM zugriff scheint hier in der Tat keine Rolle zu spielen. Ergebnis ist praktisch identisch mit @0x8100 oben.

Morgen, bei Gelegenheit schieb ich noch die Workstation im Lab durch.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZeroStrat
Code:
Name_5.1.0    Time    Norm_time
rand    0.113265    0.101129
randn    0.212887    0.367046
primes    0.051081    0.069028
fft2    0.060933    0.026725
square    0.010880    0.008059
inv    0.031645    0.036373
eig    0.537051    0.056831
qr    0.044557    0.056401
schur    0.287763    0.107776
roots    0.401018    0.192797
interp2    0.737692    0.175641
binary    0.070736    0.138699
forLoop    12.390371    206.506183
makeSparse    0.000089    0.000181
multiplySparse    0.000231    0.000236
sLinearEq    0.070612    0.036398
saveLoadMtx    6.437748    6.922310
dlmwriteRead    1.981171    0.393871
median    0.158790    0.047828
std    0.067330    0.080155
Geom_mean    0.099535    0.079786

Summary Output:
norm_geometric_mean = 0.079786
norm_arithmetic_mean = 10.766
norm_min = 0.00018117
norm_max = 206.51

Der 9900k ist jetzt nicht unbedingt ne Granate...
 
Zuletzt bearbeitet von einem Moderator:
Was ist denn da los? Zumindest für den E5 hätte es ja langen müssen.
 
Volle Sicherheitspatches auf dem System mit dem 9900k, auf der Xeon Kiste hingegen nicht. Ich trauere gerade um die Performance... :(
 
Ich schalte mal testweise HT aus...

... aber bringt nichts. Ist ja katastrophal.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Ned Flanders
Hi,

Endlich mal was, wo ich mitbenchen kann ;)

Darf man fragen, warum du das machst?

Die "forloop" Performance ist ja bei Benutzung schon unterirdisch. Aber sooo schrecklich?!


OS: Win 10 1809
1559754769687.png1559754757091.png



Code:
Commandline Output

Execute test 1/20 -  rand
1 2 3
        Time 0.15 [s]
        Normalized time 0.14

Execute test 2/20 -  randn
1 2 3
        Time 0.27 [s]
        Normalized time 0.46

Execute test 3/20 -  primes
1 2 3
        Time 0.05 [s]
        Normalized time 0.07

Execute test 4/20 -  fft2
1 2 3
        Time 0.12 [s]
        Normalized time 0.05

Execute test 5/20 -  square
1 2 3
        Time 0.02 [s]
        Normalized time 0.02

Execute test 6/20 -  inv
1 2 3
        Time 0.09 [s]
        Normalized time 0.10

Execute test 7/20 -  eig
1 2 3
        Time 1.23 [s]
        Normalized time 0.13

Execute test 8/20 -  qr
1 2 3
        Time 0.15 [s]
        Normalized time 0.19

Execute test 9/20 -  schur
1 2 3
        Time 0.67 [s]
        Normalized time 0.25

Execute test 10/20 -  roots
1 2 3
        Time 1.01 [s]
        Normalized time 0.49

Execute test 11/20 -  interp2
1 2 3
        Time 1.39 [s]
        Normalized time 0.33

Execute test 12/20 -  binary
1 2 3
        Time 0.12 [s]
        Normalized time 0.23

Execute test 13/20 -  forLoop
1 2 3
        Time 8.92 [s]
        Normalized time 148.71

Execute test 14/20 -  makeSparse
1 2 3
        Time 0.00 [s]
        Normalized time 0.00

Execute test 15/20 -  multiplySparse
1 2 3
        Time 0.00 [s]
        Normalized time 0.00

Execute test 16/20 -  sLinearEq
1 2 3
        Time 0.13 [s]
        Normalized time 0.07

Execute test 17/20 -  saveLoadMtx
1 2 3
        Time 5.31 [s]
        Normalized time 5.71

Execute test 18/20 -  dlmwriteRead
1 2 3
        Time 1.23 [s]
        Normalized time 0.24

Execute test 19/20 -  median
1 2 3
        Time 0.22 [s]
        Normalized time 0.07

Execute test 20/20 -  std
1 2 3
        Time 0.12 [s]
        Normalized time 0.15


         --- SUMMARY ---

        Mean: geometric 0.151 [s], arithmetic 1.061 [s]
        Min 0.000 [s], Max 8.922 [s]

        Normalized Mean: geometric 0.121, arithmetic 7.870
        Normalized Min 0.000 [s], Max 148.706 [s]


End of test. File results_5.1.0.txt was created.
ans =

  scalar structure containing the fields:

    norm_geometric_mean =  0.12130
    norm_arithmetic_mean =  7.8700
    norm_min =  0.00015376
    norm_max =  148.71


File:

Name_5.1.0    Time    Norm_time
rand    0.154628    0.138061
randn    0.266553    0.459575
primes    0.052286    0.070657
fft2    0.122994    0.053945
square    0.022615    0.016752
inv    0.088011    0.101162
eig    1.226939    0.129835
qr    0.150905    0.191019
schur    0.670042    0.250952
roots    1.012063    0.486569
interp2    1.393706    0.331835
binary    0.118496    0.232344
forLoop    8.922363    148.706056
makeSparse    0.000075    0.000154
multiplySparse    0.000238    0.000243
sLinearEq    0.127347    0.065643
saveLoadMtx    5.309301    5.708926
dlmwriteRead    1.228706    0.244275
median    0.223042    0.067181
std    0.122044    0.145291
Geom_mean    0.151320    0.121296
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Ned Flanders und ZeroStrat
Bei großen CPU Caches lohnt es sich das auch zu konfigurieren.

@TE , bei deiner CPU ja 10 Megabytes Level 3 Cache.

Siehe Signatur 2. Punkt / Zeile.
 
Code:
Name_5.1.0    Time    Norm_time
rand    0.143649    0.128258
randn    0.292480    0.504275
primes    0.064503    0.087167
fft2    0.109429    0.047995
square    0.030478    0.022577
inv    0.067064    0.077085
eig    0.760815    0.080510
qr    0.061584    0.077954
schur    0.366493    0.137263
roots    0.533040    0.256269
interp2    1.087607    0.258954
binary    0.103068    0.202094
forLoop    16.978444    282.974072
makeSparse    0.000201    0.000410
multiplySparse    0.000372    0.000380
sLinearEq    0.120512    0.062120
saveLoadMtx    9.560188    10.279772
dlmwriteRead    2.676585    0.532124
median    0.230812    0.069522
std    0.101292    0.120586
Geom_mean    0.154093    0.123519

norm_geometric_mean = 0.12352
norm_arithmetic_mean = 14.796
norm_min = 0.00037993
norm_max = 282.97

Irgendwie ist bei meinen Systemen der Wurm drin.

Hab mal den Virenscanner deaktiviert:

norm_geometric_mean = 0.11099
norm_arithmetic_mean = 10.451
norm_min = 0.00023404
norm_max = 198.77

;)
 
Zuletzt bearbeitet von einem Moderator:
Naja, der Xeon E5 ist vom Hersteller nicht gerade auf maximale Single-Thread-Performance optimiert.
Der 9900K zeigt eine vergleichsweise langsame "forloop" Performance. For-Loops sind ja prädestiniert für die Branch-Prediction, ergo maximaler Leistungseinbruch mit Security-Patches.

Generell taktet ja fast jede CPU mittlerweise mit >4GHz Single Core Turbo und damit sind die Unterschiede nicht so groß.
 
ZeroStrat schrieb:
Irgendwie ist bei meinen Systemen der Wurm drin.

Die Werte sind speziell angepaßt für Ryzen 5 2400G . Für andere CPUs bitte nicht anwenden !


Code:
Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]

"SecondLevelDataCache"=dword:00000800

"ThirdLevelDataCache"=dword:00001000


Bitte z.B. als Text in eine z.B. "Neueintrag.reg" Datei speichern, danach doppelklicken und System neu starten.

Sollte es doch nix bringen, einfach die D-Word-Werte alle auf null setzen -> dword:00000000
und erneut eintragen.

Ansonsten hilft nur 1. und 4. Zeile aus meiner Signatur.
 
Soooo, und nun der 9900k ohne den störenden Virenscanner:

norm_geometric_mean = 0.071185
norm_arithmetic_mean = 6.6218
norm_min = 0.00014694
norm_max = 126.27

@emeraldmine Danke für den Tipp, aber ich denke, das ist nicht notwendig.
 
Zurück
Oben