Ah no I just somehow overlooked it, sorry. I was more concerned that non profiled stockfish is that much slower. I'll add it to the results when it's ready.syzygy wrote: Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)
It surprises me that clang generates faster code for you (at least with SF).
Stockfish 9
Moderators: hgm, Rebel, chrisw
-
- Posts: 6
- Joined: Wed Nov 30, 2016 1:50 pm
Re: Stockfish 9
-
- Posts: 282
- Joined: Mon Sep 02, 2013 8:23 am
Re: Stockfish 9
It 'boggles my mind' that people get off on engine matches. For testing, sure, but otherwise....Nordlandia wrote:It still boggles my mind why permanent brain can't be activated in playchess engine matches.Ron Langeveld wrote:That depends on the context of use. The worth of default contempt in an analysis context may actually be negative.
I bet the playchess engine game fanboys really love the elo jump though, even when they are well below top tier 'competitors' and should actually disable it since they all use the same engine anyway
-
- Posts: 6
- Joined: Wed Nov 30, 2016 1:50 pm
Re: Stockfish 9
Cfish profile build with clang failed: https://pastebin.com/Pmzb801bsyzygy wrote:Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)foolnotion wrote:Here's a summary of my benchmarks (stockfish vs cfish vs asmfish)
https://i.imgur.com/FLjHVmy.png
pgo = profile optimized builds
compiler versions: clang-5.0, gcc-7.2
It surprises me that clang generates faster code for you (at least with SF).
The new results: https://i.imgur.com/f09Dnzg.png
Raw data: https://pastebin.com/9XqyK7D5
I forgot to mention my cpu is Haswell i7 4790k
ICfish looks amazingly good in multithreading, I think i will need to retest it.
I am using https://github.com/sharkdp/hyperfine for benchmarking.
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Stockfish 9
I've seen these error messages myself. I guess I should have a look at the Makefile.foolnotion wrote:Cfish profile build with clang failed: https://pastebin.com/Pmzb801bsyzygy wrote:Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)foolnotion wrote:Here's a summary of my benchmarks (stockfish vs cfish vs asmfish)
https://i.imgur.com/FLjHVmy.png
pgo = profile optimized builds
compiler versions: clang-5.0, gcc-7.2
It surprises me that clang generates faster code for you (at least with SF).
Surprising results again! Thanks for testing.The new results: https://i.imgur.com/f09Dnzg.png
Raw data: https://pastebin.com/9XqyK7D5
I forgot to mention my cpu is Haswell i7 4790k
ICfish looks amazingly good in multithreading, I think i will need to retest it.
I am using https://github.com/sharkdp/hyperfine for benchmarking.
asmFish is still not up to date, so it can be tricky to compare. But a depth 20 bench probably evens things out pretty well.
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Stockfish 9
This should now be fixed. (Add COMP=mingw to the build command. Add lto=yes to enable LTO.)syzygy wrote:I've seen these error messages myself. I guess I should have a look at the Makefile.foolnotion wrote:Cfish profile build with clang failed: https://pastebin.com/Pmzb801bsyzygy wrote:Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)foolnotion wrote:Here's a summary of my benchmarks (stockfish vs cfish vs asmfish)
https://i.imgur.com/FLjHVmy.png
pgo = profile optimized builds
compiler versions: clang-5.0, gcc-7.2
It surprises me that clang generates faster code for you (at least with SF).
On a related note, am I correct in thinking that the Stockfish Makefile does not use LTO (link-time optimization) when compiling with clang?
-
- Posts: 6442
- Joined: Tue Jan 09, 2007 12:31 am
- Location: PA USA
- Full name: Louis Zulli
Re: Stockfish 9
LTO is only used with gcc and with mingw running under linux.syzygy wrote:This should now be fixed. (Add COMP=mingw to the build command. Add lto=yes to enable LTO.)syzygy wrote:I've seen these error messages myself. I guess I should have a look at the Makefile.foolnotion wrote:Cfish profile build with clang failed: https://pastebin.com/Pmzb801bsyzygy wrote:Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)foolnotion wrote:Here's a summary of my benchmarks (stockfish vs cfish vs asmfish)
https://i.imgur.com/FLjHVmy.png
pgo = profile optimized builds
compiler versions: clang-5.0, gcc-7.2
It surprises me that clang generates faster code for you (at least with SF).
On a related note, am I correct in thinking that the Stockfish Makefile does not use LTO (link-time optimization) when compiling with clang?
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Stockfish 9
And there seems to be no good reason for that.zullil wrote:LTO is only used with gcc and with mingw running under linux.syzygy wrote:On a related note, am I correct in thinking that the Stockfish Makefile does not use LTO (link-time optimization) when compiling with clang?
-
- Posts: 6
- Joined: Wed Nov 30, 2016 1:50 pm
Re: Stockfish 9
Thanks for fixing the Makefile, I've included the bench results for the cfish clang pgo build. I also tested with lto=yes but there was no improvement so I left those out.syzygy wrote:This should now be fixed. (Add COMP=mingw to the build command. Add lto=yes to enable LTO.)syzygy wrote:I've seen these error messages myself. I guess I should have a look at the Makefile.foolnotion wrote:Cfish profile build with clang failed: https://pastebin.com/Pmzb801bsyzygy wrote:Did you have a problem compiling cfish with pgo? (Or is "pgo" just missing from the name?)foolnotion wrote:Here's a summary of my benchmarks (stockfish vs cfish vs asmfish)
https://i.imgur.com/FLjHVmy.png
pgo = profile optimized builds
compiler versions: clang-5.0, gcc-7.2
It surprises me that clang generates faster code for you (at least with SF).
On a related note, am I correct in thinking that the Stockfish Makefile does not use LTO (link-time optimization) when compiling with clang?
Chart: https://i.imgur.com/RW8mhOR.png
Chart data: https://pastebin.com/zi7eghQa
It's still surprising for me that cfish gains that much speed in multi-threading thanks to PGO. Sorry if this is a stupid question, but is it possible that PGO optimizes for the specific positions being benched?
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Stockfish 9
PGO does a first pass to collect statistics on what parts of the program are executed the most and on how often branches are taken. The second pass then uses this information to make more educated guesses on how to optimize the program. Since the statistics are collected by doing a bench, there is some amount of optimisation for those bench positions. But I don't think this is a big factor. Move generation, search and evaluation aren't that different from position to position, and the bench positions themselves are meant to be representative of typical positions that occur in a typical game.foolnotion wrote:It's still surprising for me that cfish gains that much speed in multi-threading thanks to PGO. Sorry if this is a stupid question, but is it possible that PGO optimizes for the specific positions being benched?
I also find it surprising that PGO has such an effect on multi-threaded speed. It may have to do with a smaller cache footprint of Cfish which on your machine only starts to make a difference with multiple threads. But why this effect is absent without PGO is not clear to me.
-
- Posts: 6052
- Joined: Tue Jun 12, 2012 12:41 pm
Re: Stockfish 9
Thank you, Marco!
Sorry, I am so busy, that just noticed.
Is this stronger or weaker than SF 8?
Anyway, we will soon find out.
Anyone accepting bets I will be the person on the Planet who will use SF 9 most?
Sorry, I am so busy, that just noticed.
Is this stronger or weaker than SF 8?
Anyway, we will soon find out.
Anyone accepting bets I will be the person on the Planet who will use SF 9 most?