AsmFish

From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Stockfish * asmFish

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

asmFish,
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] .

See also

Forum Posts

2015

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

2016

2017

2018

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

2019

Re: asmFish by Ronald de Man, CCC, May 05, 2019

External Links

Chess Engine

Misc

References

Up one Level