Apery is a free USI shogi engine derived from Stockfish and Apery(C++ version). Apery was rewritten in Rust. Apery requires a USI-compatible GUI (e.g. Shogidokoro, ShogiGUI, MyShogi).
Apery requires the evaluation function binaries as a submodule. Use this command If you have not have the evaluation function binaries at apery_rust/eval/.
cd apery_rust
git submodule init
git submodule update
If you have evaluation function binaries, Apery can run. The following is a sample command to run Apery.
cd apery_rust
cargo build --release
./target/release/apery <<EOF
isready
go byoyomi 5000
wait
EOF
See USI protocol on the web for details.
nightly only
An execute binary file is generated at apery_rust/target/release/apery
cargo build --release
cargo install --path .
cargo uninstall apery
The following is a sample of how to use the profiler for Ubuntu.
- Install valgrind, kcachegrind
sudo apt install -y valgrind kcachegrind
- Add the following to apery_rust/Cargo.toml
[profile.release]
debug = true
- Do the following commands.
# Build and run apery.
cd apery_rust
cargo build --release
valgrind --tool=callgrind ./target/release/apery <<EOF
isready
go byoyomi 60000
wait
EOF
# Show the profiling result.
kcachegrind callgrind.out.???? # ???? is some number.
Apery is free, and distributed under the GNU General Public License version 3 (GPL v3).
See the file named "LICENSE" for details.