hans_meiser
Lt. Commander Pro
- Registriert
- Jan. 2016
- Beiträge
- 1.582
Nein, dem ist halt noch nicht so. Es gibt zu viele Variablen, um vorauszusehen, auf welchem CCX welche Threads laufen sollen zur optimalen Aufteilung, es sei denn wie Du schon sagst, alles passt auf einen CCX. Letzteres kann" Windows/AMD mit GameBar als Helfer ja auch und es funktioniert relativ OK.WilliTheSmith schrieb:Dafür gibt es den Scheduler. Der weiß, welche Kerne, welchen CCDs gehören. Der weiß auch, welchen Prozessen welche Threads gehören. Der hat also genug Informationen, um die Threads sinnvoll zu verteilen. Wenn er jetzt ein Spiel über mehrere CCDs verteilt, obwohl ein CCD genügend CPU-Zeit bereitstellt, dann macht der Scheduler Mist. Natürlich muss das erst einmal implementiert werden, aber da Chiplets nichts neues sind, gehe ich mal davon aus, dass dem schon lange so ist.
Der scheduler kann allerdings nicht wissen, wie viel CPU-Zeit ein Thread brauchen wird, oder auf welchen Speicher der zugreifen wird, das geht mit statischer Analysis halt leider nicht. Da kann man auch per Compiler nicht viel machen, denn die kompilieren ja nur "x64-64" für alle Chips, egal wie die aufgebaut sind und was die an Cache haben.
Du hast ja schon eine ordentliche Idee, aber gibt es so nicht, zumindest nicht auf Windows/x86-64. Und das ist ja auch OK, man weiß das ja wenn man kauft. Ich sage ja auch nur, ein 2. 3D-Cache CCX würde praktisch heute nicht viel bringen, wenn überhaupt etwas.