Skip to content

okuhara/edax-reversi-AVX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

433 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edax-reversi-AVX

Edax is a very strong othello program. Its main features are:

  • fast bitboard based & multithreaded engine.
  • accurate midgame-evaluation function.
  • opening book learning capability.
  • text based rich interface.
  • multi-protocol support to connect to graphical interfaces or play on Internet (GGS).
  • multi-OS support to run under MS-Windows, Linux and Mac OS X.

This is SSE/AVX optimized version of Edax 4.4.0. Functionally equivalent to the parent project, provided no bugs are introduced.

Thanks to AVX2, x64-modern build solves fforum-40-59.obf 60% faster than official edax-4.4 on Haswell, and runs level 30 autoplay 80% faster.

See http://www.amy.hi-ho.ne.jp/okuhara/bitboard.htm and http://www.amy.hi-ho.ne.jp/okuhara/edaxopt.htm for optimization details in Japanese.

Comparison with Edax 4.6

Richard Delorme's own Edax 4.6 incorporated most of my changes and almost caught up Edax AVX 4.5.3. However, I decided to maintain this forked project for further improvements.

  • 4.6 dropped some optimizations toward Microsoft compilers on Windows, such as heavy use of vectorcall and keeping the bitboard (vboard) in non-volatile SSE registers. On Windows(x64), the 4.5.3 MSVC build compiles much faster, and runs a little faster than clang.
  • 4.6's algorithm choice is based on his particular environment, which may not be good for others. For example I avoid PEXT in x86-64-v3 build since it is very slow on some old AMD CPUs, and there are fairly good alternatives.

Now my 4.5.5 runs 13-17% faster than Edax 4.6 on Windows (Core i7-9700), by introducing thread local hash, simul lastflip tables and other refinements.

fforum-20-39 (1 thread) 4.4 4.6 4.5.3 4.5.4 4.5.5
wEdax-x86-64 3.503 2.629 2.406 2.330 2.203
wEdax-x86-64-v3 2.956 2.141 2.035 1.998 1.828
fforum-40-59 (8 threads) 4.4 4.6 4.5.3 4.5.4 4.5.5
wEdax-x86-64 2:32.5 1:41.7 1:30.9 1:33.0 1:26.4
wEdax-x86-64-v3 2:21.3 1:22.0 1:20.2 1:20.1 1:11.5

About

Automatically exported from code.google.com/p/okuharaandroid-edax-reversi

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages