90 threads now on CCC 3

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

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: 90 threads now on CCC 3

Post by Dann Corbit »

The TCEC contest has 44 threads (about half of CCC 3).
So why not use 44 threads per engine and have pondering turned on?
The extra 2 threads will make the server more responsive and avoid competition when the machine needs to do some internal upkeep.
That way, you get double the quality with the games in the same amount of time.

As far as making engines crash, most engines on TCEC fare pretty well, so a reasonable thread count should not be a big issue.
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.
arunsoorya1309
Posts: 214
Joined: Tue Nov 03, 2015 4:55 pm

Re: 90 threads now on CCC 3

Post by arunsoorya1309 »

We had major controversy in ccc1 when ht and ponder were on, so this time we are not allowing ponder
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: 90 threads now on CCC 3

Post by lucasart »

Dann Corbit wrote: Sat Dec 08, 2018 3:06 am The TCEC contest has 44 threads (about half of CCC 3).
So why not use 44 threads per engine and have pondering turned on?
The extra 2 threads will make the server more responsive and avoid competition when the machine needs to do some internal upkeep.
That way, you get double the quality with the games in the same amount of time.

As far as making engines crash, most engines on TCEC fare pretty well, so a reasonable thread count should not be a big issue.
A lot of engines don't ponder.

Some even refuse to implement pondering, because UCI ponder logic is such an abortion, I don't want to soil Demolito's code base wjth this.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: 90 threads now on CCC 3

Post by corres »

Dann Corbit wrote: Sat Dec 08, 2018 3:06 am The TCEC contest has 44 threads (about half of CCC 3).
So why not use 44 threads per engine and have pondering turned on?
The extra 2 threads will make the server more responsive and avoid competition when the machine needs to do some internal upkeep.
That way, you get double the quality with the games in the same amount of time.
...
I think this question is an established one.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: 90 threads now on CCC 3

Post by elcabesa »

jdart wrote: Sat Dec 08, 2018 1:30 am Yes, one of the points is that after a while you don't get much gain from more cores.
--Jon
I'm starting toi think that lazy SMP shall be somehow modified to work well with those high number of thread. Since the number of thread is comprarable with the number of legal moves, one can think about having some thread searching some alternative root moves. I'm thinking about mixing lazysmp, multiPV, and stockfish voting system for lazysmp.

But at the moment I don't have any working implementation and before that I have to refactor the lazysmp and multi PV code a lot
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: 90 threads now on CCC 3

Post by jdart »

I'm starting toi think that lazy SMP shall be somehow modified to work well with those high number of thread.
Lazy SMP is basically a "share nothing" approach (except for the hash table). This may not be optimal. When I used YBWC, I had support for multiple threads sharing a move generator, so that they were both fetching moves from the same move list, but were guaranteed to get different moves. So that is one way to distribute things. (I don't know if this is actually a good idea but I have thought about it).

The other thing is, there are a lot of tuning and profiling tools available for multithreaded programs (Intel VTune for example) and these would help show hotspots .. but ideally you need a really big test machine for this to simulate TCEC & CCC conditions.

--Jon
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: 90 threads now on CCC 3

Post by elcabesa »

I'm not talking about specific engine deficiencies with high core number, I'm thinking that sine we have so much threads some of them can try searching the second best move. It happens that sometimes when dpong MultiPV an engine find the strongest move faster than in single Pv, but usually it's weaker.
I think that with 90 cores, probably having 30 of them exploring other candidates can be useful
AndrewGrant
Posts: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: 90 threads now on CCC 3

Post by AndrewGrant »

Time and time again we have proven that engines still gain vast amounts of elo with core doubling, and even with going from N cores to 2N threads, as shown by Noobpwnftw using SF 192core vs SF 384 thread.

The people who object to using these higher core counts have simply not taken the time to ensure their engines are bug free for high core counts. It should be trivial to prove that if there are no issues on 16 threads, then there are no issues on 512 threads.

Those who feel otherwise should be welcome to willingly reduce their core count and vastly decrease their engines performance. I won't feel bad about taking easy games off of those who dont understand the 100 elo to be gained between 16 cores and 90 threads.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Nay Lin Tun
Posts: 708
Joined: Mon Jan 16, 2012 6:34 am

Re: 90 threads now on CCC 3

Post by Nay Lin Tun »

And now the competition among big 4 is more and more intense. SF and Leela have only 0.5 score gap.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: 90 threads now on CCC 3

Post by corres »

lucasart wrote: Sat Dec 08, 2018 5:50 am
Dann Corbit wrote: Sat Dec 08, 2018 3:06 am The TCEC contest has 44 threads (about half of CCC 3).
So why not use 44 threads per engine and have pondering turned on?
The extra 2 threads will make the server more responsive and avoid competition when the machine needs to do some internal upkeep.
That way, you get double the quality with the games in the same amount of time.

As far as making engines crash, most engines on TCEC fare pretty well, so a reasonable thread count should not be a big issue.
A lot of engines don't ponder.

Some even refuse to implement pondering, because UCI ponder logic is such an abortion, I don't want to soil Demolito's code base wjth this.
OK.
But engines work better if they use their dedicated threads alone and they not use threads together with their contender. The difference between PC with 44 threads and 88 threads is only about 10-20 Elo.