main.cpp
is the main entry point of the engine and creates the CrazyAra object which handles the UCI-communication.
agents
: Contains the specification for different search agent regimeschess_related
: Contains conversion methods of the board into plane representation and constant definition for chess variants. You don't need to include this directory when using CrazyAra as a library for a different game.manager
: Contains manager classes for different aspects e.g. the search tree, the time and the states listnn
: Contains the functionality methods for loading the neural network and predicting the policy and value evaluationutil
: Contains additional utility methods for the blaze library and stockfish backendrl
: Contains functionality methods for applying reinforcmenet learning which is only used forUSE_RL=ON
Install the plotting utility for gprof:
Activate the -pg flags in CMakeLists.txt
and rebuild.
Run the executable and generate the plot:
./CrazyAra
gprof CrazyAra | gprof2dot | dot -Tpng -o output.png