1 stable release

1.0.0 Mar 17, 2024

#425 in Machine learning

MIT license

4.5K SLoC

Rust 4K SLoC // 0.0% comments CUDA 499 SLoC // 0.0% comments


A CUDA/CPU NN Trainer, used to train NNUE-style networks for akimbo.

Also used by many other engines, including:

Currently Supported Games:

  • Chess
  • Ataxx

Raise an issue for support of a new game.


Import the crate with

bullet = { package = "bullet_lib", features = ["cuda"] }

Check out the wiki and examples to see how to use the crate.


You can build bullet-utils with cargo b -r --package bullet-utils, to do the following:

  • Convert Data
  • Interleave Multiple Data Files
  • Shuffle Data Files
  • Validate Data Files

Use ./target/release/bullet-utils[.exe] help to see specific usage.

Currently Supported Backends:


CPU backend not intended for serious training use. It is suitable for training small networks or various utilities, such as loading nets to requantise them or test their output on specific positions.


The "first class" supported backend. To compile to target CUDA you need to enable the cuda feature, as demonstrated in the wiki.