Skip to content

Commit

Permalink
Set the SF16 reference Nps using SF11 as base
Browse files Browse the repository at this point in the history
Fishtest with Stockfish 11 had 1.6MNps as reference Nps and 0.7MNps as
threshold for the slow worker.
Set the new reference Nps according to the 26% slowdown
of the SF 16 wrt SF 11 on the ARCH=x86-64-bmi2.
Set the new threshold for slow worker according to the 34% slowdown
of the SF 16 wrt SF 11 on the ARCH=x86-64-modern (x86-64-sse41-popcnt).

compiler clang++ 16.0.6

- arch=bmi2 (Intel Xeon CPU E5-2680 v3)
```
sf_base =  1580934 +/-  12410 (95%)
sf_test =  1163656 +/-   7679 (95%)
diff    =  -417278 +/-  11547 (95%)
speedup = -26.394% +/- 0.730% (95%
```

- arch=modern (Intel core i7 3770k)
```
sf_base =  1865978 +/-  14061 (95%)
sf_test =  1228350 +/-  11701 (95%)
diff    =  -637627 +/-   5230 (95%)
speedup = -34.171% +/- 0.280% (95%)
```

Raise worker version to 206, also server side.
  • Loading branch information
ppigazzini committed Jun 30, 2023
1 parent c0d1743 commit a365717
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion server/fishtest/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
on how frequently the main instance flushes its run cache.
"""

WORKER_VERSION = 205
WORKER_VERSION = 206


def validate_request(request):
Expand Down
2 changes: 1 addition & 1 deletion server/fishtest/rundb.py
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ def aggregate_unfinished_runs(self, username=None):
nps += concurrency * task["worker_info"]["nps"]
if task["worker_info"]["nps"] != 0:
games_per_minute += (
(task["worker_info"]["nps"] / 1328000.0)
(task["worker_info"]["nps"] / 1184000)
* (60.0 / estimate_game_duration(run["args"]["tc"]))
* (
int(task["worker_info"]["concurrency"])
Expand Down
4 changes: 2 additions & 2 deletions server/utils/delta_update_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ def initialize_info(rundb, clear_stats):


def compute_games_rates(rundb, info_tuple):
# 1328000 nps is the reference core, also sets in views.py and game.py
# 1184000 nps is the reference core, also set in rundb.py and games.py
for machine in rundb.get_machines():
games_per_hour = (
(machine["nps"] / 1328000.0)
(machine["nps"] / 1184000)
* (3600.0 / estimate_game_duration(machine["run"]["args"]["tc"]))
* (int(machine["concurrency"]) // machine["run"]["args"].get("threads", 1))
)
Expand Down
7 changes: 4 additions & 3 deletions worker/games.py
Original file line number Diff line number Diff line change
Expand Up @@ -1290,14 +1290,15 @@ def parse_options(s):
games_concurrency * threads,
)

if base_nps < 434000 / (1 + math.tanh((worker_concurrency - 1) / 8)):
if base_nps < 462000 / (1 + math.tanh((worker_concurrency - 1) / 8)):
raise FatalException(
"This machine is too slow ({} nps / thread) to run fishtest effectively - sorry!".format(
base_nps
)
)
# 1328000 nps is the reference core, also set in views.py and delta_update_users.py
factor = 1328000 / base_nps
# 1184000 nps is the reference core benched with respect to SF 11,
# also set in rundb.py and delta_update_users.py
factor = 1184000 / base_nps

# Adjust CPU scaling.
_, tc_limit_ltc = adjust_tc("60+0.6", factor)
Expand Down
2 changes: 1 addition & 1 deletion worker/sri.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"__version": 205, "updater.py": "PHFUVXcoxBFiW2hTqFN5q5WdAw2pK8uzFC7hyMUC3cLY5bGZPhL8TBGThtqDmcXd", "worker.py": "cCyr244zHs0k/Uur7lQlXSCsmGwCT7L+bSxrH4kLB6Dol2AsUCz/Lg+Bo2VPgQVk", "games.py": "bK3SvG/8oGKOZlgT4oczbfgzOS6LMOesBKWWVI4P74z1cMJB9C2cqqas7U42XO3x"}
{"__version": 206, "updater.py": "PHFUVXcoxBFiW2hTqFN5q5WdAw2pK8uzFC7hyMUC3cLY5bGZPhL8TBGThtqDmcXd", "worker.py": "R8rJ4c9ZQTbuSu80ayVyMs7D6/TOVR5qMn6R04XCsBp4BTkCKXfy7hSrpMaLa0nX", "games.py": "D+5sFwptbwAhvn+VM4oHyRwqUPfGUWLQPFbWHA/uK77rTUsU/r49gBMjjz6k5Ncq"}
2 changes: 1 addition & 1 deletion worker/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
# Several packages are called "expression".
# So we make sure to use the locally installed one.

WORKER_VERSION = 205
WORKER_VERSION = 206
FILE_LIST = ["updater.py", "worker.py", "games.py"]
HTTP_TIMEOUT = 30.0
INITIAL_RETRY_TIME = 15.0
Expand Down

0 comments on commit a365717

Please sign in to comment.