Kangrejos 2025 Interview: Kora, Senior GPU Architect at Nvidia Corporation
At RustConf 2025 in Seattle, the Rust Project Content Team talks with Kora, author of the Expositor chess engine, written in Rust, for a screen-share tour of search, NNUE evaluation, training data, and one cheerfully documented instance of UB. Every chess engine is two parts: a search through the game tree and an evaluation of positions, done in modern CPU engines by ultra-shallow, ultra-sparse NNUE neural networks. Topics include: • Watching Expositor search live: 28 moves deep along the main line in seven seconds, an effective branching factor of about 1.5 instead of 30, and what every column of the output means • Alpha-beta minimax explained with a visualization, plus the heuristics layered on top, like null-move pruning: if getting two moves in a row still isn't enough, stop searching • Generating training data by self-play: hundreds of gigabytes and about 12 billion positions from a 512-thread machine at home • Rating lists (CCRL, SPCC) and why engines at the top can only be compared from deliberately unbalanced openings: it's about who messes up first • Peeking inside the network: one-hot encoded boards, interpretable neurons, checkerboard bishop patterns, and a pawn that's worth nine pawns • The transposition table war story: three-way associative entries wider than a u64, why torn reads are genuinely fine here, the deliberate UB with a big warning comment, and the bytewise atomic memcpy RFC that would make it legal • A mate-in-five puzzle so algebraic that strong engines can't solve it and weak ones can, and how walking the engine forward seeds the cache so she suddenly sees the mate from the start Links mentioned: Expositor on GitHub: https://github.com/expo-dev/expositor CCRL rating list: https://computerchess.org.uk/ccrl/ SPCC rating list: https://www.sp-cc.de/ Cute Chess: https://github.com/cutechess/cutechess Stockfish: https://stockfishchess.org/ Bytewise atomic memcpy RFC: https://github.com/rust-lang/rfcs/pull/3301 Interview conducted on behalf of the Rust Project Content Team.