From Chessprogramming wiki
Revision as of 20:32, 27 December 2018 by GerdIsenberg (talk | contribs)
Jump to: navigation, search

Home * Engines * Stockfish * asmFish

Istiophorus platypterus, one of the world's fastest fish [1]

a port of Stockfish in x86-64 assembly by Mohammed Li, optional using AVX2 and BMI2 instructions, assembled with FASM to run under Windows or UNIX/Linux, first released in June 2016. The fun project is about to demonstrate how an experienced assembly programmer can optimize a program compared with GCC [2]. A few structural optimizations were also applied, such as elimination of piece lists as already tried in Stockfish [3], which were later reinstalled due to the slower but stronger pedantFish (asmFish with PEDANTIC = 1) with the same node counts as Stockfish, became default [4]. Critical functions in asmFish were not conform to the x86-64 ABI concerning register usage and calling convention [5]. Some less time critical code was ported using GCC generated assembly output, such as Ronald de Man's probing code for Syzygy Bases. asmFish further supports large pages, and its parallel search is numa aware [6] [7] .

See also

Forum Posts


Re: [for fun] rewrite of stockfish into asm and question on source by Mohammed Li, FishCooking, April 18, 2016




Re: asmFish update - all flavors of OS by T. Poppins, CCC, January 23, 2018

External Links

Chess Engine



Up one Level