Skip to content

Comments

Add spsa_reporting_type and spsa_distribution_type#170

Merged
AndyGrant merged 1 commit intomasterfrom
spsa_methods
Sep 20, 2023
Merged

Add spsa_reporting_type and spsa_distribution_type#170
AndyGrant merged 1 commit intomasterfrom
spsa_methods

Conversation

@AndyGrant
Copy link
Owner

  1. Reporting Method (BATCHED vs BULK) for SPSA Tests
    Send everything at once, vs every time a pair finishes

  2. Distribution Method (SINGLE vs MULTIPLE) for SPSA Tests
    Give 1 parameter set; Give as many sets as we can

Also fix a display bug in A-Ratio; Change the Tuning icon; Fix a comment that said SPRT instead of SPSA;

@AndyGrant AndyGrant merged commit a17b5f8 into master Sep 20, 2023
@AndyGrant AndyGrant deleted the spsa_methods branch September 20, 2023 16:27
eduherminio added a commit to lynx-chess/OpenBench that referenced this pull request Dec 22, 2023
commit 14aa6b8
Author: Eduardo Cáceres <[email protected]>
Date:   Fri Dec 22 23:43:55 2023 +0100

    Add migrations dir as volume

commit 39a5200
Author: Eduardo Cáceres <[email protected]>
Date:   Fri Dec 22 21:04:52 2023 +0100

    book -> book_name

commit 484ea1d
Author: Eduardo Cáceres <[email protected]>
Date:   Fri Dec 22 21:03:09 2023 +0100

    games -> test_max_games

commit ee19016
Author: Eduardo Cáceres <[email protected]>
Date:   Fri Dec 22 21:01:15 2023 +0100

    both_timecontrol -> both_time_control

commit 2e74dc8
Author: Eduardo Cáceres <[email protected]>
Date:   Fri Dec 22 20:58:37 2023 +0100

    Update Lynx config file

commit c678b9c
Author: Eduardo Cáceres <[email protected]>
Date:   Thu Dec 21 01:33:06 2023 +0100

    Adjust Lynx config file

commit 13a2f4f
Merge: 32dc4e0 0cde283
Author: Eduardo Cáceres <[email protected]>
Date:   Thu Dec 21 01:32:55 2023 +0100

    Merge remote-tracking branch 'author/master' into update-master

commit 0cde283
Author: andrew <[email protected]>
Date:   Wed Dec 20 16:51:03 2023 -0500

    More robust handling of PGN processing

    Fixes a bug where .pgn openings don't have the book moves shown
    Fixes a bug where engines that don't report sufficent data ( either eval, or eval depth seldepth time nodes ) would have the moves not copied to the compressed pgn

    Standard now has {book} for book moves
    Standard now has {unknown} for moves with missing information

    Added GameEndTime to VERBOSE PGNs to retroactively compute things
    Added scaleFactor to all PGNs to allow adjusting the TimeControl correctly
    Removed PlyCount which was not needed, and simply added more bytes

commit aae6b42
Author: andrew <[email protected]>
Date:   Mon Dec 18 20:01:11 2023 -0500

    Retain base_branch on engine swapping for cross-play

commit 820a154
Author: andrew <[email protected]>
Date:   Mon Dec 18 17:59:52 2023 -0500

    Update NPS values

    Demolito 1381619 nps 9122778 nodes in 6.603 seconds
    4ku 1198461 nps 4222136 nodes in 3.523 seconds
    Berserk 954517 nps 2772976 nodes in 2.905 seconds
    Bit-Genie 1992512 nps 1877660 nodes in 0.942 seconds
    BlackMarlin 1066205 nps 4421651 nodes in 4.147 seconds
    Dragon 584187 nps 4542693 nodes in 7.776 seconds
    Drofa 1090724 nps 11419888 nodes in 10.470 seconds
    Ethereal 1147869 nps 3017694 nodes in 2.629 seconds
    FabChess 1056260 nps 7310049 nodes in 6.921 seconds
    Halogen 1893187 nps 13395978 nodes in 7.076 seconds
    Igel 483458 nps 19300902 nodes in 39.923 seconds
    Koivisto 1326943 nps 3661572 nodes in 2.759 seconds
    Laser 933107 nps 2989157 nodes in 3.203 seconds
    RubiChess 848430 nps 3161490 nodes in 3.726 seconds
    Seer 763810 nps 3911108 nodes in 5.121 seconds
    Stash 1703360 nps 5423868 nodes in 3.184 seconds
    Stockfish 1008140 nps 2593605 nodes in 2.573 seconds
    Torch 375959 nps 2528480 nodes in 6.725 seconds
    Weiss 1685672 nps 21825554 nodes in 12.948 seconds
    Winter 644003 nps 1053900 nodes in 1.636 seconds
    Zahak 949370 nps 4151348 nodes in 4.373 seconds

commit c9b889e
Author: andrew <[email protected]>
Date:   Mon Dec 11 13:29:43 2023 -0500

    Add PGN Archive download buttons, and API endpoint

commit 468281d
Author: andrew <[email protected]>
Date:   Mon Dec 11 12:42:03 2023 -0500

    Auto consolidate .pgn.bz2 files into a .tar archive

commit a280e63
Author: andrew <[email protected]>
Date:   Fri Dec 8 12:05:42 2023 -0500

    Finalized bench_all.py

commit f4f619f
Author: andrew <[email protected]>
Date:   Fri Dec 8 10:50:02 2023 -0500

    Add /api/buildinfo/ for bulk collection of configs and networks

commit 3af603d
Author: andrew <[email protected]>
Date:   Thu Dec 7 16:26:10 2023 -0500

    Finish bench_all.py, minus cmdline arguments

commit 2a461ec
Author: andrew <[email protected]>
Date:   Wed Dec 6 13:32:46 2023 -0500

    Initial steps for build_all.py

commit 8e14f1c
Author: andrew <[email protected]>
Date:   Mon Dec 4 11:13:30 2023 -0500

    Only apply default settings at the initial setup of an engine

    Means that swapping between test modes or tune modes will not reapply the default settings

commit 71f5b0b
Author: andrew <[email protected]>
Date:   Mon Dec 4 11:05:39 2023 -0500

    Add Dragon to master config grouping

commit 29e0425
Author: andrew <[email protected]>
Date:   Mon Dec 4 09:32:38 2023 -0500

    Fix openbench.exit for signaling workers

commit 7d4be81
Author: andrew <[email protected]>
Date:   Mon Dec 4 09:26:19 2023 -0500

    Update sidebar links to new config

commit 89478d8
Author: andrew <[email protected]>
Date:   Mon Dec 4 09:06:38 2023 -0500

    Fix swapping test modes on workload creation

    Ensure default settings appear for tunes and tests

commit 0807d2c
Author: andrew <[email protected]>
Date:   Mon Dec 4 07:52:52 2023 -0500

    Kick Server/Client to v23

commit 5f97fd9
Author: andrew <[email protected]>
Date:   Mon Dec 4 07:45:30 2023 -0500

    Upload the PGNs and save them. Last step for that

commit c4e27d3
Author: andrew <[email protected]>
Date:   Tue Nov 28 09:17:00 2023 -0500

    Include engine name in PGN

commit fda9012
Author: andrew <[email protected]>
Date:   Tue Nov 28 09:13:09 2023 -0500

    Legal PGNS with 7-tag roster

commit 119569a
Author: andrew <[email protected]>
Date:   Mon Nov 27 16:31:11 2023 -0500

    Fix debug info left from SPSA template tags

commit 50855a5
Author: andrew <[email protected]>
Date:   Mon Nov 27 16:30:45 2023 -0500

    Update Torch presets for tuning

commit ff8c01b
Author: andrew <[email protected]>
Date:   Mon Nov 27 14:17:58 2023 -0500

    Compress after playing all games

commit ca630c8
Author: andrew <[email protected]>
Date:   Fri Nov 24 18:20:55 2023 -0500

    Initial step for PGN uploading

    1. Create the interface code to allow for it.
    2. Create pgn_util to strip and compress PGNs

commit 1ac76bd
Author: andrew <[email protected]>
Date:   Wed Nov 22 16:23:21 2023 -0500

    Optimize default SPSA to avoid CPU downtime

    Left Column indicates the number of threads of a match
    N= represents the number of games ( not game pairs )
    The values in the table are the % of CPU time wasted.

    This is based on LTC data from Torch.
    The Single Modeling area can be used to understand SPRT tests as well.

    We find that sufficiently large N is needed to avoid massive waste.
    Multiple distribution is significanly more prone to waste CPU time

    Results for Single Modeling:
    +----+----------+----------+-----------+----------+-----------+-----------+-----------+
    |    |      N=1 |      N=2 |       N=3 |      N=4 |       N=8 |      N=16 |      N=32 |
    +====+==========+==========+===========+==========+===========+===========+===========+
    |  1 |        0 |        0 |         0 |        0 |         0 |         0 |         0 |
    +----+----------+----------+-----------+----------+-----------+-----------+-----------+
    | 16 | 0.187964 | 0.154541 | 0.0953438 | 0.111055 | 0.0682209 | 0.0419675 | 0.0234031 |
    +----+----------+----------+-----------+----------+-----------+-----------+-----------+
    | 30 | 0.233956 | 0.250168 |  0.247093 | 0.160325 |   0.17584 | 0.0490092 | 0.0233125 |
    +----+----------+----------+-----------+----------+-----------+-----------+-----------+
    | 60 |   0.3319 | 0.283755 |  0.310635 | 0.315316 | 0.0914697 | 0.0474954 | 0.0229517 |
    +----+----------+----------+-----------+----------+-----------+-----------+-----------+

    Results for Multiple Modeling:
    +----+----------+----------+----------+----------+----------+----------+-----------+
    |    |      N=1 |      N=2 |      N=3 |      N=4 |      N=8 |     N=16 |      N=32 |
    +====+==========+==========+==========+==========+==========+==========+===========+
    |  1 |        0 |        0 |        0 |        0 |        0 |        0 |         0 |
    +----+----------+----------+----------+----------+----------+----------+-----------+
    | 16 | 0.187964 | 0.108087 | 0.112321 |  0.18708 | 0.178225 | 0.109092 | 0.0847329 |
    +----+----------+----------+----------+----------+----------+----------+-----------+
    | 30 | 0.233956 | 0.228522 |  0.26862 | 0.263978 | 0.167372 | 0.182215 | 0.0831574 |
    +----+----------+----------+----------+----------+----------+----------+-----------+
    | 60 |   0.3319 | 0.352034 | 0.270229 | 0.291731 | 0.219136 | 0.178662 | 0.0936702 |
    +----+----------+----------+----------+----------+----------+----------+-----------+

commit 0fd7742
Author: andrew <[email protected]>
Date:   Wed Nov 22 16:14:34 2023 -0500

    Remove dated readme

commit c741e5c
Author: andrew <[email protected]>
Date:   Tue Nov 21 20:58:15 2023 -0500

    Add all of the Swebench engines

commit f68be40
Author: andrew <[email protected]>
Date:   Tue Nov 21 20:49:01 2023 -0500

    Fix Weiss Tune LTCs

commit acef6cb
Author: andrew <[email protected]>
Date:   Tue Nov 21 20:46:44 2023 -0500

    Update configs; Ensure correctness of fields

commit 5b56253
Author: andrew <[email protected]>
Date:   Sat Nov 18 09:47:36 2023 -0500

    Force reimport of libs in some python versions

commit d4917c6
Author: andrew <[email protected]>
Date:   Sat Nov 18 09:25:44 2023 -0500

    Kick to v21...

commit c64725f
Author: andrew <[email protected]>
Date:   Sat Nov 18 09:14:07 2023 -0500

    Kick to v20; additionally chmod cutechess-ob from worker.py

commit af22c9a
Author: andrew <[email protected]>
Date:   Thu Nov 16 23:01:34 2023 -0500

    Remove --proxy for Github

commit 3fa1e2b
Author: Andrew Grant <[email protected]>
Date:   Thu Nov 16 21:34:00 2023 -0500

    Update permissions from a real linux box...

commit 34f6109
Author: andrew <[email protected]>
Date:   Thu Nov 16 21:28:33 2023 -0500

    Set base dir on startup like before

commit a38fbf6
Author: andrew <[email protected]>
Date:   Thu Nov 16 21:12:42 2023 -0500

    More permission for cutechess client

commit 3986e8f
Author: andrew <[email protected]>
Date:   Thu Nov 16 21:03:09 2023 -0500

    chmod +X cutechess-ob; report downloading.

    Tested with --clean

commit 28d4f85
Author: andrew <[email protected]>
Date:   Thu Nov 16 20:53:12 2023 -0500

    Fix removed return statement in client authentication

commit 64523f9
Author: andrew <[email protected]>
Date:   Thu Nov 16 20:32:02 2023 -0500

    Generic, public settings for config.json example

commit bbe7cc2
Author: andrew <[email protected]>
Date:   Thu Nov 16 19:11:57 2023 -0500

    Update cleanup.sh

commit 74f613a
Author: andrew <[email protected]>
Date:   Thu Nov 16 19:09:14 2023 -0500

    Return to master, and the base config

commit 77475b7
Author: andrew <[email protected]>
Date:   Thu Nov 16 19:07:26 2023 -0500

    Minor fixes, functionally working now

commit f5ce0de
Author: andrew <[email protected]>
Date:   Thu Nov 16 18:57:35 2023 -0500

    Readd client.py

commit 0799414
Author: andrew <[email protected]>
Date:   Thu Nov 16 18:57:21 2023 -0500

    Delete client.py, to rename it lowercase.

    Windows issues

commit ec427d0
Author: andrew <[email protected]>
Date:   Thu Nov 16 18:56:56 2023 -0500

    Auto updating step 1

commit 4ec9d5b
Author: andrew <[email protected]>
Date:   Thu Nov 16 17:06:46 2023 -0500

    First step towards auto-extracting client

    client.py will pull from github, as requested by the server
    client.py will extract and put all files locally ( except replacing itself ? )

    Moved cutechess directly into the Client folder to it gets pulled.
    May need to chmod +x the cutechess-ob for Linux on demand.

    In the future, the cleanup script will delete everythinge except:
    client.py, and any credentials.* files.
    Such that one can run an openbench client in any directory, from a single file.

commit 91ea350
Author: andrew <[email protected]>
Date:   Thu Nov 16 02:28:47 2023 -0500

    Natural formatting for configs in the API

commit b10537c
Author: andrew <[email protected]>
Date:   Thu Nov 16 02:24:29 2023 -0500

    Update to latest Berserk + Weiss

commit 2b68a48
Author: andrew <[email protected]>
Date:   Thu Nov 16 02:09:55 2023 -0500

    One more fix to the conversion script

commit b101e5b
Author: andrew <[email protected]>
Date:   Thu Nov 16 02:05:03 2023 -0500

    Finalize config changes

commit d322e49
Author: andrew <[email protected]>
Date:   Thu Nov 16 01:48:14 2023 -0500

    Add all of the engine configs back

commit 0b17de9
Author: andrew <[email protected]>
Date:   Wed Nov 15 23:43:11 2023 -0500

    Unify create_test and create_tune

commit 6a53772
Author: andrew <[email protected]>
Date:   Wed Nov 15 22:20:14 2023 -0500

    Minor CSS changes to condense pages

commit 9123444
Author: andrew <[email protected]>
Date:   Wed Nov 15 02:53:50 2023 -0500

    Complete overhaul of how engine options are handled

    Removed worker_limit and thread_limit
    Relocated some settings in the engine configs
    Renamed the test_modes and tune_modes to x_presets
    Added a default preset grouping, which others can extend
    Complete rewrite of create_test.js, with the hope to generalize with create_tune.js
    Cleanups of the create_test.html for warnings due to missing html attributes

commit 37cc4a5
Author: andrew <[email protected]>
Date:   Tue Nov 14 01:28:45 2023 -0500

    Load modular configs for Books + Engines

    Produce some verification of correctness for those configs
    Begin future client auto-updating things, with new config fields

    client_repo_url, and client_repo_ref specifically.

commit 5d8704d
Author: andrew <[email protected]>
Date:   Mon Nov 13 21:19:09 2023 -0500

    Relocate books; split up books.json

    First step towards a more modular config schemea.
    Books moved to AndyGrant/openbench-books.
    Those books will _never_ be deleted.

    Update workload dict. to avoid duplicate json fields for book names

commit 98090b7
Author: andrew <[email protected]>
Date:   Wed Nov 8 18:19:39 2023 -0500

    Allow networks to be seen as previous defaults

    Networks can now be default, previous-default, or neither.
    Networks can can have these fields manually edited.
    Networks with default or previous-default status may not be deleted.
    Networks may have their names changed, iff no conflicts arise.

commit 44fafff
Author: andrew <[email protected]>
Date:   Wed Nov 8 16:52:38 2023 -0500

    Simplify client_verify_worker to a decorator

    Removes copy pasted code from 6 functions

commit 8c765ba
Author: andrew <[email protected]>
Date:   Wed Nov 8 14:57:06 2023 -0500

    Bump Server/Client version to v18

commit b3f8cc6
Author: andrew <[email protected]>
Date:   Wed Nov 8 14:56:10 2023 -0500

    Add a heartbeat to the Client

    Hits /clientHeartbeat/ when no data exists to report
    May return a stop header to abort the workload

commit 26936a0
Author: andrew <[email protected]>
Date:   Wed Nov 1 01:27:27 2023 -0400

    Make the wiki the authoritative source on this

commit 9f53b08
Author: andrew <[email protected]>
Date:   Wed Nov 1 01:26:15 2023 -0400

    Additional testing and add Client output

commit b577315
Author: andrew <[email protected]>
Date:   Wed Nov 1 01:06:35 2023 -0400

    Adjust workload assignment policy

    Refer to https://github.com/AndyGrant/OpenBench/wiki/Workload-Assignment

commit 86d2c90
Author: andrew <[email protected]>
Date:   Sat Oct 21 00:25:33 2023 -0400

    Ethereal 14.25

commit 4ab3e0c
Author: andrew <[email protected]>
Date:   Fri Oct 20 18:28:23 2023 -0400

    Drop extra JSON layer on Config API responses

    No need to wrap in 'config' : {}

commit 1091b6b
Author: andrew <[email protected]>
Date:   Fri Oct 20 18:04:48 2023 -0400

    Don't insert keys into the config by mistake

    Should be a copy of the data

commit 5e62a4d
Author: andrew <[email protected]>
Date:   Fri Oct 20 16:10:19 2023 -0400

    Return None when getting download links for missing books

commit 4b054ba
Author: andrew <[email protected]>
Date:   Fri Oct 20 15:02:29 2023 -0400

    Remove python3.9+ features

    Removes very clean use of :=
    Removes use of .removesuffix()

    Runs locally with python3.6, and the requirements.txt

commit 957c042
Author: andrew <[email protected]>
Date:   Fri Oct 13 14:16:21 2023 -0400

    Adjust interim file names/paths to avoid conflicts

    Use the Engine-Sha or Engine-Sha-Sha format for intermediate steps, to avoid conflicts with existing files and directories

commit db12828
Author: andrew <[email protected]>
Date:   Thu Oct 12 19:03:47 2023 -0400

    Allow core-odds for hyperthreaded machines

    This is a temp. removal to test something. It will be replaced by more robust logic, which allows hyperthreaded machines to run core odds games, by first halving the number of cores, Ie forcing the worker to act as if it were started without dipping into HT

commit f35961e
Author: andrew <[email protected]>
Date:   Thu Sep 28 17:47:50 2023 -0400

    Fix test assignment for repeated tests

    If a test with higher prio comes in, the worker might never swap off their current test

commit 8e0aa6a
Author: andrew <[email protected]>
Date:   Mon Sep 25 22:04:54 2023 -0400

    Adjust default tune creation

    We've shown that high SMP is fine; remove the Worker Limit default
    We've shown that BULK counting might be a good idea; Swap from BATCH
    Lower prio from 1 to 0 to account for the Worker Limit removal

commit 3ef86ee
Author: Ciekce <[email protected]>
Date:   Tue Sep 26 02:52:28 2023 +0100

    Strip dots and underscores from ISA extension names (AndyGrant#174)

commit b6e2f0d
Author: andrew <[email protected]>
Date:   Mon Sep 25 21:43:40 2023 -0400

    Allow copying SPSA inputs/outputs more clearly

commit 358ced1
Author: andrew <[email protected]>
Date:   Mon Sep 25 20:47:30 2023 -0400

    Solve some of the html wrapping

commit f6886b7
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:57:13 2023 -0400

    Final fix for atomic updates

commit 3b18210
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:53:22 2023 -0400

    Ensure atomic updates for workloads

commit 36fc794
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:50:21 2023 -0400

    Better client output; Kick to v17

commit 9798654
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:41:48 2023 -0400

    Add workload_size ( pairs-per-point ) to display

commit 9c95b60
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:40:26 2023 -0400

    Fix a display bug for tests that look like sha commits

commit 7334ae4
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:37:28 2023 -0400

    Ensure the tune/test differentiation is correct

commit 9b29453
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:20:22 2023 -0400

    Network download link from test/tunne page

commit 3526e44
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:10:59 2023 -0400

    Book download link from test/tune page

commit 3cff04b
Author: andrew <[email protected]>
Date:   Mon Sep 25 17:00:05 2023 -0400

    Add some API endpoints

    Add:

    /api/config/ to display all engines, and all books
    /api/config/<engine>/ to display the config for a specific engine
    /api/networks/<engine>/ list all of the networks, and the default, for an engine
    /api/networks/<engine>/<sha|name>/ download a network, given the sha or the name

commit 7c3f4a7
Author: Andrew Grant <[email protected]>
Date:   Thu Sep 21 11:12:20 2023 -0400

    Some improvements to SPSA's CSS/HTML/JS (AndyGrant#173)

    Move the copy_text function to /static
    Record the original order of inputs for SPSA
    Display SPSA data in the original order ( if it exists )
    Format ints as ints instead of floats for Start/Min/Max
    Swap the Curr/Start column to clearly show the initial triplet
    Right align all of the SPSA stuff
    Change the copy button on Tunes to be the original SPSA Input

commit 81c5c9b
Author: andrew <[email protected]>
Date:   Wed Sep 20 12:48:07 2023 -0400

    Kick Client/Server to v16

commit 804b0a7
Author: Andrew Grant <[email protected]>
Date:   Wed Sep 20 12:46:02 2023 -0400

    Select Openings Better

    Refer to AndyGrant#168

commit ffb038b
Author: andrew <[email protected]>
Date:   Wed Sep 20 10:55:38 2023 -0400

    Fix tests stopping early due to pair logic

    Needed a 2x here

commit 37dfb58
Author: andrew <[email protected]>
Date:   Wed Sep 20 10:49:24 2023 -0400

    Kick Client/Server to v15

commit a17b5f8
Author: Andrew Grant <[email protected]>
Date:   Wed Sep 20 10:48:15 2023 -0400

    Add spsa_reporting_type and spsa_distribution_type (AndyGrant#170)

    Reporting Method (BATCHED vs BULK) for SPSA Tests
    Send everything at once, vs every time a pair finishes

    Distribution Method (SINGLE vs MULTIPLE) for SPSA Tests
    Give 1 parameter set; Give as many sets as we can

commit d1b354d
Author: andrew <[email protected]>
Date:   Tue Sep 19 16:12:36 2023 -0400

    Only diff the commits for SPSA tests

commit ef96dd4
Author: andrew <[email protected]>
Date:   Tue Sep 19 15:55:00 2023 -0400

    Allow min to equal max for SPSA tuning

    This is useful for the case where an array has known 0 values in it ; but you still want to tune the whole thing coherently

commit ef9d1ba
Author: andrew <[email protected]>
Date:   Tue Sep 19 14:58:50 2023 -0400

    Fix wrong use of test_mode types

    FIXED should have been GAMES

commit ee26738
Author: Andrew Grant <[email protected]>
Date:   Tue Sep 19 14:44:52 2023 -0400

    Implement SPSA for OpenBench (AndyGrant#169)

    * Support Worker and Thread Limits
    * Drop report_rate from the Client
    * Creation page
    * WIP for SPSA; Lots of code shuffling to clean it up
    * Able to create a Tune in the interface
    * Start to work on a display page for Tunes
    * Move all workload utilities to their own dir
    * Ignore config files going forward
    * Able to produce an SPSA test from the Server
    * Round integers with probabilities that make sense
    * Client side working
    * Report as results come in, don't wait
    * Fix workload size comment
    * Cleanup and fix Tune modifications
    * Adustment to random value in tuning
    * Delete engine configs

commit bc26be7
Author: andrew <[email protected]>
Date:   Tue Sep 12 06:59:40 2023 -0400

    Bugfix cross-engine play test mode selection

    If you attempt to set a test mode for the dev engine, which the base engine does not have, we produce errors. The only reason we need to check the base engine's understanding of the test mode is to set Base Options. We can fall back to the STC settings, since we already copy the Threads= and Hash= portion from the Dev options

commit 05be69c
Author: andrew <[email protected]>
Date:   Tue Sep 12 06:38:34 2023 -0400

    Resolves AndyGrant#167

commit 5d1ee29
Author: Alexandra <[email protected]>
Date:   Mon Sep 11 15:36:49 2023 +0100

    Add restore button to test view page (AndyGrant#164)

commit c0bedf6
Author: andrew <[email protected]>
Date:   Tue Sep 5 16:53:25 2023 -0400

    Add UHO_4060_v2.epd

    See:
    official-stockfish/books#33
    official-stockfish/books#34

commit 111cbea
Author: andrew <[email protected]>
Date:   Tue Sep 5 13:14:03 2023 -0400

    Default Timemargin of 250ms

    Grants a MoveOverhead baseline to reduce timelosses on noisy machines, in the event that the engine does not have its own internal MoveOverhead. This will mask timelosses on OpenBench, so be careful

commit ddaeed8
Author: andrew <[email protected]>
Date:   Thu Aug 31 04:16:37 2023 -0400

    Critical bug fix when setting test.errors

    Somehow in 10 years I've not yet encounted that in python the expression 3 or 3 evaluates to 3, and not True. This allowed for an attempt to save non-boolean values into the test.error field. Which produced seemingly infinite time losses on some tests I was running with some of the first versions of Torch to ever be on OpenBench.

    Also, don't report time loss PGNS back. No one cares about them, and flagging the tests is annoying.

commit 4116e79
Author: andrew <[email protected]>
Date:   Wed Aug 30 23:42:13 2023 -0400

    Explicitly pkill engine processes

    OpenBench spawns cutechess-ob(.exe), which can be killed.
    Engines are named Engine-GITSHA(-NETSHA), and can be killed.

    In theory, if you ran OpenBench at the same time as some other application, you could kill the wrong thing. But you would be ill advised to run an OpenBench Client while doing regular work on a machine. Likewise there is little to no reason to name your cutechess and engines in the same way as OpenBench.

    Resolves AndyGrant#162

commit a26e0f2
Author: andrew <[email protected]>
Date:   Wed Aug 30 01:22:24 2023 -0400

    Use base NPS when doing cross-engine play

    Creates a support for regression testing against a stable base, without dealing with variable NPS of the dev engine

commit 10a5d8d
Author: andrew <[email protected]>
Date:   Fri Aug 25 13:44:40 2023 -0400

    Clear up some of the dead space in 5-nomial

commit 4ed69d5
Author: andrew <[email protected]>
Date:   Mon Aug 21 18:52:02 2023 -0400

    Pentanomial SPRT as the default

commit 61625aa
Author: andrew <[email protected]>
Date:   Mon Aug 21 14:30:30 2023 -0400

    Fix a syntax warning in newer python versions

commit 8e5afa9
Author: andrew <[email protected]>
Date:   Mon Aug 21 14:28:38 2023 -0400

    Track pentanomial dist. in tests.

    By default, all tests will do this. If you are migrating an existing database, it would be advised to run the following code in the django shell...

    >>> from OpenBench.models import Test
    >>> Test.objects.all().update(use_tri=True, use_penta=False)

commit 7bf3c54
Author: andrew <[email protected]>
Date:   Fri Aug 18 13:17:19 2023 -0400

    Date formatting on searches

commit f76de2b
Author: andrew <[email protected]>
Date:   Fri Aug 18 13:09:26 2023 -0400

    Improve Searching

    Fix ordering of searches to be most-recent first
    Fix for fixed-game tests not matching due to wrong arguments
    Display datestamps for searched tests
    Modify base template block to drop the <tr> tags

commit a1f8efb
Author: Andrew Grant <[email protected]>
Date:   Fri Aug 18 12:45:42 2023 -0400

    Report all errors after workload is finished (AndyGrant#155)

    Upon completion of the workload, parse all newly created PGN files for errors. We identify these by the Termination header. Any errors found are reported to the server.

    Modify the PGN naming scheme to be more versatile; Name them as <test-id>.<result-id>.<cutechess-seed>.pgn. This makes it more easy to identify PGNs and their association with tests, if someone were to look at the raw files.

    Commit some code, partially based on Kimmy's efforts, which will help process PGNs without the use of python-chess' PGN libs, which are far too slow.

    Cleanup some interfaces which had far too much information on them

    Delete some very ancient auto-approving code that only applied to the cross-approval case. Frankly no one is running OpenBench instances with cross-approval.

    Display both the base and dev NPS on the machines page

commit 3e939c3
Author: andrew <[email protected]>
Date:   Wed Aug 16 09:21:23 2023 -0400

    Make sure currentllr is updated

commit 2d656a2
Author: andrew <[email protected]>
Date:   Wed Aug 16 09:18:09 2023 -0400

    Fix variable names for SPRT updates

commit d32761c
Author: Andrew Grant <[email protected]>
Date:   Wed Aug 16 08:02:56 2023 -0400

    Overhaul Client Reporting mechanism (AndyGrant#153)

    Collects results as game-pairs, instead of as individual results. This removes some noise and bias that may have existed prior.

    The master thread now handles all reporting to the OpenBench server. Help threads, ( one for each --nsockets or -N ), will place their results in a multiprocessing.Queue().

    We will report report_rate-pairs at a time. However we will only report up to once every 30 seconds. This means we might batch report many many games at a time. This acts as a natural remedy to if someone were to have created an insanely short time control, or low nodes test. This will cause fixed-game tests to go over the cap. IE, a 40,000 game test is very likely to receive a small number of games above 40,000. Fixing these seems non-trivial, and also not important.

    The Client also sends Pentanomial information to the server now. This information is not acted upon.

    This involved a complete rewrite of how data (trinomial) information is extracted from Cutechess. It is predicated upon the assertion that cutechess pairs are sequential. IE, pair one will be game 1/2. Pair two will be games 3/4. Etc. This is the fundemental assertion that is in Fishtest, although very confusing to extract from observation.

    Resolves an issue where the worker threads, spawned to run benchmarks, were not being killed, as .start() was not followed by a .join().

    Makes more cleanly aborting threads, by explicitly murdering them with an abort_flag from threading.Event(). This speeds up killing workers that have multi-sockets. It also helps further protect us against Cutechess being left open.

    Performs atomic transactions with the database for tests. This is critical for dealing with future SPSA efforts. Updates to Profile, individual Result, and Machine, are left as is. This is because Model.objects.filter().update() is atomic, and the contents of Results are hit by only 1-thread at a time, and Profile/Machine's updates do not matter.

    Resolves AndyGrant#144 and then some.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant