Performance Threadripper 1950X

Machtin

Cadet 2nd Year
Registriert
Juli 2018
Beiträge
24
Hallo zusammen,

folgendes Setup bereitet mir Kopfzerbrechen:
TR 1950X auf einem Asrock Taichi X399M mit 4 G-Skill Ripjaws (insgesamt 64 GB) (2666 CL15 glaub' ich) und einer Nvidia GTX 1060. Der Prozessor wird von einem Liqtech 360 gekühlt. Persistenten Speicher gibt's mit einer Samsung 960 1TB. (edit: Ergänzung) Strom kommt von 'nem bequiet DarkPower 850 Platinum.

Was ich tun wollte:
Die Idee hinter dem Setup war einen Buildprozess zu beschleunigen für ein bis drei konkrete Projekte, also Compilen von C-Code. Das Projekt hat einige hundert bis vielleicht höchstens tausend .c-Files und kompiliert die erst Mal zu je einem Object bevor am Ende alles gelinkt wird. Nichts besonderes soweit. Die Anzahl an Threads ist einstellbar, ich habe mal 16 und mal 32 gewählt, reißt nicht viel raus, ist auch okay, sind ja nur Threads, keine echten CPU-Kerne.

Womit ich vergleiche/was mich stört:
Der Schritt im Buildprozess der oben genannte Kompilierung ausführt dauert zum Beispiel 13 Minuten. Auf meinem Laptop, den ich vorher dafür verwendet habe dauert er 16 Minuten. Das war ein i7-Quadcore (ich glaube i7-4800MQ, auf jeden Fall was in der Größenordnung) geht das in 16 Minuten.
Okay, es ist schneller geworden, aber ich muss ganz offen sagen ich habe mir einfach einen Faktor "4 minus ein bisschen was" erwartet.
Randanmerkung: Bevor ich im UEFI auf RAM-Profil 1 umgestellt habe ging es noch langsamer (langsamer als das Notebook..), gleichzeitig hatte ich aber den lokalen Speicher im Ryzen Master eingestellt.. Kann also beides geholfen haben. Hat dann aber wohl eine echt starke Auswirkung.


Die Frage:
War meine Annahme falsch wenn ich doch einen so ultra-parallelisierbaren Prozess habe, dass das allerwenigstens mal doppelt so schnell sein sollte oder liegt es doch an irgendeinem Setup-Fehler den ich gemacht habe? Die Temperatur laut hwinfo hängt bei Last dann irgendwo so bei 60° Tdie. Die CPU-Auslastung lt. Taskmanager ist bei 100% (3% pro Prozess, was ja bei 32 virtuellen Kernen evtl. Sinn macht).

Bin für jede (kreative) Erklärung oder Verbesserungsidee dankbar, momentan sitz' ich nämlich recht verständnislos vor der Kiste.
 
Zuletzt bearbeitet:
schreibt er doch im vorletzten Satz ;)

Die CPU-Auslastung lt. Taskmanager ist bei 100% (3% pro Prozess, was ja bei 32 virtuellen Kernen evtl. Sinn macht)
 
  • Gefällt mir
Reaktionen: Shaav
Laut Taskmanager so um die 100%.
Wenn ich 32 Threads nehme dann ist auch nichts mehr mit Maus etc.. das dauert dann Sekunden bis die Mausbewegung angenommen wird.
 
Was sagt denn der Takt und bei welcher Temp. liegt er denn genau?
Ab 62°C drosselt der TR teilweise schon.
 
Also falls die Drosselung im Ryzen Master sichtbar wäre oder in hwinfo, dann ist er ungedrosselt und bei 3,7GHz.
Tdie habe ich bis 61 gesehen, eher aber 60. 100% ausschließen, dass es aber dann im "halb-gefrorenen" Zustand auch 62 war, will ich nicht ausschließen. Aber mit 30 Threads ging es dann eigentlich ganz gut mit Usability nebenher und da war es laut Ryzen Master definitiv unter 60.

Randanmerkung weil ich heute mal drüber gestolpert bin: im UEFI vom Asrock habe ich gesehen, dass die Version 1.0.0 ist. Weiß nicht ob es neuer gibt und wüsste nicht was es ausmachen soll, aber einfach als ergänzende Information.
 
Gibt bereits 2.00.

Ist dein Compiler auf AMD optimiert bzw vllt. speziell auf Intel optimiert und die Unterschiede sind damit zu erklären?
 
Ist eine Idee wert.
Das mit dem Compiler werde ich mal versuchen rauszufinden im Manual oder von den Leuten selbst und installiere mal das neuere Bios morgen.
 
Kann es sein, dass auf dem Notebook die iGPU die Arbeit größtenteils unternimmt und diese ihren Job verdammt gut macht? ich denke nämlich nicht, dass der Threadripper fehlerhaft läuft. Wir reden hier immerhin von Einbußen jenseits der 50%. Das lässt sich nicht mehr mit einem unoptimierten System erklären.
 
Läuft der RAM mit 2666MHZ oder dümpelt der mit 2133MHz rum?

Bei so stromhungrigen CPUs macht mir eine fehlende Belüftung der Sockel-Umgebung immer etwas Bauchschmerzen.
 
Shaav: ich behaupte mal nein, der Compiler läuft auf dem Prozessor. Ich wüsste spontan nicht wie ich's beweisen kann, glaube dennoch nicht dran. Bin aber bei Dir, dass das lächerliche Verluste sind. Ich weiß auch nicht ob's nur an der CPU oder an irgendwas anderem wie Speicher oder sowas liegt was die Daten liefert oder.. kA.

Cerebral_Amoebe: 2666 nachdem ich das XRP-Profil gewählt habe im UEFI. Steht im Ryzen Master dann mit 1333, richtig? Zur Lüftung noch ergänzend die Info, dass Gehäuselüfter (bequiet Midi Tower) verbaut sind und - wie ich finde - alles recht hübsch verkabelt ist, sodass der hintere Lüfter etwas Luftstrom Richtung Prozessor erzeugt, das Netzteil sitzt unten und hilft eventuell so ein wenig dem Teil unterhalb der Grafikkarte. Die selbst ist aber auch so kühl, dass sie passiv bleibt), scheint also kein Hitzestau im Mittelbereich zu geben - ist aber alles Mutmaßung, Messwerte dafür habe ich jetzt nicht parat.
 
Pardon, ich muss mich korrigieren - das Mainboard ist ein X399M Taichi. Da wurde was verbaut, was ich nicht bestellt habe, erklärt aber die niedrige Firmwareversion. Werde ich im ersten Beitrag anpassen.
 
Sorry, schlecht formuliert. Luftstrom am Prozessor, nicht zum Prozessor. Die Luft geht hinten schon raus.
 
Ich nehme an du buildest die Sachen über ein script. Hast du schonmal ausprobiert die Solution auf dem Build Rechner über eine IDE zu builden?

Läuft ein Virenscanner auf dem Rechner? Es kann schon sein das so eine Live Check engine prozesse ausbremst.


Ich würde auch probieren die Priorität des Buildtasks zu erhöhen.
 
Also der Aufruf passiert aus einer IDE raus, aber am Ende ist's natürlich irgendwo ein Script. Was ich anschaue ist aber nur der Kompilierteil (Codegenerierung vorher etc. interessiert mich alles nicht - mir geht's ja nur um die Paralellisierung) und da sind im Taskmanager Auslastungen der einzelnen Compilerinstanzen.

Virenscanner ja, ich sehe aber keine Auslastung seitens selbigen. Wenn ich rausfinde ob ich den ausbekomme probiere ich das aber einfach aus Verzweiflung auch mal. :)
 
Ist die IDE Freeware (Visual Studio oder so?)?
Falls ja könnte ich dir anbieten ein Programm deine Wahl.
(Selbst reden irgend ein Opensource Programm da ich nicht an dein Gedankengut will)
Auf meiunen Threadripper 1950X zu Kompilieren.
Und wir Vergleichen die Zeiten.

Mein System ist ansonsten zu deinen recht verschieden:
Graka: Asus Poseidon GTX1080Ti
Board: Asus ROG Zenith
RAM: G.Skill TridentZ 32 GB 3200 MHz
SSD: Raid0: 3x Samsung Pro960 512GB

Damit könnte man zumindest ein Hardware Problem ausschließen.
 
Hast du die möglichkeit das Builden über einen Konsole anzustoßen ohne die IDE? z.b. MS Developer console
 
Sehr cooles Angebot, Noir - ich komm' drauf zurück wenn ich nicht weiterkommen sollte - momentan kann ich grad nicht und gehe was anderem nach. Herzlichen Dank! :)
Habe noch bisschen rumprobiert mit einem anderen Projekt nachdem ich die CPU-Kern-Zahl geändert habe (Game Mode in Ryzen Master). Hier brauchte das Notebook knapp 10 Minuten (4core) und der TR 4:17. Das finde ich plausibel. Doppelte Kernzahl ist doppelt so schnell, je nachdem wieviel Boost der Intel dann auf die vier Kerne bringt bin ich mit 3,7 GHz durchschnittlichem Takt noch 'ne Ecke schneller.. das ist wirklich recht gut was ich erwartet hätte.

Ich werde jetzt mal cross-referencen wie das gleiche Projekt baut wenn ich die Kerne wieder anschalte und dann auf 16 Threads baue und anschließend mit 32. Mal sehen was dabei rauskommt.

Hatte mal irgendwo gefunden, dass es mal in Windows 10 (benutze ich) ein Problem gab mit hoher Kernzahl. Sollte aber seit vorletztem Major Update behoben sein, so wie ich das verstanden habe.
 
So, ich bin etwas (wirklich nur etwas) schlauer, glaube ich.
Habe im Ryzen Master mal das Hyperthreading ausgeschaltet und das scheint geholfen zu haben. Ich war in einem anderen Projekt auf dem Notebook 10 Minuten, auf dem 1950X dann 3:37.

Ich hatte mal ein Vergleichsbild gesehen, wo Hyperthreading beim Intel und beim Kompilieren ungefähr 25% von einem Kern bringt. Kann sicher erst Mal nur als Daumenwert dienen, aber bringt mich ungefähr zu folgender Annahme:
Ryzen Performance einheitenlos: 3,7 (Takt) * 16 = 59,2
Intel Performance einheitenlos: ~3 (2,7, aber hat ja auch noch Boost bis 3,4) * 4 * 1,18 (benutze nur 7 Threads, nicht 8) = 14,16.
Folglich dürfte der TR ungefähr 24% so lange brauchen, brauchen tut er 36%. Vielleicht lässt sich da noch mehr rausholen, aber das ist auch viel ungerechtfertigte Milchmädchenrechnung.

Bin erst Mal etwas zufriedener und bedanke mich für Eure Hilfe. :)

Falls jemand natürlich eine Erklärung haben sollte, was das Hyperthreading da falsch macht, wäre ich natürlich umso dankbarer. Insbesondere unter Berücksichtigung von Windows 10 64 Bit.

https://randomascii.wordpress.com/2017/07/09/24-core-cpu-and-i-cant-move-my-mouse/ war übrigens was ich im letzten Post meinte.
 
Zurück
Oben