Myracle GUI

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

mar wrote: ↑Tue Oct 06, 2026 8:40 am what happened was that Andres simply installed a new princhess over the old,
Ah - I have never done that in more than 20 years of running chess engines, and with greatest respect to Andres it is not a wise thing to do as he found out :) Always uninstall and re-install is best practice :wink:
mar
Posts: 3042
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

Modern Times wrote: ↑Tue Oct 06, 2026 8:54 am Ah - I have never done that in more than 20 years of running chess engines, and with greatest respect to Andres it is not a wise thing to do as he found out :) Always uninstall and re-install is best practice :wink:
well, my apologies to Andres :)

yes I also always create a new folder and install new versions as new engines - but people do all sorts of things with engines and GUIs
I'm simply trying to minimize possible user error, but it's impossible to catch everything.

which reminds me that I recently found some rogue crafty 25.2 binary, no idea where I got it from (660992 bytes, dates 29 oct 2016)
that when it receives the memory command (like memory 256) it allocates 48 gigabytes of RAM instead
(found it by accident in some test tournament with hash overrides enabled)
another 25.2 binary from Michael Byrne works fine however

no idea how to prevent this from happening (it can easily ruin any tournament it participates in) - while I do monitor process memory usage, it's not 100% reliable and may include cached memory mapped syzygy etc. - so I won't do anything about it.

ditto if an engine decides to spin all the available cores no matter what, can't prevent it either. or if someone packs a malware with the engine (which is btw why I refused to implement features like installing a folder of engines - seemed way too dangerous)

on a side note, ran 1m games (1sec sudden death) in a single go with build 141, it ran flawlessly,
producing 2.2gb uncompressed pgn and ~20mb tour file, so that's pretty efficient I think. peak GUI memory usage was around 300MB, that's good too with a schedule this huge, no memory leaks, no crashes. I think we're reaching pretty good stability now.
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

mar wrote: ↑Tue Oct 06, 2026 9:29 am on a side note, ran 1m games (1sec sudden death) in a single go with build 141, it ran flawlessly,
producing 2.2gb uncompressed pgn and ~20mb tour file, so that's pretty efficient I think. peak GUI memory usage was around 300MB, that's good too with a schedule this huge, no memory leaks, no crashes. I think we're reaching pretty good stability now.
Amazing - yes you've nailed this :)
mar
Posts: 3042
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

build 143 is up:
- global engine memory overhead (fixed cost) can be set in settings/concurrency (base and per core in megabytes) - defaults to 224M base and 32M per core (SMP), because modern engines seem to be insane memory hogs...
- additional information can be shown in crosstable footer (must be enabled first in settings/tournament), like start and last update time, hash/thread overrides if any and GUI version/build (note: will be updated once next game finishes)
- GUI version and build saved in anomaly log to facilitate debugging

note that localizations had to be updated, so it's necessary to update both gui_data.zip and the GUI binary
SSTATHIS
Posts: 65
Joined: Tue Jun 22, 2010 7:55 pm

Re: Myracle GUI

Post by SSTATHIS »

Great!
Thanks Martin!

PS: Is it possible also to add to tournament footer when a tournament begins?
mar
Posts: 3042
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

SSTATHIS wrote: ↑Thu Oct 08, 2026 8:30 am Great!
Thanks Martin!

PS: Is it possible also to add to tournament footer when a tournament begins?
hi, not sure what you mean?

I prefer not to add anymore features since I consider the GUI finished at the moment, of course I still plan to continue fixing bugs if any.
mar
Posts: 3042
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

ah, if you mean to show tournament start time then it will be shown for new tournaments started with build 143,
for pre-143 tournaments start time is not shown
User avatar
Gabor Szots
Posts: 1608
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Myracle GUI

Post by Gabor Szots »

mar wrote: ↑Thu Oct 08, 2026 3:30 am build 143 is up:
- global engine memory overhead (fixed cost) can be set in settings/concurrency (base and per core in megabytes) - defaults to 224M base and 32M per core (SMP), because modern engines seem to be insane memory hogs...
- additional information can be shown in crosstable footer (must be enabled first in settings/tournament), like start and last update time, hash/thread overrides if any and GUI version/build (note: will be updated once next game finishes)
- GUI version and build saved in anomaly log to facilitate debugging

note that localizations had to be updated, so it's necessary to update both gui_data.zip and the GUI binary
Hi Martin,

It seems I don't understand this overhead thing. What is overhead? Does it include hash tables and endgame caches?
Gabor Szots
CCRL testing group
mar
Posts: 3042
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

Gabor Szots wrote: ↑Thu Oct 08, 2026 9:47 am Hi Martin,

It seems I don't understand this overhead thing. What is overhead? Does it include hash tables and endgame caches?
hi Gabor,

it means you can set the estimated engine memory overhead globally, prior to 143 the GUI assumed the engine will only use Hash MB, but that's far from true.

so now you can set estimated overhead globally in concurrency settings, where base is base overhead in MB, defaults to 224
and per core overhead in MB, which is intended for SMP, to 32

this means that the defaults for 1CPU sum to 256M, for 2CPU 288M and so on; the defaults are very conservative

what this means: if you use Hash size of 256, the scheduler will assume one engine instance will consume 512M for 1CPU and 544M for CPU and so on

to get the old behavior, you can set both values to 0 (note that the "detect" button doesn't affect these parameters)
User avatar
Gabor Szots
Posts: 1608
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Myracle GUI

Post by Gabor Szots »

mar wrote: ↑Thu Oct 08, 2026 10:06 am
Gabor Szots wrote: ↑Thu Oct 08, 2026 9:47 am Hi Martin,

It seems I don't understand this overhead thing. What is overhead? Does it include hash tables and endgame caches?
hi Gabor,

it means you can set the estimated engine memory overhead globally, prior to 143 the GUI assumed the engine will only use Hash MB, but that's far from true.

so now you can set estimated overhead globally in concurrency settings, where base is base overhead in MB, defaults to 224
and per core overhead in MB, which is intended for SMP, to 32

this means that the defaults for 1CPU sum to 256M, for 2CPU 288M and so on; the defaults are very conservative

what this means: if you use Hash size of 256, the scheduler will assume one engine instance will consume 512M for 1CPU and 544M for CPU and so on

to get the old behavior, you can set both values to 0 (note that the "detect" button doesn't affect these parameters)
Thanks for the clarification, Martin.
Gabor Szots
CCRL testing group