lc0_dart 0.1.2
lc0_dart: ^0.1.2 copied to clipboard
LC0 (Leela Chess Zero) classical CNN inference in pure Dart with a PUCT / virtual-loss MCTS and a UCI shell. Loads a .pb.gz LC0 network (LINEAR16 / FLOAT16 / BFLOAT16), folds BatchNorm at load time, r [...]
0.1.2 #
- Track
dart_pytorch 0.1.2— pulls inensureNativeLib(), the auto-downloader for the prebuilt CUDA library. Users no longer neednvccinstalled to run the GPU path; the correctlibmat_mul.so/mat_mul.dllis fetched from the matching GitHub Release on first GPU op.
0.1.1 #
ensureLc0Weights({path, url, prompt})auto-downloads a.pb.gzfromstorage.lczero.org(or a custom URL) into the target path if the file is missing. Streams to<path>.part, verifies the gzip magic bytes, and atomically renames.bin/lc0_uci.dart: new flags--weights PATH,--net-url URL, and-y/--yes(skip download prompt — required when a chess GUI runs the engine without a terminal). A bare install now bootstraps itself on the firstgo.
0.1.0 #
Initial release.
- LC0 classical CNN inference on top of
dart_pytorch. Loads the 744706.pb.gz network format (LINEAR16 / FLOAT16 / BFLOAT16), folds BatchNorm into the conv weights at load time, runs an SE-aware 10-block residual tower, and emits WDL + policy logits. Lc0Enginedecodes policy logits back to legalNormalMoves viakConvPolicyMap; providesevaluate(Position) -> Lc0EvalandevaluateBatch(List<Position>) -> List<Lc0Eval>.Mcts— PUCT tree search with virtual-loss batched leaf collection.search(pos, rollouts: N, batchSize: B)runs one network call per batch of B leaves. At B=32 on an RTX 3060 batched search hits ~1300 rollouts/sec vs ~90 sequential.bin/lc0_uci.dart— UCI shell (uci,isready,position,go,quit). Flags:--cpu/--gpu,--rollouts N,--batch N.bin/lc0_demo.dart— end-to-end inference demo that prints the WDL head and top-20 policy slots for a supplied FEN.