Page 1 of 1

LC0 autoconfigure would be nice.

Posted: Thu Mar 26, 2020 11:53 pm
by Dann Corbit
It would be very nice if LC0 could look at your system and configure itself for optimal performance, or its best guess as to what that is.

Re: LC0 autoconfigure would be nice.

Posted: Fri Mar 27, 2020 5:07 pm
by MOBMAT
It has so many, I'm afraid to touch them.

Re: LC0 autoconfigure would be nice.

Posted: Fri Mar 27, 2020 7:24 pm
by corres
Dann Corbit wrote:
Thu Mar 26, 2020 11:53 pm
It would be very nice if LC0 could look at your system and configure itself for optimal performance, or its best guess as to what that is.
You can expect this from a big video game but from a some kB chess engine this is an absolute unreal expectation.
Btw. There is only one AB engine what can do it.
I do not know only one either.

Re: LC0 autoconfigure would be nice.

Posted: Sat Mar 28, 2020 3:06 am
by Ovyron
corres wrote:
Fri Mar 27, 2020 7:24 pm
You can expect this from a big video game but from a some kB chess engine this is an absolute unreal expectation.
Why? It looks straight-forward. The engine could also take a look at the time control and adjust her own settings to perform better.

What may be unreal is expecting someone to devote time to it, but that's a different subject.

Re: LC0 autoconfigure would be nice.

Posted: Sat Mar 28, 2020 10:51 pm
by the_real_greco
I've just given up and am going for defaults at home. I don't think it would ever be worth the time to figure them all out, and optimize them, rather than just running my analyses longer.

For the CCC (where they're trying to squeeze out maximum strength), we have

"options" : [
{"name" : "WeightsFile","value" : "/data/engines/weights/384x30-t60-3180.pb.gz"},
{"name" : "Backend","value" : "demux"},
{"name" : "BackendOptions","value" : "(backend=cudnn-fp16,gpu=0),(backend=cudnn-fp16,gpu=1),(backend=cudnn-fp16,gpu=2),(backend=cudnn-fp16,gpu=3)"},
{"name" : "CPuctFactor","value" : "2.815"},
{"name" : "CPuctBase","value" : "18368"},
{"name" : "MaxPrefetch","value" : "160"},
{"name" : "MinibatchSize","value" : "352"},
{"name" : "NNCacheSize","value" : "20000000"},
{"name" : "Threads","value" : "2"},
{"name" : "CPuct","value" : "2.147"},
{"name" : "FpuValue","value" : "0.443"},
{"name" : "MoveOverheadMs","value" : "1000"},
{"name" : "MaxCollisionEvents","value" : "160"},
{"name" : "SyzygyPath","value" : "/data/tmptablebases/tablebases"},
{"name" : "Ponder","value" : "false"},
{"name" : "PolicyTemperature","value" : "1.607"},
{"name" : "MaxOutOfOrderEvalsFactor","value" : "2.0"},
{"name" : "SmartPruningMinimumBatches","value" : "160"},
{"name" : "ScoreType","value" : "centipawn"}
],

Which, what user will even know what MaxOutOfOrderEvalsFactor is? I sure don't.