dshawul / Scorpio

Scorpio chess engine
Other
84 stars 18 forks source link

v2.9.0 MCTS crashes #6

Closed tpoppins closed 3 years ago

tpoppins commented 5 years ago

PGN:

[Event "?"]
[Site "?"]
[Date "2019.01.20"]
[Round "?"]
[White "admin"]
[Black "Scorpio 2.9.0 64-bit MCTS"]
[Result "1-0"]
[ECO "B40"]
[GameDuration "00:01:28"]
[GameEndTime "2019-01-20T10:39:01.173 Eastern Standard Time"]
[GameStartTime "2019-01-20T10:37:32.699 Eastern Standard Time"]
[Opening "Sicilian defense"]
[PlyCount "13"]
[Termination "abandoned"]
[TimeControl "40/1260"]

1. e4 {book} c5 {book} 2. Nf3 {book} e6 {book} 3. c3 {book} d5 {book}
4. exd5 {book} Qxd5 {book} 5. d4 {book} Nf6 {book} 6. Be2 {book} cxd4 {book}
7. cxd4 {Black disconnects} 1-0

WER log

Faulting application name: scorpio-290.exe, version: 0.0.0.0, time stamp: 0x00000000
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0000000000000000
Faulting process id: 0x1060
Faulting application start time: 0x01d4b0d60f1c3788
Faulting application path: C:\Program Files\ChessBase\Engines.x64\subdir\Scorpio\290mcts\scorpio-290.exe
Faulting module path: unknown
Report Id: 73a75171-1cc9-11e9-a6fd-002713cab278

Debug log (note the "unknown command" errors):

<Scorpio 2.9.0 64-bit MCTS(136): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS(136): loading_time = 0s
<Scorpio 2.9.0 64-bit MCTS(136): feature name=1 myname="Scorpio_2.9.0 MCTS+NN"
>Scorpio 2.9.0 64-bit MCTS(136): accepted name
>Scorpio 2.9.0 64-bit MCTS(136): accepted myname
<Scorpio 2.9.0 64-bit MCTS(136): feature sigint=0 sigterm=0
>Scorpio 2.9.0 64-bit MCTS(136): rejected sigint
>Scorpio 2.9.0 64-bit MCTS(136): rejected sigterm
<Scorpio 2.9.0 64-bit MCTS(136): feature setboard=1 draw=0 colors=0
>Scorpio 2.9.0 64-bit MCTS(136): accepted setboard
>Scorpio 2.9.0 64-bit MCTS(136): rejected draw
>Scorpio 2.9.0 64-bit MCTS(136): rejected colors
<Scorpio 2.9.0 64-bit MCTS(136): feature smp=0 memory=0
>Scorpio 2.9.0 64-bit MCTS(136): accepted smp
>Scorpio 2.9.0 64-bit MCTS(136): accepted memory
<Scorpio 2.9.0 64-bit MCTS(136): feature option="log -check 0"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="clear_hash -button"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="resign -spin 1200 100 30000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="cores -spin 1 1 4096"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="ht -spin 512 1 131072"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="eht -spin 8 1 16384"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="pht -spin 1 1 256"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="egbb_path -path e:\scorpio\"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="nn_path -path net-6x64.pb"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="egbb_cache_size -spin 32 1 16384"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="egbb_load_type -spin 3 0 3"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="egbb_depth_limit -spin 6 0 64"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="egbb_ply_limit_percent -spin 75 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="n_devices -spin 1 1 128"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="device_type -combo *CPU /// GPU "
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="delay -spin 0 0 1000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="float_type -combo FLOAT /// *HALF  /// INT8 "
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="nn_type -spin 0 0 10"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="smp_type -combo *YBW /// ABDADA /// SHT "
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="smp_depth -spin 8 1 10"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="use_singular -check 1"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="use_probcut -check 0"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="singular_margin -spin 32 0 1000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="probcut_margin -spin 195 0 1000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="aspiration_window -spin 10 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="cpuct_init -spin 125 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="cpuct_base -spin 19652 0 100000000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="policy_temp -spin 200 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="fpu_red -spin 60 -100 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="fpu_is_loss -check 1"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="reuse_tree -check 1"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="backup_type -combo *MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="frac_alphabeta -spin 0 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="frac_freeze_tree -spin 100 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="frac_abrollouts -spin 20 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="frac_abprior -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="frac_width -spin 100 0 1000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="mcts_strategy_depth -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="alphabeta_depth -spin 16 1 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="evaluate_depth -spin 0 -4 100"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="virtual_loss -spin 3 0 1000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="visit_threshold -spin 8000 0 1000000"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="montecarlo -check 1"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature option="treeht -spin 12799 0 131072"
>Scorpio 2.9.0 64-bit MCTS(136): accepted option
<Scorpio 2.9.0 64-bit MCTS(136): feature done=1
>Scorpio 2.9.0 64-bit MCTS(136): accepted done
>Scorpio 2.9.0 64-bit MCTS(136): option alphabeta_depth=16
>Scorpio 2.9.0 64-bit MCTS(136): option aspiration_window=10
>Scorpio 2.9.0 64-bit MCTS(136): option backup_type=MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT
>Scorpio 2.9.0 64-bit MCTS(136): cores 1
>Scorpio 2.9.0 64-bit MCTS(136): option cpuct_base=19652
>Scorpio 2.9.0 64-bit MCTS(136): option delay=0
>Scorpio 2.9.0 64-bit MCTS(136): option device_type=CPU
>Scorpio 2.9.0 64-bit MCTS(136): option egbb_cache_size=32
>Scorpio 2.9.0 64-bit MCTS(136): option egbb_depth_limit=6
>Scorpio 2.9.0 64-bit MCTS(136): option egbb_load_type=3
>Scorpio 2.9.0 64-bit MCTS(136): option egbb_path=e:\scorpio
>Scorpio 2.9.0 64-bit MCTS(136): option egbb_ply_limit_percent=75
>Scorpio 2.9.0 64-bit MCTS(136): option eht=8
>Scorpio 2.9.0 64-bit MCTS(136): option evaluate_depth=0
>Scorpio 2.9.0 64-bit MCTS(136): option float_type=HALF 
>Scorpio 2.9.0 64-bit MCTS(136): option fpu_is_loss=1
>Scorpio 2.9.0 64-bit MCTS(136): option fpu_red=60
>Scorpio 2.9.0 64-bit MCTS(136): option frac_abprior=30
>Scorpio 2.9.0 64-bit MCTS(136): option frac_abrollouts=20
>Scorpio 2.9.0 64-bit MCTS(136): option frac_alphabeta=0
>Scorpio 2.9.0 64-bit MCTS(136): option frac_freeze_tree=100
>Scorpio 2.9.0 64-bit MCTS(136): option frac_width=100
>Scorpio 2.9.0 64-bit MCTS(136): option ht=512
>Scorpio 2.9.0 64-bit MCTS(136): option log=0
>Scorpio 2.9.0 64-bit MCTS(136): option mcts_strategy_depth=30
>Scorpio 2.9.0 64-bit MCTS(136): option montecarlo=1
>Scorpio 2.9.0 64-bit MCTS(136): option n_devices=1
>Scorpio 2.9.0 64-bit MCTS(136): option nn_path=net-6x64.pb
>Scorpio 2.9.0 64-bit MCTS(136): option nn_type=0
>Scorpio 2.9.0 64-bit MCTS(136): option pht=1
>Scorpio 2.9.0 64-bit MCTS(136): option probcut_margin=195
>Scorpio 2.9.0 64-bit MCTS(136): option resign=1200
>Scorpio 2.9.0 64-bit MCTS(136): option reuse_tree=1
>Scorpio 2.9.0 64-bit MCTS(136): option singular_margin=32
>Scorpio 2.9.0 64-bit MCTS(136): option smp_depth=8
>Scorpio 2.9.0 64-bit MCTS(136): option smp_type=YBW
>Scorpio 2.9.0 64-bit MCTS(136): option treeht=12799
>Scorpio 2.9.0 64-bit MCTS(136): option use_probcut=0
>Scorpio 2.9.0 64-bit MCTS(136): option use_singular=1
>Scorpio 2.9.0 64-bit MCTS(136): option virtual_loss=3
>Scorpio 2.9.0 64-bit MCTS(136): option visit_threshold=8000
>Scorpio 2.9.0 64-bit MCTS(136): new
>Scorpio 2.9.0 64-bit MCTS(136): force
>Scorpio 2.9.0 64-bit MCTS(136): level 40 21 0
>Scorpio 2.9.0 64-bit MCTS(136): post
>Scorpio 2.9.0 64-bit MCTS(136): easy
>Scorpio 2.9.0 64-bit MCTS(136): name admin
>Scorpio 2.9.0 64-bit MCTS(136): e2e4
>Scorpio 2.9.0 64-bit MCTS(136): c7c5
>Scorpio 2.9.0 64-bit MCTS(136): g1f3
>Scorpio 2.9.0 64-bit MCTS(136): e7e6
>Scorpio 2.9.0 64-bit MCTS(136): c2c3
>Scorpio 2.9.0 64-bit MCTS(136): d7d5
>Scorpio 2.9.0 64-bit MCTS(136): e4d5
>Scorpio 2.9.0 64-bit MCTS(136): d8d5
>Scorpio 2.9.0 64-bit MCTS(136): d2d4
>Scorpio 2.9.0 64-bit MCTS(136): g8f6
>Scorpio 2.9.0 64-bit MCTS(136): f1e2
>Scorpio 2.9.0 64-bit MCTS(136): c5d4
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): aspiration_window
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): 10
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): aVeRaGE
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): mIx
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): mInMaX_MEM
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): aVeRaGE_MEM
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): mIx_mEM
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): cLaSsIC
<Scorpio 2.9.0 64-bit MCTS(136): Error (unknown command): mIx_vISIT
<Scorpio 2.9.0 64-bit MCTS(136): processors [1]
<Scorpio 2.9.0 64-bit MCTS(136): eht 524288 X 8 = 8.0 MB
<Scorpio 2.9.0 64-bit MCTS(136): ht 33554432 X 16 = 512.0 MB
<Scorpio 2.9.0 64-bit MCTS(136): pht 32768 X 24 = 0.8 MB
<Scorpio 2.9.0 64-bit MCTS(136): treeht 335512986 X 40 = 12798.8 MB
<Scorpio 2.9.0 64-bit MCTS(136): EgbbProbe 4.1 by Daniel Shawul
<Scorpio 2.9.0 64-bit MCTS(136): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS(136): loading_time = 0s
<Scorpio 2.9.0 64-bit MCTS(136): Hello admin!
>Scorpio 2.9.0 64-bit MCTS(136): c3d4
>Scorpio 2.9.0 64-bit MCTS(136): time 126000
otim 126000
>Scorpio 2.9.0 64-bit MCTS(136): go
<Scorpio 2.9.0 64-bit MCTS(136): # Searching root moves with alpha-beta
<Scorpio 2.9.0 64-bit MCTS(136): # Finished with depth 23 in 23357ms
<Scorpio 2.9.0 64-bit MCTS(136): # [st = 69020ms, mt = 617571ms , hply = 13 , moves_left 34]

scorpio.ini

#############################################
# log on/off   - turn logging on and off
# resign       - resign value in centipawns
#############################################
log                 off
resign              1200
##################################################################
# Hashtable sizes in mb.
#      ht - main hash table shared by ALL threads
#     eht - evalualtion hash table allocated PER thread
#     pht - pawn hash table allocated PER thread
# Usually 1m or 2mb is enough for pawn hash table, but the others
# can be set as high as possible
##################################################################
ht                  512
eht                 8
pht                 1
##################################################################
# montecarlo - Use montecarlo tree search (MCTS) if set to 1
# treeht - Maximum size of tree to store in memory given in MB.
#          Note that this memory is not allocated at start up; it only
#          specifies the maximum limit the tree could grow to.
#          Note: Don't think you are making scorpio weak by not setting
#          this memory to high value, infact treeht=0 is the strongest 
#          MCTS setting.
# frac_freeze_tree    [0 - 100] - freeze tree after this percentage of time is spent
# frac_alphabeta      [0 - 100] - use alpha-beta search this percent of the time
# frac_abrollouts     [0 - 100] - use alpha-beta rollouts search this percent of the time
# frac_width          [0 - 1e3] - determines amount of progressive widening
# mcts_strategy_depth [0 - 64]  - Lookahead depth for MCTS rollouts
# alphabeta_depth     [0 - 64]  - Fixed search depth for standard alphabeta searches at the leaves
# evaluate_depth      [-4 - 64]  - Fixed search depth for evaluation of new children during expansion 
#                                (-4=eval,-3=see,-2=recap qsearch,-1=no-checks qsearch 0=qsearch,x=search)
# backup_type         [0 - 7]   - minmax = 0, averaging = 1, mixed = 2, for mixing score with 
#                                 previous ID use 3,4,5 resp. 6 is classic MCTS, 7 is mixing by visit count
# reuse_tree                    - reuse MCTS tree between moves
# virtual_loss                  - virtual loss for parallel search
# visit_threshold               - minimum number of visits for minimax backup
# policy_temp                   - Temperature for move policy
# cpuct_init                    - Starting cpuct value
# cpuct_base                    - Denominator of cpuct forumula
# fpu_is_loss                   - FPU is loss (1=true, 0=false)
# fpu_red                       - Reduction factor for FPU
##################################################################
montecarlo          1
treeht              12800
frac_freeze_tree    100
frac_alphabeta      0
frac_abrollouts     20
frac_abprior        30
frac_width          100
mcts_strategy_depth 30
alphabeta_depth     16
evaluate_depth      0
backup_type         7
reuse_tree          1
virtual_loss        3
visit_threshold     8000
policy_temp         200
cpuct_init          125
cpuct_base          19652
fpu_is_loss         1
fpu_red             60
#############################################################################
# Parallel search setup
#   mt            - number of processors
#   smp_depth     - split depth for smp
#   cluster_depth - split depth for cluster search
#   message_poll_nodes - number nodes to search before checking for message
#############################################################################
mt                  1
smp_depth           8
cluster_depth       12
message_poll_nodes  20
smp_type            YBW
cluster_type        YBW 
##########################################################################
# EGBB
# egbb_path              - path to endgame egbbs 
# egbb_cache_size        - cache size for egbbs
# egbb_ply_limit_percent - percent of plies from the root to egbb probing
# egbb_depth_limit       - depth from the leaves to egbb probing
# egbb_load_type         - egbb load type with the following values
#                    0 = none are loaded
#                    1 = all 3/4 men are loaded
#                    2 = Not implemented yet
#                    3 = all 5 men are loaded
##########################################################################
egbb_path                e:\scorpio\
egbb_cache_size          32
egbb_load_type           3
egbb_depth_limit         6
#######################################
# NN
# use_nn                 - turn off/on neural network
# nn_path                - path to neural network
# nn_type                - type of neural network (0=scorpio, 1=lczero)
# device_type            - CPU or GPU
# delay                  - Sleep threads for this amount. Set this to 1
#                          if you are using way too many threads than you
#                          have physical cores (maybe when >16x more).
# float_type             - inference precison for tensorrt = FLOAT/HALF/INT8
#######################################
use_nn                   1
nn_type                  0
nn_path                  net-6x64.pb
device_type              CPU
n_devices                1
delay                    0
float_type               HALF

Dual Xeon X5670 @2.93 GHz, 12-core, HT off, 48 GB RAM, Win 7 x64 SP1 Dual Xeon E5-2670 @2.6 GHz, 16-core, HT off, 32 GB RAM, Win 7 x64 SP1 Cute Chess GUI v1.1.0

The first Scorpio release out of the many I tested (including v2.8.5 MCTS) that is guaranteed to crash 100%.

Tirsa@CCRL

dshawul commented 5 years ago

If you don't want to use neural networks, you need to turn off use_nn 0 The default ini file assumes you are going to use neural networks.

tpoppins commented 5 years ago

Why would I not want to use NNs if use_nn is 1 by default? We test with most settings at default.

dshawul commented 5 years ago

Well if you want to use neural networks, you need to download and use the correct egbbdll (for CPU or GPU). Setting up on the CPU should be straightforward replacement of the egbbdlls, which on the GPU you need to set the PATH enviroment variable. From looking at the log files, I can tell it is not loading a NN -- which is why I assumed that you are not interested in using NN. This is probably because you are using older egbbdlls without NN support. You should get a message like "Loading neural networks" as shown https://github.com/dshawul/Scorpio#testing-on-the-cpu

tpoppins commented 5 years ago

Right, Daniel, the v4.1 CPU egbbdll I had in e:\scorpio (home to the 5-men EGBB set) was old; however I cannot say that replacing it with the one listed as part of the v2.9.0 MCTS release changed things for the better.

With the v4.3 egbbdll64.dll (53 MB, CRC-32: B279D7B1) Scorpio does not even complete the initialization stage before crashing:

<Scorpio 2.9.0 64-bit MCTS(278): feature done=0
>Scorpio 2.9.0 64-bit MCTS(278): accepted done
<Scorpio 2.9.0 64-bit MCTS(278): ht 33554432 X 16 = 512.0 MB
<Scorpio 2.9.0 64-bit MCTS(278): eht 524288 X 8 = 8.0 MB
<Scorpio 2.9.0 64-bit MCTS(278): pht 32768 X 24 = 0.8 MB
<Scorpio 2.9.0 64-bit MCTS(278): treeht 335539200 X 40 = 12799.8 MB
<Scorpio 2.9.0 64-bit MCTS(278): processors [1]
<Scorpio 2.9.0 64-bit MCTS(278): EgbbProbe 4.3 by Daniel Shawul
<Scorpio 2.9.0 64-bit MCTS(278): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS(278): Loading neural network : net-6x64.pb
<Scorpio 2.9.0 64-bit MCTS(278): Loading graph on /cpu:0

At this point it crashes with this error logged in Event Log:

Faulting application name: scorpio-290.exe, version: 0.0.0.0, time stamp: 0x00000000
Faulting module name: ucrtbase.DLL, version: 10.0.14393.2247, time stamp: 0x5adc1d0b
Exception code: 0x40000015
Fault offset: 0x000000000006eacf
Faulting process id: 0x14cc
Faulting application start time: 0x01d4b12b7e3467f4
Faulting application path: C:\Program Files\ChessBase\Engines.x64\subdir\Scorpio\290mcts\scorpio-290.exe
Faulting module path: C:\Windows\system32\ucrtbase.DLL
Report Id: bd6ef642-1d1e-11e9-a6fd-002713cab278

As a sanity check, I tried running Scorpio v2.8 to see if the latest egbbdll64.dll was the culprit. Nope, v2.8 seems to run fine with it.

dshawul commented 5 years ago

Tested it on windows machines and it works for me. Could you check if the egbbdll64.dll has all the dependencies that it needs? The dependencies for the CPU are all windows libs, while for the GPU tensorrt/cudnn/cuda libs are required.

Also, is the network (net-6x64.pb) in the same directory as the scorpio executable ?

tpoppins commented 5 years ago

The egbbdll64.dll works with v2.8, as well as with v2.9.0 MCTS with "use_nn 0".

I sorted out the init problem: the .pb file was from a previous release. I would question the wisdom of not versioning at least the archives if not the files within, but let's not digress. This net-6x64.pb is dated Jan 18 and is loaded OK at startup:

<Scorpio 2.9.0 64-bit MCTS(6): feature done=0
>Scorpio 2.9.0 64-bit MCTS(6): accepted done
<Scorpio 2.9.0 64-bit MCTS(6): ht 4194304 X 16 = 64.0 MB
<Scorpio 2.9.0 64-bit MCTS(6): eht 524288 X 8 = 8.0 MB
<Scorpio 2.9.0 64-bit MCTS(6): pht 32768 X 24 = 0.8 MB
<Scorpio 2.9.0 64-bit MCTS(6): treeht 335539200 X 40 = 12799.8 MB
<Scorpio 2.9.0 64-bit MCTS(6): processors [16]
<Scorpio 2.9.0 64-bit MCTS(6): EgbbProbe 4.3 by Daniel Shawul
<Scorpio 2.9.0 64-bit MCTS(6): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS(6): Loading neural network : nets-ccrl-cegt\net-6x64.pb
<Scorpio 2.9.0 64-bit MCTS(6): Loading graph on /cpu:0
<Scorpio 2.9.0 64-bit MCTS(6): Neural network loaded !  
<Scorpio 2.9.0 64-bit MCTS(6): loading_time = 0s

However, once the engine and the GUI go through the Xboard init routine and Scorpio receives the book moves it attempts to load the EGBBs and the NN again. Success with the EGBBs, crash with the NN:

(log continued immediately after the "<Scorpio 2.9.0 64-bit MCTS(6): loading_time = 0s" line given above)

<Scorpio 2.9.0 64-bit MCTS(6): feature name=1 myname="Scorpio_2.9.0 MCTS+NN"
>Scorpio 2.9.0 64-bit MCTS(6): accepted name
>Scorpio 2.9.0 64-bit MCTS(6): accepted myname
<Scorpio 2.9.0 64-bit MCTS(6): feature sigint=0 sigterm=0
>Scorpio 2.9.0 64-bit MCTS(6): rejected sigint
>Scorpio 2.9.0 64-bit MCTS(6): rejected sigterm
<Scorpio 2.9.0 64-bit MCTS(6): feature setboard=1 draw=0 colors=0
>Scorpio 2.9.0 64-bit MCTS(6): accepted setboard
>Scorpio 2.9.0 64-bit MCTS(6): rejected draw
>Scorpio 2.9.0 64-bit MCTS(6): rejected colors
<Scorpio 2.9.0 64-bit MCTS(6): feature smp=0 memory=0
>Scorpio 2.9.0 64-bit MCTS(6): accepted smp
>Scorpio 2.9.0 64-bit MCTS(6): accepted memory
<Scorpio 2.9.0 64-bit MCTS(6): feature option="log -check 0"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="clear_hash -button"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="resign -spin 800 100 30000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="cores -spin 1 1 4096"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="ht -spin 64 1 131072"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="eht -spin 8 1 16384"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="pht -spin 1 1 256"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="egbb_path -path e:\scorpio\"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="nn_path -path nets-ccrl-cegt\net-6x64.pb"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="egbb_cache_size -spin 32 1 16384"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="egbb_load_type -spin 3 0 3"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="egbb_depth_limit -spin 6 0 64"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="egbb_ply_limit_percent -spin 75 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="n_devices -spin 1 1 128"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="device_type -combo *CPU /// GPU "
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="delay -spin 0 0 1000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="float_type -combo FLOAT /// *HALF  /// INT8 "
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="nn_type -spin 0 0 10"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="smp_type -combo *YBW /// ABDADA /// SHT "
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="smp_depth -spin 8 1 10"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="use_singular -check 1"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="use_probcut -check 0"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="singular_margin -spin 32 0 1000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="probcut_margin -spin 195 0 1000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="aspiration_window -spin 10 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="cpuct_init -spin 125 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="cpuct_base -spin 19652 0 100000000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="policy_temp -spin 200 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="fpu_red -spin 60 -100 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="fpu_is_loss -check 1"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="reuse_tree -check 1"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="backup_type -combo *MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="frac_alphabeta -spin 0 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="frac_freeze_tree -spin 100 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="frac_abrollouts -spin 20 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="frac_abprior -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="frac_width -spin 100 0 1000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="mcts_strategy_depth -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="alphabeta_depth -spin 16 1 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="evaluate_depth -spin 0 -4 100"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="virtual_loss -spin 3 0 1000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="visit_threshold -spin 8000 0 1000000"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="montecarlo -check 1"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature option="treeht -spin 12799 0 131072"
>Scorpio 2.9.0 64-bit MCTS(6): accepted option
<Scorpio 2.9.0 64-bit MCTS(6): feature done=1
>Scorpio 2.9.0 64-bit MCTS(6): accepted done
>Scorpio 2.9.0 64-bit MCTS(6): option alphabeta_depth=16
>Scorpio 2.9.0 64-bit MCTS(6): option aspiration_window=10
>Scorpio 2.9.0 64-bit MCTS(6): option backup_type=MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT
>Scorpio 2.9.0 64-bit MCTS(6): cores 1
>Scorpio 2.9.0 64-bit MCTS(6): option cpuct_base=19652
>Scorpio 2.9.0 64-bit MCTS(6): option delay=0
>Scorpio 2.9.0 64-bit MCTS(6): option device_type=CPU
>Scorpio 2.9.0 64-bit MCTS(6): option egbb_cache_size=32
>Scorpio 2.9.0 64-bit MCTS(6): option egbb_depth_limit=6
>Scorpio 2.9.0 64-bit MCTS(6): option egbb_load_type=3
>Scorpio 2.9.0 64-bit MCTS(6): option egbb_path=e:\scorpio\
>Scorpio 2.9.0 64-bit MCTS(6): option egbb_ply_limit_percent=75
>Scorpio 2.9.0 64-bit MCTS(6): option eht=8
>Scorpio 2.9.0 64-bit MCTS(6): option evaluate_depth=0
>Scorpio 2.9.0 64-bit MCTS(6): option float_type=HALF 
>Scorpio 2.9.0 64-bit MCTS(6): option fpu_is_loss=1
>Scorpio 2.9.0 64-bit MCTS(6): option fpu_red=60
>Scorpio 2.9.0 64-bit MCTS(6): option frac_abprior=30
>Scorpio 2.9.0 64-bit MCTS(6): option frac_abrollouts=20
>Scorpio 2.9.0 64-bit MCTS(6): option frac_alphabeta=0
>Scorpio 2.9.0 64-bit MCTS(6): option frac_freeze_tree=100
>Scorpio 2.9.0 64-bit MCTS(6): option frac_width=100
>Scorpio 2.9.0 64-bit MCTS(6): option ht=512
>Scorpio 2.9.0 64-bit MCTS(6): option log=0
>Scorpio 2.9.0 64-bit MCTS(6): option mcts_strategy_depth=30
>Scorpio 2.9.0 64-bit MCTS(6): option montecarlo=1
>Scorpio 2.9.0 64-bit MCTS(6): option n_devices=1
>Scorpio 2.9.0 64-bit MCTS(6): option nn_type=0
>Scorpio 2.9.0 64-bit MCTS(6): option pht=1
>Scorpio 2.9.0 64-bit MCTS(6): option probcut_margin=195
>Scorpio 2.9.0 64-bit MCTS(6): option resign=1200
>Scorpio 2.9.0 64-bit MCTS(6): option reuse_tree=1
>Scorpio 2.9.0 64-bit MCTS(6): option singular_margin=32
>Scorpio 2.9.0 64-bit MCTS(6): option smp_depth=8
>Scorpio 2.9.0 64-bit MCTS(6): option smp_type=YBW
>Scorpio 2.9.0 64-bit MCTS(6): option treeht=12799
>Scorpio 2.9.0 64-bit MCTS(6): option use_probcut=0
>Scorpio 2.9.0 64-bit MCTS(6): option use_singular=1
>Scorpio 2.9.0 64-bit MCTS(6): option virtual_loss=3
>Scorpio 2.9.0 64-bit MCTS(6): option visit_threshold=8000
>Scorpio 2.9.0 64-bit MCTS(6): new
>Scorpio 2.9.0 64-bit MCTS(6): force
>Scorpio 2.9.0 64-bit MCTS(6): level 40 21 0
>Scorpio 2.9.0 64-bit MCTS(6): post
>Scorpio 2.9.0 64-bit MCTS(6): easy
>Scorpio 2.9.0 64-bit MCTS(6): name admin
>Scorpio 2.9.0 64-bit MCTS(6): d2d4
>Scorpio 2.9.0 64-bit MCTS(6): g8f6
>Scorpio 2.9.0 64-bit MCTS(6): c2c4
>Scorpio 2.9.0 64-bit MCTS(6): c7c5
>Scorpio 2.9.0 64-bit MCTS(6): d4d5
>Scorpio 2.9.0 64-bit MCTS(6): b7b5
>Scorpio 2.9.0 64-bit MCTS(6): g1f3
>Scorpio 2.9.0 64-bit MCTS(6): g7g6
>Scorpio 2.9.0 64-bit MCTS(6): a2a4
>Scorpio 2.9.0 64-bit MCTS(6): b5c4
>Scorpio 2.9.0 64-bit MCTS(6): b1c3
>Scorpio 2.9.0 64-bit MCTS(6): f8g7
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): aspiration_window
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): 10
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): aVeRaGE
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): mIx
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): mInMaX_MEM
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): aVeRaGE_MEM
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): mIx_mEM
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): cLaSsIC
<Scorpio 2.9.0 64-bit MCTS(6): Error (unknown command): mIx_vISIT
<Scorpio 2.9.0 64-bit MCTS(6): processors [1]
<Scorpio 2.9.0 64-bit MCTS(6): eht 524288 X 8 = 8.0 MB
<Scorpio 2.9.0 64-bit MCTS(6): ht 33554432 X 16 = 512.0 MB
<Scorpio 2.9.0 64-bit MCTS(6): pht 32768 X 24 = 0.8 MB
<Scorpio 2.9.0 64-bit MCTS(6): treeht 335512986 X 40 = 12798.8 MB
<Scorpio 2.9.0 64-bit MCTS(6): EgbbProbe 4.3 by Daniel Shawul
<Scorpio 2.9.0 64-bit MCTS(6): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS(6): Loading neural network : nets-ccrl-cegt\net-6x64.pb

I think this is where the problem lies.

This could take a while to fix, in the meantime we could test v2.9.0 MCTS with "use_nn 0". Do you think the changes since v2.8.5 MCTS minus the NNs are worth it?

tpoppins commented 5 years ago

Here's the error entry in Event Log for the crash in the previous post:

Faulting application name: scorpio-290.exe, version: 0.0.0.0, time stamp: 0x00000000
Faulting module name: egbbdll64.dll, version: 0.0.0.0, time stamp: 0x5c01bfe0
Exception code: 0xc0000005
Fault offset: 0x0000000000199000
Faulting process id: 0x2f74
Faulting application start time: 0x01d4b1ff8149a7da
Faulting application path: C:\Program Files\ChessBase\Engines.x64\subdir\Scorpio\290mcts\scorpio-290.exe
Faulting module path: e:\scorpio\egbbdll64.dll
Report Id: bfa21384-1df2-11e9-a6fd-002713cab278

BTW, when you said "works for me" did you mean that you managed to get it to play vs. other engines under a GUI?

tpoppins commented 5 years ago

Update: I got the latest files dated Feb 22 and ran into the same issue.

I think I figured out the immediate cause: Scorpio loads the EGBBs and the NN on startup as per settings in the .ini file. Then when it receives '"xboard" and "protover 2" from the GUI it replies with its "feature" command and attempts to load the EGBBs and the NN a second time. The EGBBs load but the NN doesn't and Scorpio crashes, producing a "disconnect" message from the GUI.

If I rename scorpio.ini Scorpio doesn't load anything on startup and the EGBBs and the NN load successfully:

<Scorpio 2.9.0 64-bit MCTS+NN(987): feature done=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted done
<Scorpio 2.9.0 64-bit MCTS+NN(987): Scorpio.ini not found!
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature name=1 myname="Scorpio_2.9.0 MCTS+NN"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted name
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted myname
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature sigint=0 sigterm=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): rejected sigint
>Scorpio 2.9.0 64-bit MCTS+NN(987): rejected sigterm
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature setboard=1 draw=0 colors=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted setboard
>Scorpio 2.9.0 64-bit MCTS+NN(987): rejected draw
>Scorpio 2.9.0 64-bit MCTS+NN(987): rejected colors
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature smp=0 memory=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted smp
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted memory
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="log -check 0"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="clear_hash -button"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="resign -spin 600 100 30000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="cores -spin 1 1 4096"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="ht -spin 64 1 131072"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="eht -spin 8 1 16384"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="pht -spin 1 1 256"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="egbb_path -path egbb/"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="nn_path -path nets/"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="egbb_cache_size -spin 16 1 16384"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="egbb_load_type -spin 1 0 3"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="egbb_depth_limit -spin 3 0 64"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="egbb_ply_limit_percent -spin 75 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="n_devices -spin 1 1 128"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="device_type -combo *CPU /// GPU "
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="delay -spin 0 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="float_type -combo FLOAT /// *HALF  /// INT8 "
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="nn_type -spin 0 0 10"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="smp_type -combo *YBW /// ABDADA /// SHT "
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="smp_depth -spin 4 1 10"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="use_singular -check 1"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="use_probcut -check 0"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="singular_margin -spin 32 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="probcut_margin -spin 195 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="aspiration_window -spin 10 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="cpuct_init -spin 125 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="cpuct_base -spin 19652 0 100000000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="policy_temp -spin 200 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="fpu_red -spin 20 -1000 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="fpu_is_loss -check 1"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="reuse_tree -check 1"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="backup_type -combo *MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="frac_alphabeta -spin 100 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="frac_freeze_tree -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="frac_abrollouts -spin 20 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="frac_abprior -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="frac_width -spin 100 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="mcts_strategy_depth -spin 30 0 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="alphabeta_depth -spin 1 1 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="evaluate_depth -spin 0 -4 100"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="virtual_loss -spin 3 0 1000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="visit_threshold -spin 800 0 1000000"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="montecarlo -check 0"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature option="treeht -spin 0 0 131072"
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted option
<Scorpio 2.9.0 64-bit MCTS+NN(987): feature done=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): accepted done
>Scorpio 2.9.0 64-bit MCTS+NN(987): option alphabeta_depth=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option aspiration_window=10
>Scorpio 2.9.0 64-bit MCTS+NN(987): option backup_type=MINMAX AVERAGE MIX MINMAX_MEM AVERAGE_MEM MIX_MEM CLASSIC MIX_VISIT
>Scorpio 2.9.0 64-bit MCTS+NN(987): cores 1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option cpuct_base=19652
>Scorpio 2.9.0 64-bit MCTS+NN(987): option cpuct_init=125
>Scorpio 2.9.0 64-bit MCTS+NN(987): option delay=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): option device_type=CPU
>Scorpio 2.9.0 64-bit MCTS+NN(987): option egbb_cache_size=16
>Scorpio 2.9.0 64-bit MCTS+NN(987): option egbb_depth_limit=6
>Scorpio 2.9.0 64-bit MCTS+NN(987): option egbb_load_type=3
>Scorpio 2.9.0 64-bit MCTS+NN(987): option egbb_path=e:\scorpio
>Scorpio 2.9.0 64-bit MCTS+NN(987): option egbb_ply_limit_percent=75
>Scorpio 2.9.0 64-bit MCTS+NN(987): option eht=8
>Scorpio 2.9.0 64-bit MCTS+NN(987): option evaluate_depth=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): option float_type=HALF 
>Scorpio 2.9.0 64-bit MCTS+NN(987): option fpu_is_loss=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option fpu_red=20
>Scorpio 2.9.0 64-bit MCTS+NN(987): option frac_abprior=30
>Scorpio 2.9.0 64-bit MCTS+NN(987): option frac_abrollouts=20
>Scorpio 2.9.0 64-bit MCTS+NN(987): option frac_alphabeta=100
>Scorpio 2.9.0 64-bit MCTS+NN(987): option frac_freeze_tree=30
>Scorpio 2.9.0 64-bit MCTS+NN(987): option frac_width=100
>Scorpio 2.9.0 64-bit MCTS+NN(987): option ht=512
>Scorpio 2.9.0 64-bit MCTS+NN(987): option log=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): option mcts_strategy_depth=30
>Scorpio 2.9.0 64-bit MCTS+NN(987): option montecarlo=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option n_devices=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option nn_path=nets-ccrl-cegt/net-6x64.pb
>Scorpio 2.9.0 64-bit MCTS+NN(987): option nn_type=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): option pht=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option policy_temp=200
>Scorpio 2.9.0 64-bit MCTS+NN(987): option probcut_margin=195
>Scorpio 2.9.0 64-bit MCTS+NN(987): option resign=1200
>Scorpio 2.9.0 64-bit MCTS+NN(987): option reuse_tree=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option singular_margin=32
>Scorpio 2.9.0 64-bit MCTS+NN(987): option smp_depth=4
>Scorpio 2.9.0 64-bit MCTS+NN(987): option smp_type=YBW
>Scorpio 2.9.0 64-bit MCTS+NN(987): option treeht=12800
>Scorpio 2.9.0 64-bit MCTS+NN(987): option use_probcut=0
>Scorpio 2.9.0 64-bit MCTS+NN(987): option use_singular=1
>Scorpio 2.9.0 64-bit MCTS+NN(987): option virtual_loss=3
>Scorpio 2.9.0 64-bit MCTS+NN(987): option visit_threshold=800
>Scorpio 2.9.0 64-bit MCTS+NN(987): new
>Scorpio 2.9.0 64-bit MCTS+NN(987): force
>Scorpio 2.9.0 64-bit MCTS+NN(987): level 40 20 0
>Scorpio 2.9.0 64-bit MCTS+NN(987): post
>Scorpio 2.9.0 64-bit MCTS+NN(987): easy
>Scorpio 2.9.0 64-bit MCTS+NN(987): name admin
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): aspiration_window
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): 10
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): aVeRaGE
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): mIx
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): mInMaX_MEM
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): aVeRaGE_MEM
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): mIx_mEM
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): cLaSsIC
<Scorpio 2.9.0 64-bit MCTS+NN(987): Error (unknown command): mIx_vISIT
<Scorpio 2.9.0 64-bit MCTS+NN(987): processors [1]
<Scorpio 2.9.0 64-bit MCTS+NN(987): eht 524288 X 8 = 8.0 MB
<Scorpio 2.9.0 64-bit MCTS+NN(987): ht 33554432 X 16 = 512.0 MB
<Scorpio 2.9.0 64-bit MCTS+NN(987): pht 32768 X 24 = 0.8 MB
<Scorpio 2.9.0 64-bit MCTS+NN(987): treeht 335539200 X 40 = 12799.8 MB
<Scorpio 2.9.0 64-bit MCTS+NN(987): EgbbProbe 4.3 by Daniel Shawul
<Scorpio 2.9.0 64-bit MCTS+NN(987): Loading egbbs....
180 egbbs loaded !      
<Scorpio 2.9.0 64-bit MCTS+NN(987): Loading neural network : nets-ccrl-cegt/net-6x64.pb
<Scorpio 2.9.0 64-bit MCTS+NN(987): Loading graph on /cpu:0
<Scorpio 2.9.0 64-bit MCTS+NN(987): Neural network loaded ! 
<Scorpio 2.9.0 64-bit MCTS+NN(987): loading_time = 0s

I have to add "use_nn 1" as the init string to Scorpio's config in Cute Chess, because it's not available as a "feature option".

The obvious solution appears to be disabling loading the EGBBs and the NN on startup and doing that only after receiving "xboard", "protover" and the appropriate "feature option" commands.

tpoppins commented 5 years ago

Ah, I see you updated the release yet again on March 8. I'll try the new version and report back.

tpoppins commented 5 years ago

With the latest exec and scorpio.ini in place Scorpio crashes trying to load the NN a second time (as described above) with the following entry in Windows Event Viewer log:

Faulting application name: scorpio.exe, version: 0.0.0.0, time stamp: 0x00000000
Faulting module name: egbbdll64.dll, version: 0.0.0.0, time stamp: 0x5c683e0a
Exception code: 0xc0000005
Fault offset: 0x000000000019991c
Faulting process id: 0xe40
Faulting application start time: 0x01d4d71678d61e59
Faulting application path: C:\Program Files\ChessBase\Engines.x64\subdir\Scorpio\290mcts-2\scorpio.exe
Faulting module path: e:\scorpio\egbbdll64.dll

Without scorpio.ini the NN loads successfully. I'm going to stop the ongoing 40/40 gauntlet to update the exec; hope it will help to reduce the number of stalls and time forfeits which are around 5% of all games.