"Jonathan Kinsey" <address@hidden>
wrote on 08/03/2007 12:28:44:
>
> >From: Massimiliano Maini <address@hidden>
> >
> >with the recend multi-thread code and multi-core hardawre, what
sould run
> >faster than before ? Just game/match analysis and rollouts or
even
> >evaluation ?
> >
> >In other words, gnubg will run game/match analysis and rollouts
faster,
> >but will
> >it play faster ? Will the tutor be faster ?
> >
> >My understanding (from previous posts) is that the answer is no,
but since
> >I'd
> >like the answer to be yes, I want to be sure :))
>
> The answer is no. I went for the quick approach of splitting
up big tasks
> (moves in a game and trials in the rollout), the other idea of
> multi-threading the evaluations sounds great (as everything would
be
> quicker), it's just a whole lot more complicated/likely not to work.
>
> I could take a look when I've a got a sec, I've got a feeling that
they
> might use eval functions that are already used in the rollouts, so
it might
> not be easy.
I'm just rambling here, but when gnubg evaluates moves,
it computes all the valid moves, then evaluates all of them at
0ply, then somehow selects the ones to evaluate at higher ply.
Multi-threading the neural net may be not so interesting
since it is already very fast (overhead may be a killer), but
running multiple nets in parallel should gain a lot. A single function
could receive the list of moves to be evaluated and dispatch them
to the N threads.
I don't know if that's what Chrsitian meant when he
said :
> Perhaps it would be possible to split the task
on the movefilter > level. It should be easier than on the eval level.