TheJoker schrieb:Wenn das Programm 5 Threads auslastet, würde der Windows-Scheduler die normalerweise auf 5 physische Kerne (z.B. 0, 2, 4, 6 und 8) verteilen, da das für die anderen aktuellen Architekturen die beste Performance bringt. Mit einem Ryzen-Prozessor kann allerdings das Nutzen von einem SMT-Kern (also z.B. Kern 1) bessere Performance bringen, da die Kommunikation innerhalb eines CCX schneller ist als über die Infinity Fabric.
Dann müsste eine generelle Optimierung (Anpassung des Scheduler) entsprechende Vorteile bringen. Ich erinnere mich aber eine Aussage seitens AMD, das Windows Threading auch mit Ryzen optimal läuft und nicht angepasst wird. Also was den nu?
Abgesehen davon, hätte ich bei einem modernen System erwartet das es sich adaptiv an unbekannte Hardware anpasst. Die Windows Leistungsmessung wäre dafür der ideale Kandidat. AFAIR wurde das doch bereits bei Vista/Win7 genutzt um die besten Routinen für die Medienwiedergabe zu bestimmen. Warum also nicht auch, um den besten Scheduler für SMT festzulegen?
TheJoker schrieb:Da tritt das Problem mit der Kommunikation zwischen verschiedenen Kernen nicht auf. Für Bulldozer hat MS soweit ich weiß außerdem den Scheduler entsprechend angepasst.
Naja selbst wenn, gebracht hatte es leider nicht viel. Zumindest waren die Tipps zum beschleunigen, die gleichen wie jetzt beim Ryzen, z.B. Energieprofil Höchstleistung. Was für ein Schwachsinn.
Hätte AMD mal lieber parallel zu Ryzen einen auf ihre Architektur optimierenden Kompiler für Windows entwickelt.