1 stable release

1.0.0 Mar 17, 2024

#801 in Machine learning

MIT license

150KB
4.5K SLoC

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

bullet

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.

Usage

Import the crate with

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

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

Utilities

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:

Default

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.

CUDA

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

Dependencies

~160KB