By Lothar Jung
Date 2022-02-07 18:03
Edited 2022-02-07 18:33
Upvotes 1
Hallo Peter,
Danke, viele Zeilen mit einer Zeile gelöst.
Dabei geht die Sache noch ein „bißchen“ weiter:
Ich habe drei PC: 12 Kerner mit 3 GPUs, 8 Kerner mit 1 GPU, Mac mini M1 mit 8 Kernen.
Die könnte man über BanksiaGUI alle über das Heimnetzwerk einrichten.
Jedes Gerät hat seine eigene IP-Adresse.
Die beiden GPU Geräte können in einem Enginematch mit Ponder On arbeiten.
Mit Ponder Off geht es, die nicht genutzten Kerne bei einem Lc0 Match für ein CPU Match zu nutzen.
Zum Beispiel benötigt 1 GPU 2 Threads, 3 GPU 4 Threads, 2 gleiche GPUs unter Demux 1 Thread.
Im übrigen sind die Geräte multitasking fähig, deshalb kann man mehrere GUIs oder Terminalprogramme gleichzeitig laufen lassen.
BanksiaGUI ist es auch möglich, diese Vernetzung plattformübergreifend einzurichten, das es BanksiaGUI für Windows, Linux und MacOS gibt.
Da rauschen die Lüfter im ganzen Haus.
Rauschende Grüße wünscht
Lothar
PS: Rechenaufgabe wieviel Enginematches könnte ich mit meinen Geräten gleichzeitig laufen lassen?
Hier eine Übersetzung des Blogs über Remote Computing auf der Webseite von BanksiaGUI:
Spielen Sie über das lokale Netzwerk
Ich dachte an eine Geschichte eines Schachliebhabers, die vor langer Zeit gepostet wurde. Er baute sich einen starken Computer nur für Schach. Er sprach begeistert darüber, wie man aus vielen Quellen starke und günstige Hardware auswählt, bestellt, sie zusammen installiert und Probleme behebt. Am Ende musste er eine Reihe von Lüftern um den Computer herum hinzufügen, um ihn im Sommer abzukühlen. Er war erfolgreich, sein Computer war so stark und funktionierte wie ein Zauber. Er war so glücklich, es seinen Supercomputer zu nennen. Es trat jedoch das Problem auf, der Computer klang so laut wie ein Panzer, der beschleunigt, sodass niemand in seiner Familie, einschließlich ihm, es aushalten konnte. Anstatt es also täglich zu sehen und anzufassen, musste er es in den Keller seines Hauses stellen, ziemlich weit von seinem Schreibtisch entfernt. Er musste diesen Computer über ein lokales Netzwerk fernsteuern. Es war keine einfache Technologie für einen durchschnittlichen Benutzer, und die Einrichtung dauerte mehrere Tage. Manchmal war er um Mitternacht in seinen Keller gegangen, um Schachengines zu überprüfen und auszutauschen.
Die Geschichte war einfach, nicht so besonders, aber ich war beeindruckt und erinnerte mich vielleicht so lange, verursacht durch seine Begeisterung und dachte, dass mir ähnliche Dinge passieren würden wie anderen Menschen. Ich frage mich oft, ob ich etwas tun könnte, zumindest normalen Spielern in ähnlichen Situationen das Leben leichter machen könnte. Das wird die Motivation, also habe ich so früh die Spielbarkeit über das lokale Netzwerk für BSG implementiert.
Um über lokale Netzwerke zu spielen, wurde BSG mit der Grundidee entwickelt: Menschliche Spieler auf verschiedenen Computern können gegeneinander spielen, ebenso wie Engines. Alle haben die gleichen Rechte und ihre Spiele können von jedem in diesem Netzwerk angesehen werden.
Die Idee wurde umgesetzt und hat sehr gut funktioniert!
Nach einer Weile sehen wir jedoch, dass es einige Einschränkungen gibt. Erstens müssen alle Informationen weit verbreitet werden, damit jeder an Netzwerkspielen teilnehmen und diese ansehen kann. Es ist nicht effizient, alle Spiele einschließlich Recheninformationen an alle Computer im Netz zu senden, da es zu viele sein können und den Datenverkehr beeinträchtigen können. Zweitens sollte man aufgrund des Entwerfens für menschliche Spieler mit gleichen Rechten die Einstellungen anderer Computer nicht ändern, so dass der Benutzer jeden Computer physisch besuchen sollte, um Einstellungen zu ändern. Das ist nicht bequem. Stellen Sie sich vor, Sie müssten häufig um Mitternacht den Computer in Ihrem Keller aufsuchen, nur um einige Parameter eines Motors zu ändern! Oder noch schlimmer, Sie möchten große Spiele mit mehreren Dutzend Computern organisieren und müssen jede Engine in jedem Computer überprüfen. Beachten Sie, dass BSG über eine gute Funktion „Gesamtoptionen“ verfügt, die einige wichtige Optionen wie die Anzahl der Kerne, die Hash-Größe, die Denkmodi usw. automatisch erkennen und einrichten kann. Es kann sicherstellen, dass alle Engines korrekt eingerichtet sind und die Übereinstimmungen fair sind und Benutzer müssen nicht einzeln manuell einstellen. Diese Funktion kann jedoch nicht dazu beitragen, Remote-Engines mit dem alten Design einzurichten.
Nachdem wir mehrere Lösungen ausprobiert hatten, entschieden wir uns daher, das Design ernsthaft zu ändern. Die neue Idee ist: Die Remote-Engine soll so tun, als ob sie sich im Inneren des Computers vor dem Benutzer befindet! BSG kann helfen, dies vorzutäuschen, indem es Informationen zwischen Computern im Hintergrund überträgt.
Da es vorgibt, „lokal“ zu arbeiten, kann niemand von anderen Computern die laufenden Spiele oder Recheninformationen sehen, selbst die Engine kann in ihren Computern (Runnern) laufen. Nur die Computer, die Spiele erstellt haben, können sehen. Menschen können nicht mehr über ihre lokalen Netzwerke gegeneinander spielen. Wir glauben, dass der Verlust kein Angebot ist, da heutzutage nicht mehr so viele Leute über lokale Netzwerke spielen. Sie können auf einige Server (wie Lichess) zugreifen, um gegeneinander anzutreten, selbst wenn sie am selben Tisch sitzen.
Die Belohnung ist gut: Der Datenverkehr wird reduziert, der Benutzer kann Remote-Engines vollständig steuern, ohne die Remote-Computer besuchen zu müssen, und es ist einfach, andere Funktionen zu integrieren.
Fast alle Funktionen, die Engines benötigen, können davon profitieren, da die Remote-Engines jetzt wie alle lokalen Engines behandelt werden und funktionieren. Sie können sowohl in normalen als auch in Turnierspielen spielen, Lichess-Bots spielen, in Testpositionen (Testsuiten) laufen, analysieren (sowohl für ganze Spiele als auch on the fly)… Stellen Sie sich vor, Sie arbeiten mit einem leichten, kleinen Laptop, aber wann immer Sie es brauchen Sie können eine entfernte Engine auf Ihren eigenen Supercomputern im Keller anrufen, um eine Schachstellung zu analysieren!
Es könnte einige neue Funktionen unterstützen, die wir in der kommenden Zeit implementieren möchten: ECA und Splitting-Turniere über das lokale Netzwerk.