op12no2 / lozza

A UCI Javascript chess engine.
GNU General Public License v3.0
46 stars 8 forks source link

Multi Thread Search #7

Closed ghost closed 2 years ago

ghost commented 2 years ago

Hi Colin

my pc has 8 core CPU , when I search a position only 1 core used , I want to search faster with multi core 🔥

how can do this ?

op12no2 commented 2 years ago

Hi,

Lozza is a single threaded engine. You would have to use a different engine to utilise your 8 cores.

Cheers, Colin

On Sat, May 14, 2022 at 8:27 PM movepicker @.***> wrote:

Hi Colin

my pc has 8 core CPU , when I search a position only 1 core used , I want to search faster with multi core 🔥

how can do this ?

— Reply to this email directly, view it on GitHub https://github.com/op12no2/lozza/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACFQ5NL3ROU5T7ESYUGCFM3VJ75BZANCNFSM5V57LMGA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

ghost commented 2 years ago
      if (   !SpNode
          &&  Threads.size() >= 2
          &&  depth >= Threads.minimumSplitDepth
          &&  (   !thisThread->activeSplitPoint
               || !thisThread->activeSplitPoint->allSlavesSearching)
          &&  thisThread->splitPointsSize < MAX_SPLITPOINTS_PER_THREAD)
      {
          assert(bestValue > -VALUE_INFINITE && bestValue < beta);

          thisThread->split<FakeSplit>(pos, ss, alpha, beta, &bestValue, &bestMove,
                                       depth, moveCount, &mp, NT, cutNode);

          if (Signals.stop || thisThread->cutoff_occurred())
              return VALUE_ZERO;

          if (bestValue >= beta)
              break;
      }

i found this same code for splitting the search , if it possible to Implementation this code in javascript , you can multithread search via webworker