lc0_dart 0.1.2 copy "lc0_dart: ^0.1.2" to clipboard
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 in ensureNativeLib(), the auto-downloader for the prebuilt CUDA library. Users no longer need nvcc installed to run the GPU path; the correct libmat_mul.so / mat_mul.dll is fetched from the matching GitHub Release on first GPU op.

0.1.1 #

  • ensureLc0Weights({path, url, prompt}) auto-downloads a .pb.gz from storage.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 first go.

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.
  • Lc0Engine decodes policy logits back to legal NormalMoves via kConvPolicyMap; provides evaluate(Position) -> Lc0Eval and evaluateBatch(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.
1
likes
120
points
135
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

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, runs an SE-aware residual tower on CPU or CUDA, and emits WDL + policy logits or a full search result.

Repository (GitHub)
View/report issues

Topics

#chess #leela-chess-zero #mcts #uci #inference

License

MIT (license)

Dependencies

dart_pytorch, dartchess

More

Packages that depend on lc0_dart