Wie lange braucht dieser Matlab / Octave Befehl? CPU Performance Vergleich
Geizhals » Forum » Programmierung » Wie lange braucht dieser Matlab / Octave Befehl? CPU Performance Vergleich (65 Beiträge, 1257 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Wie lange braucht dieser Matlab Befehl bei dir? CPU Performance Vergleich
09.12.2012, 12:00:43
Hallo,

falls du eine schnelle CPU und Matlab hast, wie lange braucht bei dir folgender Befehl?

tic; eig(randn(4000)); toc

Falls du dich ohne Benutzername beteiligen möchtest --> schick mir ein PM mit dem Ergebnis

Unter schnelle CPU verstehe ich Core i5, i7, xeon oder AMD Six-Core, 8-core.

Bitte unbedingt bei Notebooks das Netzteil anstecken. Sonst funktioniert der Turboboost nicht.
Bitte alle anderen Programme für die Dauer des kurzen Tests schließen (zwecks Vergleichbarkeit).

Die Zeiten sind deshalb für mich interessant weil ich vor einer Kaufentscheidung stehe und die Matlab-Performance dabei sehr wichtig ist.


Ergebnis (je weniger Sekunden desto besser - schneller)
Sekunden | CPU | Software

152.44; AMD Athlon X2 4850e; Matlab R2010b@ Windows Vista 32Bit
68.8; Athlon II X4 620; Matlab R2012b@ Windows 7 64bit
60,0; Intel Core i3-2310M; Matlab R2012b@ Windows 7 64bit
46.0; Intel Core i7-2620M; Matlab R2010b@ Windows 8 64bit
42.2; Intel Core i5-2520M; Matlab R2010a@ Windows 7 64bit
42,0; Intel Core i5-2430M; Matlab R2010b@ Windows 7 64bit
37,8; Intel Core i5-2430M; Matlab R2012a@ Ubuntu 12.04 64bit 3.2.0-34-generic
37.3; Intel Core i7-860; Matlab R2011a@ Windows 7 64bit
28,6; Intel Core i7-3615QM; Matlab R2012a@ OS X 10.8.2 64bit
28.4; Intel Core i5-3570k; Matlab R2010b@ Windows 7 64bit
28,4; Intel Core i7 2760QM Hyperthreading ein; Matlab R2011b@ Windows 8 Pro 64bit
27,6; Intel Core i7 2760QM Hyperthreading aus; Matlab R2011b@ Windows 8 Pro 64bit
25,0; Intel Core i5-750@4Ghz; Windows 8 Pro 64bit
24,1; Intel Xeon E5-1650@3,2Ghz; Matlab R2012b@ Windows 7 64bit
24,0; Intel Xeon E3-1230v1@3,2Ghz; Matlab R2012b@ ArchLinux 64bit 3.6.9-1-ARCH
23,8; Intel Core i7-3820 @3.6 Ghz; Matlab R2012a
20,9; Intel Core i5 2500K @4,4Ghz; Matlab R2011b@ Windows 8 Pro 64 bit





Vielen Dank!!!

12.12.2012, 20:50 Uhr - Editiert von Slipknot, alte Version: hier
Antworten PM Übersicht Chronologisch
 
Melden nicht möglich
.....
Re(5): Wie lange braucht dieser Matlab Befehl bei dir? CPU Performance Vergleich
15.12.2012, 17:31:43
Ach ja, danke dass du mich daran errinnert hast, hab ich ja komplett vergessen
das wird ja schon da sind, kann mich düster noch daran erinnern als ich das
vor 10 Jahren gehört habe.

Oh, sehr gerne :-)

Wenn der Cache nicht aushilft wirds heutzutage aber eh ständig eng, in dem
Zusammenhang wär ja noch das von-Neumannbottleneck erwähnt, das macht deine
Rechnung noch enger, obwohl der Code wahrscheinlich locker in den
Programmcache passt, aber man weiss ja nie.

Zumindest bei linearer Algebra ist der Programmcode in der Regel verschwindend klein gegenueber den Daten. Egal, wie man es dreht und wendet, der lange Pfad zwischen CPU and RAM wird immer teurer, daran wird auch DDR4 nichts aendern...

Aber das Fazinierende ist ja dass du wirklich zu fast jedem Problem eine
Cachestrategie finden kannst die dir hilft. Das Problem ist halt dass die
meisten Algos die gelehrt werden keine Rücksicht darauf nehmen, du kannst ja
auch N*Cores Threads starten und damit vieles verschleiern usw.

Ich bin selbst im Scientific Computing in der Forschung taetig und mittlerweile geht es eigentlich nur mehr darum, wie man die Cache-Hierarchie moeglichst gut fuer den jeweiligen Algorithmus ausnuetzen kann. Was dagegen in der Lehre so gebracht wird, moechte ich gar nicht naeher kommentieren, das verdirbt mir sonst die Laune ;-)

Hab erst vor kurzem gelesen, dass Forscher, die ihren Code auf CUDA umgebaut
haben, automatisch ihren Code >2x schneller auf der CPU gemacht haben, einfach
weil sie sich mehr dazu gedacht haben.

Fuer mich ist ein groszer Teil des Erfolges von CUDA darauf zurueckzufuehren, dass die Programmierung 'close to hardware' wiederentdeckt worden ist. Wie du richtig sagst, sind CPU-Codes durch diverse Abstraktionsversuche (OOP, Runtimes, etc.) teilweise so unnoetig aufgeblaeht, dass man eben alleine durch das Wegschmeiszen dieses Ballasts schon viel gewinnen kann. Wenn man allerdings den zusaetzlichen Programmieraufwand fuer GPUs bzw. 'close to hardware' dem Laufzeitgewinn gegenueberstellt, wage ich zu behaupten, dass in vielen Faellen trotzdem die Abstraktion die bessere Wahl waere - nur ist diese Erkenntnis keine Publikation wert.

Es ist ja immer wieder faszinierend wenn man sich die Mathlib von Intel
anschaut, wie sie Jahr für Jahr schneller wird, obwohl du glaubts die haben
schon alles rausgeholt.

Haha, die sind aber auch selber 'schuld', weil sie immer wieder neue Prozessoren mit neuen Befehlen rausbringen |-D


Sei epsilon < 0...
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung