New asmFish released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
pohl4711
Posts: 2434
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

New asmFish released

Post by pohl4711 »

https://github.com/tthsqe12/asm/tree/master/Windows

Based on Stockfish 8 plus support of Polyglot opening-books.

The fastest and strongest Stockfish 8, because the code was completely rewritten in Assembler!
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: And here available too ...

Post by Frank Quisinsky »

Hi Stefan,

waiting of it ...
Perfect and thanks for the information.

I will update my ToDo list.
Now my fight for place one can starting and Stockfish will run with full power.

I am sure you saw that ...
SF 8 is now available here ...

http://chess.ultimaiq.net/stockfish.html

Best and thanks!
Frank
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: New asmFish released

Post by MikeB »

pohl4711 wrote:https://github.com/tthsqe12/asm/tree/master/Windows

Based on Stockfish 8 plus support of Polyglot opening-books.

The fastest and strongest Stockfish 8, because the code was completely rewritten in Assembler!
What would I have to do to compile it for the Mac?
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: New asmFish released

Post by mar »

MikeB wrote:What would I have to do to compile it for the Mac?
No easy way for you I think. It uses Flat assembler and I'm not sure it supports mach targets, if it does you can ask the author.

Even if it did, you'd probably have to start with the Linux version, most likely syscalls on OSX won't match those on Linux.

I found this project https://github.com/JohnDDuncanIII/fasm-osx, no idea if it'd work.
It seems to use object converter (ELF=>mach), but as I said you're on a (very) thin ice here.

I think OSX and Linux have same x64 ABI (first n params passed in same registers, Windows is different)

Perhaps you might be able to build AsmFish as a library and link to it via a C wrapper,
but you'll also need to expose system stuff to AsmFish so it'd be a 2-way wrapper process.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: New asmFish released

Post by MikeB »

MikeB wrote:
pohl4711 wrote:https://github.com/tthsqe12/asm/tree/master/Windows

Based on Stockfish 8 plus support of Polyglot opening-books.

The fastest and strongest Stockfish 8, because the code was completely rewritten in Assembler!
What would I have to do to compile it for the Mac?
Ok, Officially FASM does not support Mac, if someone could make an object file of Stockfish asm, I have object file converter that I might be able to covert the object file to a Mac format.
User avatar
Thomas Lagershausen
Posts: 328
Joined: Mon Jun 11, 2007 6:59 pm

Re: New asmFish released

Post by Thomas Lagershausen »

@Stefan

Very important information.:!: :!:

Thx alot. :D
TL
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: New asmFish released

Post by Dann Corbit »

MikeB wrote:
pohl4711 wrote:https://github.com/tthsqe12/asm/tree/master/Windows

Based on Stockfish 8 plus support of Polyglot opening-books.

The fastest and strongest Stockfish 8, because the code was completely rewritten in Assembler!
What would I have to do to compile it for the Mac?
Go with Cfish instead.
Much easier to port. For some people, it is faster than AsmFish.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: New asmFish released

Post by Milos »

Dann Corbit wrote:Go with Cfish instead.
Much easier to port. For some people, it is faster than AsmFish.
What is the point, Cfish is certainly not the fastest of the compiled code.
Brainfish numa is (even on non-numa machines) because of the way hash is handled, functionally it is identical to SF. Plus compiler efficiency is better with C++ code, i.e. C++ compiler is so efficient that you don't lose almost anything on all those pure C++ things, so the only CFish benefit comes from small internal optimizations that could easily be done 1:1 in Stockfish. And finally CFish is a nightmare to compile with anything but MinGW.
For me on AMD architecture modern/popcnt compile, Brainfish numa is 5-8% faster than SF official, asmFish is 10-13% and pendantFish is 13-16% faster (lower number is deep search from root, upper number is bench).
PaulieD
Posts: 212
Joined: Tue Jun 25, 2013 8:19 pm

Re: New asmFish released

Post by PaulieD »

3000 GAME GAUNTLET
i3 380M | 2 @ 2.53 | Win7 x64 | 6 GB Ram | Gui~ CuteChess GUI 0.9.4
Draw Adjudication~120 / 40 / 2 | Resign~3 / 4.8 | Cores~1 | HT~On
Book~TopGM_2move.pgn | Hash~8MB | Concurrency~3
Ponder~No | TB's~No | Elo~Ordo 1.2.6 | Time~20" + .2"

ASM +45 over Stockfish 8
Stockfish 8 +74 over Komodo 10.2
Komodo 10.2 +10 over Stockfish 7

Code: Select all

   # PLAYER         :  RATING  ERROR  PLAYED     W     D    L   (%)  D(%)
   1 SF8 ASMPD      :    3273      7    3000  1175  1457  368  63.5  48.6
   2 Stockfish 8    :    3228     13    1000   140   592  268  43.6  59.2
   3 Komodo 10.2    :    3154     14    1000   153   367  480  33.6  36.7
   4 Stockfish 7    :    3144     14    1000    75   498  427  32.4  49.8
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: New asmFish released

Post by syzygy »

Ehm, the most invasive change of the "unix version" of brainfish is the insertion of the "author"'s own name, unless you run it on a NUMA machine (for which it seems to use the patch prepared by Mohammed based on - I think - Texel's code).

The brainfish windows code in addition includes a large pages patch, which is obviously of no use for Mac and which I assume was not an original contribution by the brainfish "author" either.

In the windows version large pages is off by default, so any speed increase of brainfish (when not enabling large pages) is due to the better/different compile.