Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / CPU Core/Threads für Ceres
- - By Lothar Jung Date 2022-02-18 10:06
Ich habe darüber mit dem Entwickler gesprochen, da Ceres keine Parametereinstellung bei Threads erlaubt.

Um es auf den Punkt zu bringen:

Je GPU 2 Cores, die anderen können für A/B-Engines genutzt werden.
Da Ceres bisher kein Ponder On zuläßt, kann man eine CPU-Engine mit ponder on einsetzen.
Das ist in den Fällen interessant, wenn die A/B-Engine auf der CPU-Hardware etwas schwächer ist.
Man kann bei einer GPU auf 2 Threads setzen und mit nvidiainspector testen, ob die GPU voll ausgelastet ist.

Lothar
Parent - - By Peter Martan Date 2022-02-18 11:15 Edited 2022-02-18 11:19
Lothar Jung schrieb:

Da Ceres bisher kein Ponder On zuläßt, kann man eine CPU-Engine mit ponder on einsetzen.

Bist du sicher, dass er sie es es nicht doch "heimlich" macht, das Pondern?

Im Fritz GUI mit ponder on bleibt die GPU voll ausgelastet laut HWM (meistens), während der Gegner rechnet, und der Output ändert sich auch zeitweise (der ist oft schwer zu beurteilen bei Ceres, weil er immer wieder bis zu minutenlang keinen zusammenbringt, Output nämlich).
Also dauernd ist das alles nicht so, aber es läuft immer wieder mal eine Berechnungs- Anzeige und es wird immer wieder die GPU belastet, während (wie gesagt bei ponder on im Fritz- GUI) der Gegner am Zug ist.
Ich sag's nur, sagt nur
Parent - - By Lothar Jung Date 2022-02-18 11:47
Nee, leider nicht.

Siehe:

„No, that is a separate feature that Ceres does not yet support (someday...).
true, though in the official tournaments such as TCEC this is not allowed hence has not been the first focus, but I look forward to eventually supporting (would be very useful on your particular hardware)“

Viele Grüße

Lothar
Parent - - By Peter Martan Date 2022-02-18 11:48
Dann schau mal bein einem Match zu, das Ceres im Fritz GUI mit ponder on spielt, ich sage, das Dingens pondert (pondered?), konjugiert
Parent - - By Lothar Jung Date 2022-02-18 15:01
Peter, ich glaube Dir, nicht blind, aber nur mit einem Auge.
Der Entwickler tritt in Tournaments an, die pondern nicht zulassen.
Kann man heimlich pondern? Glaube schon.
Gut man kann die Option bei den Parametern weglassen.

Vertrauensvolle Grüße

Lothar
Parent - - By Peter Martan Date 2022-02-19 10:58
Lothar Jung schrieb:

Peter, ich glaube Dir, nicht blind, aber nur mit einem Auge.
Der Entwickler tritt in Tournaments an, die pondern nicht zulassen.

Danke für dein halbwegs- Vertrauen, Lothar.

Aber wenn ich im GUI das Pondern abdrehe, glaube ich dir und dem Entwickler auch aufs Wort, dass die Engine dann nicht pondert, das ist dann ein Turnier, bei dem Pondern nicht zugelassen ist.
"Heimlich" könnte die Engine dann immer noch pondern, aber das wäre dann halt wirkliche ein Bug, ich habe das heimlich ja nur launig nachgefragt, weil es hieß, Ceres könne das gar nicht, also auch dann nicht, wenn er's dürfe sollte müsste, weil er's vom GUI angeschafft bekäme, so ist dem aber eben nicht, wenn Pondern beim Match im GUI gewählt ist, dann pondert Ceres.

Was mich an Ceres und der Kernzahl, die er sie es nützt, nur nach wie vor stört, ich glaube Euch beiden, dem Entwickler und dir das mit den Kernen nicht, die maximal genutzt werden mag sein, die volle Auslastung zweier (oder von 8, wie du auch mal schriebst) reicht Ceres, um seine ziemlich ganze Leistung zu bekommen, aber die Engine hält sich an gar keine Core- Grenzen.
Wirf sie an und schau im HWM die einzelnen Kerne der CPU an, da kommen immer wieder einzelne auf hohe Auslastung und andere auf fast gar keine, aber das wechselt ständig über alle Kerne, die die CPU bietet, dass einer oder einige dauerhaft 0 anzeigen, kommt praktisch nicht vor.
Das heißt, dass die Zuordnung der CPU- Cores an die Ceres- Leistung kein solche ist, und wenn du jetzt eine andere A-B-Engine gleichzeitig rechnen lässt, kannst du die auf so wenige Kerne beschränken, wie du willst, von den noch so wenigen, zweigt sich Ceres trotzdem auch was ab, drum gehört da so wie bei LC0 schon eine Möglichkeit, die Zahl der verwendeten Cores einzustellen, so, dass sich die Engine dann auch daran hält, fordert
Parent - - By Lothar Jung Date 2022-02-19 11:21
Hallo vertrauter Peter,

probier mal folgendes.

Ceres ./. SF

Setze SF auf 26 Thread, 1 Core für Windows, 2 für Ceres.

Öffne während der Partie nvidiainspector.
Falls dieser eine hohe GPU-Belastung während der Berechnung von SF anzeigt, dann pondert Ceres doch/heimlich.

Beste Grüße

Lothar
Parent - - By Peter Martan Date 2022-02-19 12:55 Edited 2022-02-19 13:03
Du verstehst mich noch nicht ganz, Lothar.
Ceres pondert (pondered?) nur, wenn's vom GUI verlangt wird (dann aber schon, entgegen anderslautender Gerüchte, die da eingangs des Threads behaupteten, Ceres könne gar nicht pondern, das arme Ding )
Wenn's pondert, oder wenn's aus anderen Gründen auf GUI- Befehl rechnet, nimmt es sich von allen Kernen der CPU gerade soviel Leistung, wie es brauchen kann. Nicht so wie LC0 von 2 zugewiesenen (threads), nicht so wie A-B-Engines, bei denen man die Threadzahl kleiner wählt als die CPU insgesamt zur Verfügung hat, sondern über alle Cores der CUP verteilt, mal von der einen 10%, von der anderen 70, mal von allen 16 im Schnitt 2% und immer so weiter abwechselnd über die Rechenzeit.

Und das siehst du im Hardware- Monitor nur dann, wenn du dir die Leistung aller einzelnen Kerne einzeln anzeigen lässt.

Es stimmt also zwar vielleicht, dass die Gesamt- CPU- Leistung von Ceres nicht über die (guter) 8 Kerne ohne Hyperthreading hinaus geht, sie verteilt aber diese CPU- Auslastung über soviele Kerne, wie vorhanden sind, daher würde ich sie ihn es (Ceres) nicht mit ponder on Eng-Eng auf einem einzelnen Recher spielen lassen. Mit LC0 kann man das machen, man gibt LC0 2 Threads und SF 30, wenn man die 32 Threads voll auslasten will, bei Ceres kann man das nicht, weil man die Zahl der Threads nicht einstellen kann, erklärt nochmals ausführlich
Parent - - By Lothar Jung Date 2022-02-19 13:13 Edited 2022-02-19 13:37
Erstmal vielen Dank für die Mail!

Die Verteilung der Tasks erfolgt über das Betriebssystem dem Schaduler.

https://www.wirtschaftsinformatik-muenchen.de/wp-content/uploads/Peter%20Mandl/Lehrveranstaltungen/WiSe%2013-14/Wirtschaftsinformatik/05_CPU_Scheduling_-_Grundkonzepte.pdf

2, 4 ,30 Threads sind die Kapazität die das Betriebssystem dann entsprechend bereitstellt.

Wenn die GUI pondern zulässt und die Engine darauf eingestellt ist, wird gepondert.

Ob Ceres während der Berechnung von SF trotzdem pondert, siehst Du an der GPU-Belastung mit nvidiainspector.

Pondert denn jetzt Ceres oder nicht.

Viele Grüße

Lothar
Parent - - By Peter Martan Date 2022-02-19 13:22 Edited 2022-02-19 14:04
Lothar Jung schrieb:

Die Verteilung der Tasks erfolgt über das Betriebssystem dem Shaduler.
2, 4 ,30 Threads sind die Kapazität die das Betriebssystem dann entsprechend bereitstellt.

Wenn du 2, 4, 30 Threads für das entsprechene Programm (die Engine, über das GUI als Option wählbar) bereitstellst.
Wenn du nichts eigens bereit stellst, teilt das Betriebssystem die geforderte Leistung auf alle Kerne auf (wenn's Leistungen sind, die Multithreading können und machen).
Schau doch endlich in den Hardware- Monitor, der dir nicht nur die Gesamtleistung der CPU sondern die Aufteilung der Leistung auf die einzelnen Kerne anzeigt.
Also nicht den Windows Task Manager, der das Aufschlüsseln der Leistung einzelnen Cores nicht angibt, sonden einen der vielen frei herunterladbaren, die das können, Leistung über die Zeit pro einzelnem Core.
Lothar Jung schrieb:

Wenn die GUI pondern zulässt und die Engine darauf eingestellt ist, wird gepondert.

Ob Ceres während der Berechnung von SF trotzdem pondert, siehst Du an der GPU-Belastung mit nvidiainspector.

Pondert denn jetzt Ceres oder nicht.

Ceres pondert nicht, wenn er sie es nicht soll. Sagt man ihm ihr ihm hingegen übers GUI, dass es (pondern) soll, dann ja, dabei bedient es sich aber anders als Programme, bei denen man die Thread- Anzahl einstellen kann, aller Kerne, die vorhanden sind, in frei wechselndem Ausmaß, wobei (so ziemlich, je nachdem, wie lange du zuschaust) alle immer wieder weit über 50% kommen, nicht alle gleichzeitig, aber alle immer wieder abwechselnd.
Dass auch bei anderen Programmen immer wieder einzelne Kerne 1, 2, 3 Prozent anzeigen und andere aber eben gleichmäßig viel mehr, das ist etwas anderes und normal. Es geht eben nur genau darum, Multithreading- Programme miteinander zu vergleichen.
Da gibt's welche, bei denen kann man eine bestimmte Zahl von Threads einstellen, dann kann man sich (mehr oder weniger) drauf verlassen, die auch wirklich nur mit 2 Threads rechnen, bei Ceres kann man das nicht einstellen, ich argwöhne daher, wenn ich mir die CPU- Leistung pro Kern so anschaue, es bedient sich so vieler Threads, wie ihm ihr ihm gerade angemessen scheinen. Man könnte wieder sagen heimlich, eigentlich ist es mir persönlich aber eher unheimlich, nämlich dahingehend, dass die brav die eingestellten Threadanzahl einhaltenden anderen Engines, wenn sie gleichzeitig rechnen, auch in den paar Threads, auf die sich beschränken, was hergeben müssen von der Leistung, die gerade derselbe Kern erbringen soll und muss, von dem Ceres mal gar nix und mal soviel Leistung abzapft, wie es für die Threads, die gerade nützlich zur Berechnung sind, haben will, und wie der eine arme Kern dann halt gerade noch hat.

Natürlich auch in der Analyse, weil du mal gejubelt hast, man habe mit GPU und CPU zwei Schachrechner in einem PC, das stimmt für LC0, für Ceres nicht, wenn man außer Ceres noch ein weiteres anderes Schachprogramm gleichzeitig laufen lassen will und die Leistung einzelner Threads gezielt auf die vorhandenen Kerne verteilen. Unfair ist es ja nur dann, wenn man mit Pondern dem einen A-B-Programm eine bestimmte Threadzahl zuteilt geringer als die, die es maximal nutzen könnte, und von Ceres einfach hofft, es werde sich auf die restlichen "freien" Threads beschränken, tut's aber nicht, kritisiert es dafür
Parent - - By Lothar Jung Date 2022-02-19 13:46
Alles gut, Peter.

Ich kenne den HW-Monitor.
Benutze aber ein Asus-Tool, das die gleichen Dienste tut.

Fazit: Ceres pondert nicht. Sollte aber für Tuniere ermöglicht werden. Spielt bei der Analyse und Suites aber keine Rolle.

Beste Grüße

Lothar
Parent - By Peter Martan Date 2022-02-19 14:00 Edited 2022-02-19 14:39
Lothar Jung schrieb:

Fazit: Ceres pondert nicht. Sollte aber für Tuniere ermöglicht werden. Spielt bei der Analyse und Suites aber keine Rolle.

Es sei denn, du lässt außer Ceres noch eine weitere Engine gleichzeitig analysieren oder Suiten abarbeiten und glaubst, dieses zweite Programm hätte die Threads, die du zugeteilt hast (weil da kannst du's ja einstellen ), "für sich allein", so, dass sie ihm nicht von Threads durch Ceres streitig gemacht werden.

Weil ich dich schon so lange kenne und dir schon mit einem ganzen Hühnerauge blind vertraue, will ich dir mal glauben, was du vom Entwickler erfahren hast, mehr als 2 Threads (sagen wir 4 bei Hyperthreading, zuletzt schriebst du mal, ich mag's jetzt nicht suchen, 8 Kerne seien das Maximum, womit man rechnen müsste, oder waren's 8 Threads?) müsste man bei der Anzahl derer, die man den anderen wegnimmt, nicht einfrechnen, vielleicht rechne ich sicherheitshalber aber vielleicht doch mit 4 bis 8 Threads, nicht aus Misstrauen, nur so

Und weil mich die Leistung, die der HWM über den Zeitverlauf jedes einzelnen Kernes anzeigt, doch irgendwie nach oben eher als nach unten vertrauensvoll stimmt, beobachtet das weiter genau...

Edit, edit, edit, hat mich natürlich nicht ruhen lassen, das mit den 8 Kernen kam hier

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=152182#pid152182

von dir:

Lothar Jung schrieb:

Ceres braucht bis zu 8 Kerne.
Parent - By Peter Martan Date 2022-02-20 02:16
Horst hat mich auf das Netz 781445 aufmerksam gemacht, hab's mal laufen lassen, 3 Elo mehr im EL, gerade noch innerhalb der error bar.
Sag's nur, sagt nur
Up Topic Hauptforen / CSS-Forum / CPU Core/Threads für Ceres

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill