lichess-org/fishnet

[MacOS] Fishnet performance drops to single-core after system suspension

PaulHobbs opened this issue · 1 comments

I run Fishnet on my MacOS desktop with 8 cores. It normally gets about 10,000-12,000 knps when running with a 6 thread configuration.

I have noticed that when I leave it running for a long time and come back after suspending my system and resuming, it is performing at single-core performance (1,800 knps).

Here's some example logs (game links excluded for privacy):

><> fishnet/2.2.3: 1762 knps (nnue), 2.073 batches, 108.309 positions, 235.686.579.212 total nodes
[==== |           ] 6 cores, 5 queued, latest: ...
[==== |           ] ... finished (1775 knps)
><> fishnet/2.2.3: 1763 knps (nnue), 2.074 batches, 108.382 positions, 235.850.880.982 total nodes
><> fishnet/2.2.3: 1763 knps (nnue), 2.074 batches, 108.382 positions, 235.850.880.982 total nodes
[=====|===========> 6 cores, 36 queued, latest: ...
><> fishnet/2.2.3: 1763 knps (nnue), 2.074 batches, 108.382 positions, 235.850.880.982 total nodes
[=====|===========> 6 cores, 30 queued, latest: ...

### Stopping soon. CTRL-C again to abort pending batches ...

[==== |           ] 6 cores, 5 queued, latest: ...
[==== |           ] ... finished (1367 knps)
W: Aborting batch e0e5yLLZ.

  8:46  (~/Desktop) >> nice -n 20 ./fishnet-x86_64-apple-darwin
#   _________         .    .
#  (..       \_    ,  |\  /|
#   \       O  \  /|  \ \/ /
#    \______    \/ |   \  /      _____ _     _     _   _      _
#       vvvv\    \ |   /  |     |  ___(_)___| |__ | \ | | ___| |_
#       \^^^^  ==   \_/   |     | |_  | / __| '_ \|  \| |/ _ \ __|
#        `\_   ===    \.  |     |  _| | \__ \ | | | |\  |  __/ |_
#        / /\_   \ /      |     |_|   |_|___/_| |_|_| \_|\___|\__| 2.2.3
#        |/   \_  \|      /
#               \________/      Distributed Stockfish analysis for lichess.org

### Checking configuration ...

Endpoint: https://lichess.org/fishnet
Backlog: Join queue if user backlog >= 0ns or system backlog >= 0ns
CPU features: POPCNT | SSE | SSE2 | SSSE3 | SSE41 | AVX2 | BMI2 | INTEL | SF_SSE2 | SF_SSSE3 | SF_SSE41_POPCNT | SF_AVX2 | SF_BMI2
Engine: stockfish-macos-x86-64-bmi2 (for GPLv3, run: ./fishnet-x86_64-apple-darwin license)
Cores: 6

### Running (CTRL-C to stop) ...

[     |           ] 6 cores, 0 queued, latest: ...
[     |           ] ... finished (10076 knps)
[     |           ] 6 cores, 1 queued, latest: ...
><> fishnet/2.2.3: 3707 knps??? (nnue), 1 batches, 67 positions, 136.068.643 total nodes
[     |           ] 6 cores, 0 queued, latest: ...
[     |           ] ... finished (horde, no nnue, 7238 knps)
[     |           ] 6 cores, 0 queued, latest: ...
[     |           ] ... finished (6845 knps)
[=====|===========> 6 cores, 66 queued, latest: ...

When this happens again ... can you please verify that (when busy) it still uses all cores? I suspect it's an issue with the reported numbers, not what's actually happening.