[Kaufberatung] i7/PhII-Besitzer aus Leipzig oder mit Matlab?

Andy386

Neuling
Thread Starter
Mitglied seit
16.12.2007
Beiträge
242
Im Entfertesten ist's eine Art Kaufberatungsfrage.
In meiner Firma brauchen wir grosse Rechenpower zum bezahlbaren Preis. Soll nix 24/7 sein, sondern eher in die Richtung 4/5, aber dennoch möglichst fix.
Meine Kollegen und ich sind grade alle ratlos, da ohne i7-Rechner zum Testen.
Es geht mir darum, einen Vergleich für bestimmte Problemstellungen in Matlab von i7 zum Phenom II zu erhalten. Also, ob der Aufpreis sich wenigstens ein bisschen in einem Leistungsplus wiederspiegelt.

Ich hoffe, hier gibt es Leute aus der Nähe von Leipzig, die einen i7 haben. Ich dahcte mir das so: ich komme mit ein paar Bierchen zu dir (vorrausgesetzt, du bist alt genug, sonst irgendwas anderes), ich schliesse meine Festplatte mit Testprogramm an, und benche dann kurz....

Oder: du lässt den unten stehenden Code durchlaufen, wenn du Matlab hast, und postet dein Ergebnis.

Code:
y=rand(2e6,3); 
tic; 
for i=1:5 
sortrows(y);
end 
toc 
tic 
for i=1:100 
find(y(:,1)==rand & y(:,2)==rand & y(:,3)==rand);
end 
toc

wer zusätzlich die Parallel Computing Toolbox drauf hat, kann auch folgendes noch probieren
Code:
y=rand(2e6,3); 
matlabpool open;
tic; 
parfor i=1:5 
sortrows(y);
end 
toc 
tic 
parfor i=1:100 
find(y(:,1)==rand & y(:,2)==rand & y(:,3)==rand);
end 
toc
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
hi

also da ich auch matlab nutze (ich denke aber nicht so intensiv wie du...bei mir geht das eher in eine andere richtung) muss ich sagen das die cpu sehr schnell ist! allerdings habe ich keine vergleichswerte zum PII

jedoch würde es mich stark wundern wenn der i7 nicht signifikant schneller wäre als ein PII...denn gerade die arbeitsleistung ist bei der cpu phänomenal!


hast du nicht die möglichkeit irgendjemanden deine benchprogramme zu schicken und so zu vergleichen? bei nem einfachen bench muss man nicht zwingend vor ort sein
 
Der Aufpreis rentiert sich nicht, der i7 ist kein Matlab Prozessor ... SMT bringt gar nichts, Turbo immerhin ein kleinens bisschen:
http://www.ixbt.com/cpu/images/amd-phenom-2-x4-940/results.xls
http://ixbtlabs.com/articles3/cpu/intel-ci7-920-p2.html
http://ixbtlabs.com/articles3/cpu/ci7-turbo-ht-p1.html

Wenn Übertakten eine Option ist, könnte man darüber reden, aber ein 975 rechnet sich nicht. Dann lieber einen Q9650 oder einen E8600.


Performance per GHz E6850 E8200 E8500 Q9300 QX9770 i7 920

MATLAB 42.65 44.52 43.63 42.59 44.20 41.43
Bei AMD sollte man die Intel MKL Library nehmen, angeblich bei der aktuellen MatLab Version aber bereits Standard.

http://ixbtlabs.com/articles3/cpu/phenom-x4-matlab-p1.html

Edit:
Hauptproblem ist aber wohl der Sparse Subtest, der zieht die ganzen Ergebnisse nach unten und muss wohl jeweils auf die Architektur angepasst werden :(

ciao

Alex
 
Zuletzt bearbeitet:
Danke Opteron !

okay, also viel Zeit gehen fürs Sortieren und Matrixzugriffe drauf.
Vielleicht könnten Leute mit i7 und PIIs mal folgenden Code durchlaufen lassen und die Zeiten hier aufschreiben.

y=rand(2e6,3);
tic;
for i=1:5
sortrows(y);
end
toc
tic
for i=1:100
find(y:-),1)==rand & y:-),2)==rand & y:-),3)==rand);
end
toc


Ein richtiger Bench kommt noch...
 
Zuletzt bearbeitet:
wo wir gerade bei matlab sind,kann das prog überhaupt mit 4 kernen umgehen?
 
Danke Opteron !

okay, also viel Zeit gehen fürs Sortieren und Matrixzugriffe drauf.
Vielleicht könnten Leute mit i7 und PIIs mal folgenden Code durchlaufen lassen und die Zeiten hier aufschreiben.

y=rand(2e6,3);
tic;
for i=1:5
sortrows(y);
end
toc
tic
for i=1:100
find(y:-),1)==rand & y:-),2)==rand & y:-),3)==rand);
end
toc


Ein richtiger Bench kommt noch...

Mit R2009a Version und PII X4 940:

3GHz:
Elapsed time is 6.929521 seconds.
Elapsed time is 2.852906 seconds.

3,5GHz:
Elapsed time is 6.366212 seconds.
Elapsed time is 2.479962 seconds.

Auslastung 30-40%, also Single/Dualcore reicht prinzipiell. Die Frage ist nur, wie die jeweilige Pro-MHz-Leistung der unterschiedlichen Architekturen hier ist.
 
Danke für den Hinweis...
Mehrkrenrechnerei wird bei Matlab wie verteiltes Rechnen gewertet, mit der Parallel Computing Toolbox und Anpassungen im Code erzielt man einen kleinen Geschwindigkeitsvorteil...

---------- Beitrag hinzugefügt um 10:31 ---------- Vorheriger Beitrag war um 10:28 ----------

Wow... das Sortieren auf dem PhII ist ja gelinde gesagt, grottig...
Mein 6000+ (X2, @3200) schafft
Elapsed time is 6.219410 seconds.
Elapsed time is 6.036350 seconds.

Scheint nur der Speicherzugriff viel schneller zu erfolgen. Okay, ist schonmal eine wertvolle Information, danke, Undertaker !
Vielleicht könntest du noch die parfor-Variante durchlaufen lassen ?
Meiner erreicht damit
Elapsed time is 6.087388 seconds.
Elapsed time is 5.501113 seconds.
 
Zuletzt bearbeitet:
Kein Problem:

Code:
y=rand(2e6,3); 
matlabpool open;
tic; 
parfor i=1:5 
sortrows(y);
end 
toc 
tic 
parfor i=1:100 
find(y(:,1)==rand & y(:,2)==rand & y(:,3)==rand);
end 
toc

3,5GHz:
Elapsed time is 4.405744 seconds.
Elapsed time is 3.500401 seconds.

Auslastung hier 50-100%, also durchaus Profite von Quads, damit evntl. auch durch SMT beim i7.
 
Vielen Dank !
das sind ja schon gute Ergebnisse für mich
...aber das Finden dauert plötzlich länger... komische Sache
 
Die Ergebnisse schwanken ziemlich, ist mir auch aufgefallen... +-0,5s kann durchaus vorkommen, wobei die geposteten Werte oben zu den schnelleren zählten.
 
Hallo,

Matlab R2008a unter Win7 in Kombination mit einem Core i7:
Elapsed time is 4.939264 seconds.
Elapsed time is 1.613704 seconds.

die Taktraten:
CPU: 3,9 GHz, DDR3-1484 8-8-8-24

y=rand(2e6,3);
matlabpool open;
tic;
parfor i=1:5
sortrows(y);
end
toc
tic
parfor i=1:100
find(y:-),1)==rand & y:-),2)==rand & y:-),3)==rand);
end
toc

und hier das Ergebnis mit der Parallel Computing Toolbox (4 Kerne, SMT ist deaktiviert):
Elapsed time is 2.778157 seconds.
Elapsed time is 1.759878 seconds.

ciao Tom
 
Zuletzt bearbeitet:
Das scheint ja recht eindeutig eher dem i7 zu liegen, interessant wären mal noch Zahlen eines Core 2 Quad.

Edit: Ich hab auch mal noch ein paar Durchgänge gemacht, der beste aus 5 (3,5GHz, parfor) war:

Elapsed time is 4.068451 seconds.
Elapsed time is 3.361468 seconds.

@Dampfkanes, teste doch mal bitte mit SMT on. :)
 
Zuletzt bearbeitet:
@Undertaker
ich schau mal, dass ich im Laufe des Tages noch 3,7 mit SMT (interessiert mich selbst, wie groß der Unterschied ist) und vielleicht auch noch 3,5 GHz mit und ohne nachschiebe. Dann kann man eher vergleichen.
Außer Du schaffst vielleicht die 3,7 GHz?

@Andy386
würde Dich der Standardtakt (2,67) auch interessieren? ich werd da aus Deinem Posting nicht ganz schlau, ob Übertaktung eine Option ist.

Update
3,7 GHz (SMT Aktiv, 8 Kerne):
Elapsed time is 2.632372 seconds.
Elapsed time is 1.710681 seconds.
es waren aber auch Läufe dabei, bei denen nur so viel raus kam:
Elapsed time is 2.883176 seconds.
Elapsed time is 1.761002 seconds.

Da mit nur 4 labs (Threads?) gearbeitet wird, ists imho verständlich, das es nicht von SMT profitiert.

3,51 GHz und RAM auf DDR3-1404 (single):
Elapsed time is 5.172344 seconds.
Elapsed time is 1.689047 seconds.

Parallel Computing Toolbox :
Elapsed time is 2.646317 seconds. bis 2.875810
Elapsed time is 1.662004 seconds. bis 1.734006

@Undertaker
jetzt wären noch Parallel Computing Toolbox-Ergebnisse mit einem PhenomII interessant.
Oder hast Du die bereits gepostet?
ich sehs grad, die 4.06 waren mit parfor.

ciao Tom
 
Zuletzt bearbeitet:
Mahlzeit,

hab deine beiden Programme bei mir auch mal durchlaufen lassen und komme auf folgende Zeiten:

Code:
y=rand(2e6,3); 
tic; 
for i=1:5 
sortrows(y);
end 
toc 
tic 
for i=1:100 
find(y(:,1)==rand & y(:,2)==rand & y(:,3)==rand);
end 
toc

Elapsed time is 6.658600 seconds.
Elapsed time is 2.927389 seconds.

Code:
y=rand(2e6,3); 
matlabpool open;
tic; 
parfor i=1:5 
sortrows(y);
end 
toc 
tic 
parfor i=1:100 
find(y(:,1)==rand & y(:,2)==rand & y(:,3)==rand);
end 
toc

Elapsed time is 4.130240 seconds.
Elapsed time is 3.397880 seconds.

Verwendet wurde die 64-bit Version von Matlab R2009a unter Win7 64-bit mit einem P2 940 @ 3.3GHz
 
@Undertaker
ich schau mal, dass ich im Laufe des Tages noch 3,7 mit SMT (interessiert mich selbst, wie groß der Unterschied ist) und vielleicht auch noch 3,5 GHz mit und ohne nachschiebe. Dann kann man eher vergleichen.
Außer Du schaffst vielleicht die 3,7 GHz?

Ne, das macht die CPU leider net... Übrigens, hast du auch die 64Bit Version getestet?
Ob Windows 7 oder Vista scheint wohl nicht viel auszumachen, wenn ich mir die Zahlen von maddin09 so anschaue und mit meinen Vergleiche.
 
Ne, das macht die CPU leider net... Übrigens, hast du auch die 64Bit Version getestet?
ja, seit über einem Jahr hab ich Vista 64 Bit im Einsatz und dementsprechend auch Matlab. Wobei ich hier einfach davon ausgehe, dass Matlab selbst bei der Installation das richtige ausgewählt hat. Jedenfalls liegt es im Programme-Ordner ohne x86-Zusatz.
Mit Matlab hab ich ehrlich gesagt noch nicht so viel Erfahrung.

ciao Tom
 
Beim ersten Code:

Elapsed time is 4.368695 seconds.
Elapsed time is 1.595720 seconds.

Beim 2.:

Elapsed time is 2.625404 seconds.
Elapsed time is 1.605828 seconds.
 
Geile Sache !
Danke Euch allen für die vielen Tests !

Also, Übertakten kommt an sich schon in Frage, aber nur in kleinem Maße, da die Umgebungstemp. in den Laboren doch recht hoch ist; ob WaKü sein soll/kann/darf, weiss ich nicht... Ein Test mit vllt. 3GHz (k.A., kommt man da noch gut mit LuKü hin ?) wär auch toll !

Ein Ergebnis vom Q6600 @ 2.40GHz hab ich auch, leider da noch ohne Parallel Computing:
von "derOlli" aus dem goMatlab-Forum: "7.8 und 9.4 Sekunden."
 
Zuletzt bearbeitet:
Ich hätte dir hier noch anzubieten:
Q6600@default: 8,57s / 2,76s
i7@4GHz: 4,67s / 1,63s , 2,90s / 1,56s

Edit: 3GHz sollten immer problemlos mit Luftkühlung funktionieren, da es ja auch i7 Modelle gibt die Standard schon höher getaktet sind.
 
Zuletzt bearbeitet:
Danke auch an dich, 3ullit !

Wenn noch jemand @default testen würde (einfach zum besseren Vergleich zum PhII) wär ich überglücklich !
 
Hallo,

3 GHz sind ja fast default (2,67):
Elapsed time is 6.045924 seconds.
Elapsed time is 1.967013 seconds.

Parallel Computing Toolbox:
Elapsed time is 3.256331 seconds.
Elapsed time is 2.070730 seconds.

ciao Tom
 
@ Andy386
Für Matlab gibts plugins zur berechnung mit der Grafikkarte. Grafikkarten können das um längen schneller als jeder I7 oder Phenom II. Teilweise verkürzt das berechnen mit GPU die Laufzeiten um Faktor 12 und höher: Wär vielleicht ne Überlegung wert wenn um viel Berechnungen in deiner Firma geht.

http://www.hartware.de/press_6819.html
 
Zuletzt bearbeitet:
Schöne Idee, nur leider gibt es da ein kleines Problem: Du kannst nichtmehr die "einfache" MATLAB Programmierung nutzen, sondern musst wieder in z.B. C programmieren, und das ganze recht speziell, so, dass Berechnungen parallel ausgeführt werden können.
Ich hab das alles nichtmehr genau im Kopf, jedoch ist es um einiges aufwändiger, jedoch natürlich ab einem gewissen Umfang trotzdem lohnenswert, wenn jedoch die Auswertungen in einem Labor auf einem "0815 Rechner" durchgeführt werden können dürfte Cuda kaum einen Zeitvorteil bringen.
 
Hallo,

noch dazu scheint in den Beispielprogrammen nicht allzuviel zu berechnen zu sein:
-sortrows (Sortierung)
und find (Auffinden von Daten)

Oder seht ihr das anders? Ok, jetzt müsste man wissen, wie der Befehl sortrows funktioniert, um sicher zu sein.

ciao Tom
 
Da muss Ich dir zustimmen, nun ist nur die Frage, wie groß sind die Messreihen, und sollten sie sehr groß sein warum sollte man, sollte es möglich sein, sie nicht parallel verarbeiten.

Das Hauptproblem dürfte jedoch weiterhin die Programmierung darstellen, da ja nicht jeder der mit MATLAB umgehen kann auch in C/C++ programmieren kann.

Sollte es Andy aber können wäre es doch einmal interessant wenn er uns ein paar alte Messreihen zukommen lassen könnte und dazu ein m-File wie sie diese Reihe damals verarbeitet haben und dazu ein neu geschriebenes mex-File um zu erfahren wie viel Cuda hier exakt bringen würde, er müsst ja nur wieder die beiden zähl befehle einführen.
 
Zuletzt bearbeitet:
Ja, "nur" sortrows und find brauche ich (schneller).

CUDA nutze ich schon mit Hilfe von GPUmat (gp-ypu.org).
Das ist eine Toolbox, die die Befehle aus CuBlas für den direkten Zugriff mit Matlab umgesetzt hat. Riesenvorteil hier: es wurde viel getestet, d.h. z.B. beim sum für mich erhebliche Vorteile im Gegesatz zum CuBlas, da ich mich nicht mit dem VZ rumärgern muss usw.
Ausserdem kann ich nur recht wenig C++ :rolleyes:

D.h. für mich: find in C zu machen brauch ich zu lange zum Entwickeln, ausserdem ist das Ergebnis ungewiss.
Und einen quicksort kann man nicht gut parallelisieren, dafür gibt es andere Suchalgorithmen, die schon gut mit 200 Kernen arbeiten und so.
Ich habe sogar schon einen gefunden, muss mich irgendwann mal durch das Einbinden von C-Funktionen in gp-gpu beschäftigen. ergebnis ungewiss & mir fehlt ein bissl die Zeit...

Da jedoch der sort() [ohne Indexrückgabe, wie sie beim sortrows nötig ist!] von Accelereyes (auch so ne Matlab-CUDA-Toolbox) genau so lange braucht wie mein 6000+ seh ich da keinen Stich. GPgpu-Vorteile kommen immer auf den Verwendungszweck an. Multiplikationen, Statistik und FFTs gehen viel schneller, aber der Rest hat keinen Faktor 12...

Die benchs hier zeigen schon deutlich, dass ein i7 dem PhII deutlich überlegen ist. Mag es auch nur an der Parallelisierung von Matlab liegen (-> AMD-Fanboy :p).
Nochmals vielen Dank euch allen ! :hail:
 
Zuletzt bearbeitet:
Hallo,

mit meinen neuen 24/7-Einstellungen sind die Zeiten nochmal ein Stückchen kürzer:
Core: 4018 MHz
Uncore: 3595 MHz (L3-Cache, Speichercontroller,...)
RAM: DDR3-1692 7-8-7-20 1T

Single:
Elapsed time is 4.133996 seconds.
Elapsed time is 1.472967 seconds.

Multi:
Elapsed time is 2.217379 seconds.
Elapsed time is 1.413794 seconds.

ciao Tom
 
Zuletzt bearbeitet:
2.2s
:love:

Kannst du beim i7 für Core und QPI verschiedene Multis angeben ? Oder hat das was mit dem BLCK zu tun ? Wird das irgendwo idiotensicher erklärt (wie ich schrieb, AMD-Fanboy und so... da gibt nur nen FSB zum drandrehen) ?

Dein CPU-Takt war vorher aber auch so um 4GHz, oder irre ich mich ?
Mein Chef war jetzt ganz wild aufs Übertakten und wollte gleich einen komplett zusammengestellten mit WaKü (@4GHz) holen... wenn man dann da noch gucken muss, WIE der hochgesetzt wurde ist... :shot:
 
Hallo,

bisher waren es maximal 3,7 GHz (auch auf den Seiten vorher), DDR3-1484 und einem Uncore-Takt von 2968 (der muss wenigstens doppelt so hoch sein wie der RAM-Takt).
Das Board stellt das automatisch so ein. Man kann den Uncore aber auch anheben ohne am RAM-Takt etwas zu ändern.
Ich hab da mit dem Everest RAM und Cache Benchmark ein paar Vergleiche angestellt.
Bei DDR3-1692 bringt eine Erhöhung des Uncore um 6 % auch beim RAM eine Steigerung von ebenfalls 6 bis 8 %
beim Schreiben und Kopieren (Lesen nur 2,6 %).
Fürs Lesen scheinen niedrige RAM-Timings entscheidend zu sein.
Einige im OC-Thread fahren mittlerweilen DDR3-1600 (6-7-6-18) mit einem Uncore von 4000 MHz, was fast genauso schnell ist, als würde der RAM als DDR3-2000 laufen.
Allerdings muss die CPU diese Taktraten auch mitmachen.
Ich brauche keine 8 Kerne (SMT ist aus) und das sorgt für deutlich geringere Spannungen bei der CPU. Da SMT bei Deinem Benchmark eigentlich nichts gebracht hat, könnt ihr ja auch darauf verzichten.

Wegen dem Core i7-OC:
Ich hab mich da auch nur in ein paar Threads eingelesen. Etwas Zeit wird man schon verwenden müssen um Einstellungen zu bekommen, die 100% stabil sind und trotzdem nicht mit zuviel Spannung laufen.
Komplett im Paket mit Wakü wirds wohl übermässig teuer.
Was aber eventuell Sinn hat, ist ein pretested bundle zu kaufen:
z.B. hier:http://www.pctweaker.de/index.php?cat=c1771_Prolimatech.html
oder hier:http://www.jzelectronic.de/jz2/index.php
und die Wakü selbst drauf zu setzen.

Eventuell konnte ich jetzt nicht alle Deine Fragen beantworten. Meldest Dich halt dann nochmal.

ich hab hier noch schnell einen Vergleich der Taktraten angestellt:
attachment.php


ciao Tom
 

Anhänge

  • Taktvergleich Matlab.png
    Taktvergleich Matlab.png
    3,7 KB · Aufrufe: 166
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh