Guenter Stertenbrink schrieb:
moege mal jemand das kompilieren fuer Android mit den optimalen Parametern
(die ich in CfA nicht veraendern kann)
und mit dem Netz integriert in dem executable
(damit ich mehrere Netze in einem Turnier in CfA benutzen kann)
bisher gibt es nur lc0-48x5 , 17 MB
LD2 7 threads - armFish 9 1 thread , 7200+90 : 9:34
------------------------------
Lc0-48x5-59055 , beide 7 threads , 10+0 : 69.5-6.5
Lc0-48x5-59055 , beide 7 threads , 0+0.5 : 10-1 abgestuerzt
Lc0-48x5-59055 , beide 7 threads , 0+1 :
Lc0-48x5-59055 , beide 7 threads , 0+2 :
Lc0-48x5-59055 , beide 7 threads , 0+5 :
Lc0-48x5-59055 , beide 7 threads , 60+1 :
Wozu? Das geht in Cfa doch alles völlig problemlos. Hab mir gerade Lc0 0.23.0 (openBlas aarch64) mit Netz 58613 installiert und die Parameter wie im Clop-Tuning gesetzt. Kein Problem. Wieso auch?
Ich fand das echt einfach.
1)
https://github.com/LeelaChessZero/lc0/files/3909467/lc0-0.23-blas-aarch64.zipnach dem Runterladen, die Datei entpacken. Das ergibt ein lc0-file. Dieses so oft kopieren und jede Kopie anders nennen, wie man verschiedene lc0 mit jeweils anderen Netzen benutzen will, also z.B.:
lc0_58613 und lc0_LD2 (keine Leerzeichen in dem Dateinamen!) usw. (Das ist der Witz dabei: Durch die unterschiedlichen Dateinamen sind die ganzen lc0 dann jeweils andere Engines für CfA)
Diese lc0-Dateien plus die dazugehörigen Netze auf das Android Smartphone/Tablet kopieren (mache ich per Google-Drive). Ich hab sie in den UCI-Ordner des Droidfish-Verzeichnisse gelegt. Aber das sollte eigentlich egal sein. Allerdings hab ich ehrlich gesagt den CfA-Ordner auf meinem Smartphone gar nicht gefunden...peinlich... Aber der Droidfish/Uci läßt sich leicht lokalisieren, da er direkt unter "Interner Speicher" steht, also sozusagen im Hauptverzeichnis. Insofern würde ich empfehlen, die lc0 Dateien plus die Netze dort abzulegen. Dann kann man sie auch gleich in Droidfish installieren und nutzen. Also doppelt vorteilhaft. Und dort findet man sie auch leicht wieder, wenn man sie löschen will.
2) Diesen Dateiexplorer auf dem Tablet/Smartphone installieren:
https://play.google.com/store/apps/details?id=com.mi.android.globalFileexplorerDort im Explorer die Datei-Details des gewünschten Netzes auswählen (z.B. des 58613 Netzes) (Dazu die Datei auswählen, auf "Mehr" gehen (rechts unten), dann auf "Details"). Dann wird u.a. der komplette Pfad zu dieser Datei angezeigt. Diesen Pfad (inklusive Dateinamen)
komplett markieren und mit "kopieren" in die Android-Zwischenablage speichern.
3) Nun CfA starten und in "Uci und XBoard" "Motor von SD installieren" aufrufen und die erste der lc0-Dateien auswählen. Ich sag jetzt mal als Beispiel lc0_58613.
WICHTIG: Habe gemerkt, daß CfA die Engines nur unterscheidet, wenn der Dateiname sich schon früh unterscheidet, nicht eine ellenlanger Name lc0_0.23.0_58613 oder so. Das geht nicht!!!. Also was kurzes. Wie eben lc0_58613. Damit geht es und CfA erkennt mehrere solcher lc0-Dateien als verschiedene Engines.
Dann "Motor aktivieren" aufrufen. Nun "UCI" auswählen.Dann poppt ein Fenster mit den UCI-Optionen auf. Nun gleich oben bei WeightsFile <autodiscover> löschen und per "einfügen" den eben in der Android-Zwischenablage gespeicherten Datei-Pfad einfügen. Nun die anderen UCI-Optionen noch wie gewünscht setzen. Dann ganz nach unten scrollen und mit "Fertig" bestätigen.
4) dies mit allen lc0.exe -Dateien, die man benutzen will (und den dazu passenden Netzen) wiederholen.
5) Falls man später die UCI-EngineOptionen noch mal ändern will, einfach "Motor Optionen zurücksetzen" anklicken und dann erneut "Motor aktivieren" anwählen. Dann wieder "UCI" auswählen usw (siehe oben).
Das ist doch nun echt nicht schwer?! Und jedes Lc0 wird von Cfa (oder auch Droidfish) aufgrund der unterschiedlichen Dateinamen auch als eigenständige Engine erkannt und behandelt, sodaß auch Matches zwischen diesen Engines kein Problem sein sollten.
Update: Habs ausprobiert. Klappte problemlos. Zwei lc0 spielten in CfA ein Turnier gegeneinander.