Changes

Jump to: navigation, search

AsmFish

1,306 bytes added, 22:29, 28 February 2021
no edit summary
'''asmFish''',<br/>
a [[Stockfish#ports|port]] of Stockfish in [[x86-64]] [[Assembly|assembly]] by [[Mohammed Li]], optional using [[AVX2]] and [[BMI2]] instructions, assembled with [https://en.wikipedia.org/wiki/FASM FASM] to run under [[Windows]] or [[Unix|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 [https://en.wikipedia.org/wiki/GNU_Compiler_Collection GCC] <ref>[https://groups.google.com/d/msg/fishcooking/HKIYwO6pF-s/p9t48jDZBAAJ Re: <nowiki>[for fun] </nowiki> rewrite of stockfish into asm and question on source] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], April 18, 2016</ref> . A few structural optimizations were also applied, such as elimination of [[Piece-Lists|piece lists]] as already tried in Stockfish <ref>[https://groups.google.com/d/msg/fishcooking/aJEf-_SmpWY/TARC-1aPGzYJ removal of piece lists] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], November 11, 2014</ref>, which were later reinstalled due to the slower but stronger '''pedantFish''' (asmFish with PEDANTIC = 1) with the same node counts as Stockfish, became default <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69364&start=12 Re: piece lists advantage with bit-boards?] by [[Ronald de Man]], [[CCC]], December 26, 2018</ref> . Critical functions in asmFish do were not conform to the x86-64 [https://en.wikipedia.org/wiki/Application_binary_interface ABI] concerning register usage and [https://en.wikipedia.org/wiki/Calling_convention calling convention] <ref>[http://www.agner.org/optimize/#manuals Agner Fog's manuals]</ref>. Some less time critical code was ported using GCC generated assembly output, such as [[Ronald de Man|Ronald de Man's]] probing code for [[Syzygy Bases]]. asmFish further supports [[Memory#HugePages|large pages]], and its [[Parallel Search|parallel search]] is [[NUMA|numa]] aware <ref>[https://github.com/tthsqe12/asm/blob/master/readme.txt asm/readme.txt at master · tthsqe12/asm · GitHub]</ref> <ref>[https://groups.google.com/d/msg/fishcooking/ezt6MrAuXqs/qIR2HEciEgAJ lets get the ball moving down the field on numa awareness] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], August 30, 2016</ref> .
=See also=
=Forum Posts=
==2015==
* [https://groups.google.com/d/msg/fishcooking/HKIYwO6pF-s/-DOONSK5F-IJ <nowiki>[for fun] </nowiki> rewrite of stockfish into asm and question on source] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], January 09, 2015: [https://groups.google.com/d/msg/fishcooking/HKIYwO6pF-s/p9t48jDZBAAJ Re: <nowiki>[for fun] </nowiki> rewrite of stockfish into asm and question on source] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], April 18, 2016
==2016==
* [https://groups.google.com/d/msg/fishcooking/z2sd39wrUvw/j5RpSXGmBAAJ new humanistic compile of SF is 108KB] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], May 28, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61639 Scaling of Asmfish with large thread count] by [[Dann Corbit]], [[CCC]], October 07, 2016 » [[Parallel Search]]
* [http://www.talkchess.com/forum/viewtopic.php?t=61961 New asmFish released] by [[Stefan Pohl]], [[CCC]], November 04, 2016
==2017 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=62906 Reaching Lyudmil Antonov] by Art Ford, [[CCC]], January 23, 2017
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=65099 Pedant And ASM] by menniepals, [[CCC]], September 07, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=65671 asmfish_macOS_11082017] by [[Michael Byrne|Michael B]], [[CCC]], November 08, 2017
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=65797 asmfishX - macOS] by [[Michael Byrne|Michael B]], [[CCC]], November 23, 2017
==2018==
* [http://www.talkchess.com/forum/viewtopic.php?t=66373 asmFish update - all flavors of OS] by [[Michael Byrne|Michael B]], [[CCC]], January 20, 2018
: [http://www.talkchess.com/forum/viewtopic.php?t=66373&start=14 Re: asmFish update - all flavors of OS] by T. Poppins, [[CCC]], January 23, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=66570 New asmfish] by [[Günther Simon]], [[CCC]], February 12, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68546 Asmfish further development] by [[Günther Simon]], [[CCC]], October 01, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69364&start=12 Re: piece lists advantage with bit-boards?] by [[Ronald de Man]], [[CCC]], December 26, 2018 » [[Piece-Lists]]
==2019==
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70614 asmFish] by [[Stephen Ham]], [[CCC]], April 28, 2019
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70614&start=13 Re: asmFish] by [[Ronald de Man]], [[CCC]], May 05, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70944 in case you had not noticed ..] by [[Michael Byrne|MikeB]], [[CCC]], June 07, 2019
=External Links=
==Chess Engine==
* [https://github.com/tthsqe12lantonov/asmFish/asm wiki GitHub - tthsqe12 lantonov/asm: stockfish chess engine in x86-64asmFish Wiki]* [https://github.com/lantonov/asmFish GitHub - lantonov/asmFish: The latest version ] - A continuation of the nice project [[asmFish ]] by [[Mohammed Li ]] (0407.1108.20162019)] , hosted by [[Lyudmil Antonov]]* [https://github.com/Counterply/asmFish/tree/asmFish-CounterPly GitHub - Counterply/asmFish at asmFish-CounterPly] hosted by [[Justin Dehorty]]
==Misc==
* [[:Category:Yes|Yes]] - [https://en.wikipedia.org/wiki/Fragile_(Yes_album) We Have Heaven], [https://en.wikipedia.org/wiki/Long_Distance_Runaround Long Distance Runaround], [https://en.wikipedia.org/wiki/The_Fish_%28Schindleria_Praematurus%29 #Songs The Fish (Schindleria Praematurus)], Album [https://en.wikipedia.org/wiki/Fragile_(Yes_album) FragileLive_at_Montreux_2003 Live at Montreux 2003] (1971), [https://en.wikipedia.org/wiki/YouTube YouTube] Video: {{#evu:https://www.youtube.com/watch?v=ZsHNN7dfyRwiJu-AnzyQBI|alignment=left|valignment=top}}
=References=
[[Category:Open Source]]
[[Category:UCI]]
[[Category:PC]]
[[Category:X64]]
[[Category:Linux]]
[[Category:Mac]]
[[Category:Windows]]
[[Category:Yes]]
[[Category:Bill Bruford]]
[[Category:Chris Squire]]

Navigation menu