Gigantua: 1.5 Giganodes per Second per Core move generator

Discussion of chess software programming and technical issues.

Moderator: Ras

tcusr
Posts: 325
Joined: Tue Aug 31, 2021 10:32 pm
Full name: tcusr

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by tcusr »

has anyone actually run this program or do we have another troll?
klx
Posts: 179
Joined: Tue Jun 15, 2021 8:11 pm
Full name: Emanuel Torres

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by klx »

tcusr wrote: Sat Sep 25, 2021 2:34 pm has anyone actually run this program or do we have another troll?
I'd strongly advise against running executables from random folks online with no post history. Based on the posts so far, I'm calling BS.

What do you mean "another troll", who was the other one?
[Moderation warning] This signature violated the rule against commercial exhortations.
Mergi
Posts: 127
Joined: Sat Aug 21, 2021 9:55 pm
Full name: Jen

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by Mergi »

tcusr wrote: Sat Sep 25, 2021 2:34 pm has anyone actually run this program or do we have another troll?
I did download the exe file and tried to run it. It didn't work, just kept crashing ... i think? No idea what it actually did and whether i have a virus in my computer now. :D But i have a fairly old intel processor so if it's using some fancy new instructions, it might be because of that.

But if you download the "source code" zip file, it contains these two files:

FUNDING.yml

Code: Select all

# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: dangi12012
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

README.md

Code: Select all

# Gigantua Chess PerfT

Command line options:
Giganuta.exe "FEN" "DEPTH"


### Performance history - 20.09.21 - 24.09.21:
 - Perft aggregate: 18999768562 14369ms 1322.21 MNodes/s
 - Perft aggregate: 18999768562 14247ms 1333.53 MNodes/s
 - Perft aggregate: 18999768562 14194ms 1338.53 MNodes/s
 - Perft aggregate: 18999768562 14027ms 1354.45 MNodes/s
 - Perft aggregate: 18999768562 13969ms 1360.05 MNodes/s
 - Perft aggregate: 18999768562 13735ms 1383.22 MNodes/s
 - Perft aggregate: 18999768562 13661ms 1390.79 MNodes/s



<!--
**Gigantua/Gigantua** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.

Here are some ideas to get you started:

- 🔭 I’m currently working on ...
- 🌱 I’m currently learning ...
- 👯 I’m looking to collaborate on ...
- 🤔 I’m looking for help with ...
- 💬 Ask me about ...
- 📫 How to reach me: ...
- 😄 Pronouns: ...
- ⚡ Fun fact: ...
-->
Yeah, that doesn't add much credibility either.
dangi12012
Posts: 1062
Joined: Tue Apr 28, 2020 10:03 pm
Full name: Daniel Infuehr

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by dangi12012 »

Mergi wrote: Sat Sep 25, 2021 3:57 pm Yeah, that doesn't add much credibility either.
Sorry - sourcecode will be in that repo soon. Gotta finish all those articles too.
Of cource everyone can verify my claims. You need a modern processor - a Ryzen 5000
More specifically your CPU needs support for BMI1 (for the Zen3 build not generally)
Since that exe has 120 downloads so far - someone would have come forward if its slower than expected.

Run it with giga.exe "FEN" "depth"
and test that against QPERFT which is the current standard.
You can run it in a sandbox or VM. Its a good policy to not trust binaries off the internet.

You can input any FEN and there is no way to fake the correct output numbers for fens that any user can input.
Moreover its still running on a single thread and no hashtable!

I will keep you updated - and will create a new post once its uploaded with all the new ideas.
Short summary will be:
How to do checks and pins on bitboards really fast
How to properly use templates in chess
Why my sourcecode is movelist free and does not need make/unmake. You can still store moves and boards optionally - I will need that for the Hashtable anyways.

Another post will contain the sourcecode for a fast seed number generator (magic generator) which uses cuda to find very dense slider tables in a short amount of time.

Greetings from OP
Worlds-fastest-Bitboard-Chess-Movegenerator
Daniel Inführ - Software Developer
R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by R. Tomasi »

hgm wrote: Wed Sep 22, 2021 9:59 pm A node is a position for which you generate all moves. I don't think you are doing that here.

I admit that 'generating moves' might be difficult to pinpoint with incremental updates. The criterion I used in 'the mailbox trials' was that I counted something as a node when enough work was done to decide whether moves would have to be searched from that position. This amounted to identifying all non-futile captures. I would say the perft equivalent is counting the number of moves in that position.
Has that been cleared up, yet? The whole 1.5 GNps claim is to be taken with a pinch of salt, if the definition of a node varies from what everyone else does in a way that increases the NPS by a factor of 50...
Karlo Bala
Posts: 373
Joined: Wed Mar 22, 2006 10:17 am
Location: Novi Sad, Serbia
Full name: Karlo Balla

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by Karlo Bala »

I don't understand this insane obsession with the perft. My perft is just 30% faster than the search since it uses a full eval at every node and a staged move generator. The only important thing is to test for the correctness of other parts of a chess engine, so who cares about the perft speed at all?!?

Perhaps admins should open the sub-forum talkperft.
Best Regards,
Karlo Balla Jr.
R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by R. Tomasi »

Karlo Bala wrote: Sat Sep 25, 2021 8:01 pm I don't understand this insane obsession with the perft. My perft is just 30% faster than the search since it uses a full eval at every node and a staged move generator. The only important thing is to test for the correctness of other parts of a chess engine, so who cares about the perft speed at all?!?

Perhaps admins should open the sub-forum talkperft.
I guess that's because it typically is the first thing you will write when designing a new engine. People start work on their engine, thinking that speed equals ELO (which is true) and obsess about optimizing their perft before implementing the eval and search. It's only at that stage that it becomes evident that the bottleneck isn't the speed of the move generator but the evaluation function and that the fastest code is the one that you don't execute (i.e. pruned moves/nodes).
Mergi
Posts: 127
Joined: Sat Aug 21, 2021 9:55 pm
Full name: Jen

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by Mergi »

Karlo Bala wrote: Sat Sep 25, 2021 8:01 pm I don't understand this insane obsession with the perft. My perft is just 30% faster than the search since it uses a full eval at every node and a staged move generator. The only important thing is to test for the correctness of other parts of a chess engine, so who cares about the perft speed at all?!?

Perhaps admins should open the sub-forum talkperft.
What's the difference between ELO and fast perft? In the end, both are just numbers. One person likes to watch the ELO number grow and another likes the perft number more. :wink:

And if this generator actually turns out to be usable, there would surely be some ELO gains as well.
smatovic
Posts: 3314
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by smatovic »

Mergi wrote: Sat Sep 25, 2021 8:18 pm ...
And if this generator actually turns out to be usable, there would surely be some ELO gains as well.
I think that is the point, the author says his approach might be useful in a Monte Carlo search, hence I understand if he wants to keep the source closed, to develop that approach first and maybe then release....

--
Srdja
Karlo Bala
Posts: 373
Joined: Wed Mar 22, 2006 10:17 am
Location: Novi Sad, Serbia
Full name: Karlo Balla

Re: Gigantua: 1.5 Giganodes per Second per Core move generator

Post by Karlo Bala »

Mergi wrote: Sat Sep 25, 2021 8:18 pm
Karlo Bala wrote: Sat Sep 25, 2021 8:01 pm I don't understand this insane obsession with the perft. My perft is just 30% faster than the search since it uses a full eval at every node and a staged move generator. The only important thing is to test for the correctness of other parts of a chess engine, so who cares about the perft speed at all?!?

Perhaps admins should open the sub-forum talkperft.
What's the difference between ELO and fast perft? In the end, both are just numbers. One person likes to watch the ELO number grow and another likes the perft number more. :wink:

And if this generator actually turns out to be usable, there would surely be some ELO gains as well.
It seems I was in a big delusion when I thought that chess engines are used for playing and analyzing. Now there is a whole new dimension, watching engines elo rise ;)

Usable or not, when one adds all that is needed to build a complete chess engine, the move generator looks much much different.

What do you think, how much elo worth is twice as fast move generator if for example, move generator eats 10% of the engine time?
Best Regards,
Karlo Balla Jr.