Prophet 5.1 and hashtables ...

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

Moderator: Ras

Frank Quisinsky
Posts: 7150
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Prophet 5.1 and hashtables ...

Post by Frank Quisinsky »

Hi there,

Prophet v5.1 = xboard
Chess4j v6.2 = JAVA

OK ...

on Prophet github I can read to v4.2 ...
- Pawn hash table

So I am thinking phash _and_ hash for Prophet is possible.

In Prophet readme no information to the topic: Hash
I found a bit on Chess4j readme.
The second engine by James Swafford.

-hash 256 - phash 128

Shredder 12 GUI crashed if I like to set -hash256 with wb2uci command line like
Prophet_51-xb.exe -n nn-32-q.txt -hash 256

It seems that around 64Mb for hash is "Standard" and I can't change to higher as 64Mb "Standard".

As reason for this one in the readme for Chess4j:

Code: Select all

## Memory Usage

chess4j currently employs two transposition tables.  One is used in the main search and one in the pawn evaluation.  The default sizes are 64 mb and 8 mb respectively.
 
You can specify the maximum memory allocated to each table via command line parameters: 

```
-hash 256 -phash 128
Can be a hint because the word "Currently".
Programmer means, works for Chess4j 6.2 and not for Prophet 5.1?

Maybe a mistake by myself?

Now to Chess4j:
Chess4j 6.2 seems also a bit tricky.
First JAVA engine I can't start with Shredder 12 GUI and JAVA 25.0.1
I think the programmer is working with an older JAVA version.
With the current JAVA version the "Native" mode is a problem ...

Not working is:
Parameter=--add-modules jdk.incubator.vector -Xmx1024M -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar -nn nn-32-q.txt

Not working is:
Parameter=--enable-native-access=ALL-UNNAMED -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar -nn nn-32-q.txt

With or without
-nn nn-32-q.txt ... not working

Shredder 12 GUI, *.eng file:

Code: Select all

[ENGINE]
Name=Chess4j 6.2 JAVA
Author=James Swafford
Filename=c:\Program Files\Java\jdk-25\bin\java.exe
Parameter=--add-modules jdk.incubator.vector -Xmx1024M -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar  -nn nn-32-q.txt
The question is:
What can be the right parameters for Chess4j?

Best
Frank

If James read that ...
Hope you have time for me?
Thanks in advanced!!
The programmer of Tristram ... that was one of the engines for my first Winboard tourneys, 28 years ago.
With The Crazy Bishop, SSEChess, Crafty, Zarkov I believe. Nice to read that James is currently working on engines!!
Frank Quisinsky
Posts: 7150
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Prophet 5.1 and hashtables ...

Post by Frank Quisinsky »

Ah, I forget ...
To the hash problem with Prophet
Windows 11, i9 10th gen.

Here the wb2uci file:

Code: Select all

[ENGINE]
Name               = Prophet 5.1 xb
Author             = James Swafford
Filename           = WB2uci.exe

[OPTIONS]
Program            = Prophet_51-xb.exe -n nn-32-q.txt
;InitString        =
Ponder             = false
;Logfile           = true
;HashOnCommandline = false
Protocol           = 2
InitTime           = 5
LevelExtend        = none
Analyze            = true
;ShowThinkingMove  = true
UseUndo            = false
;WhiteScore        = true
TerminateHard      = true

Visible            = Extras,Logfile,Protocol,InitTime,ShowThinkingMove,LevelExtend

[EXTRAS]
Clear Hash         = clrhash|button
With
HashOnCommandline = true ... no success
with InitString parameters to hash ... no success
I try x possible combination to set -hash 256
Unclear is also the "Protocol" ... v1 or v2
jswaff
Posts: 108
Joined: Mon Jun 09, 2014 12:22 am
Full name: James Swafford

Re: Prophet 5.1 and hashtables ...

Post by jswaff »

Hi Frank.

To set the hash size or pawn hash size in Prophet 5.1 from the command line, you can use -h and -p. Sorry, I did remove that from the README. I didn't think anyone use the command line parameters to control the hash size so I was trying to simplify the documentation. I'll re-add it the next time I do a release to make that clearer.

Code: Select all

james@james-abcfamily:~/prophet/build$ ./prophet-avx2 -h 512 -p 128
setting hash table size to 512 mb
setting pawn hash table size to 128 mb
Hello!  This is the Prophet Chess Engine, version 5.2-dev.
It's slightly different in chess4j 6.2:

Code: Select all

java -jar chess4j-6.3-uber.jar -hash 256 -phash 128
chess4j 6.2 requires Java 24 or better. Native mode is no longer supported, sorry. I wrote about that here: https://jamesswafford.dev/prophet-5-1-a ... -released/

I hope that answers your questions.

And yes, Tristram was my first attempt many years ago! I remember reading the book "How Computers Play Chess" by Levy and Newborn in one day and being fascinated by it. I haven't quite shaken the hobby yet, though it does go in fits and starts.

Frank Quisinsky wrote: Tue Oct 28, 2025 9:22 am Hi there,

Prophet v5.1 = xboard
Chess4j v6.2 = JAVA

OK ...

on Prophet github I can read to v4.2 ...
- Pawn hash table

So I am thinking phash _and_ hash for Prophet is possible.

In Prophet readme no information to the topic: Hash
I found a bit on Chess4j readme.
The second engine by James Swafford.

-hash 256 - phash 128

Shredder 12 GUI crashed if I like to set -hash256 with wb2uci command line like
Prophet_51-xb.exe -n nn-32-q.txt -hash 256

It seems that around 64Mb for hash is "Standard" and I can't change to higher as 64Mb "Standard".

As reason for this one in the readme for Chess4j:

Code: Select all

## Memory Usage

chess4j currently employs two transposition tables.  One is used in the main search and one in the pawn evaluation.  The default sizes are 64 mb and 8 mb respectively.
 
You can specify the maximum memory allocated to each table via command line parameters: 

```
-hash 256 -phash 128
Can be a hint because the word "Currently".
Programmer means, works for Chess4j 6.2 and not for Prophet 5.1?

Maybe a mistake by myself?

Now to Chess4j:
Chess4j 6.2 seems also a bit tricky.
First JAVA engine I can't start with Shredder 12 GUI and JAVA 25.0.1
I think the programmer is working with an older JAVA version.
With the current JAVA version the "Native" mode is a problem ...

Not working is:
Parameter=--add-modules jdk.incubator.vector -Xmx1024M -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar -nn nn-32-q.txt

Not working is:
Parameter=--enable-native-access=ALL-UNNAMED -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar -nn nn-32-q.txt

With or without
-nn nn-32-q.txt ... not working

Shredder 12 GUI, *.eng file:

Code: Select all

[ENGINE]
Name=Chess4j 6.2 JAVA
Author=James Swafford
Filename=c:\Program Files\Java\jdk-25\bin\java.exe
Parameter=--add-modules jdk.incubator.vector -Xmx1024M -jar c:\Chess\Shredder_12\Engines\Chess4j\Chess4j_62.jar  -nn nn-32-q.txt
The question is:
What can be the right parameters for Chess4j?

Best
Frank

If James read that ...
Hope you have time for me?
Thanks in advanced!!
The programmer of Tristram ... that was one of the engines for my first Winboard tourneys, 28 years ago.
With The Crazy Bishop, SSEChess, Crafty, Zarkov I believe. Nice to read that James is currently working on engines!!
User avatar
Sylwy
Posts: 4942
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: Prophet 5.1 and hashtables ...

Post by Sylwy »

In Arena 3.5.1 GUI:

Image

Image
Frank Quisinsky
Posts: 7150
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Prophet 5.1 and hashtables ...

Post by Frank Quisinsky »

Hi James,

to Prophet ...
Wb2uci ...

Program = Prophet_51-xb.exe -h 256 -p 64
works now but ...

Program = Prophet_51-xb.exe -n nn-32-q.txt -h 256 -p 64
-h and -p isn't working.

So the question is, what is with the NN file, means the paramter for the nn file?

At first -h
At second -p
At third -n

?

If I start in textmode with ...
Prophet_51-xb.exe -h 256 -p 64 -n nn-32-q.txt

I can see ...
setting hash table size to 256 mb
setting pawn hash table sice to 64 mb
louding neural network nn-32-q.txt
Hello! This is the Prophet Chess Engine, version 5.1.

Good

Hello! This is Frank Quisinsky, your opponent, version TB (Total Buggy).

So I think ...
At first -h
At second -p
At third -n

Seems to work now:
hash, pawn hash and neural network!

Now I will looking in your Java engine again!

Best
Frank
Frank Quisinsky
Posts: 7150
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Prophet 5.1 and hashtables ...

Post by Frank Quisinsky »

Hi Sylwy,

since the day I stopped my work with Martin Blume I never starts Arena on one of my PCs.
Too many memories of my previous ideas, too much work on this project during this period over years.

The same with discord ...
I don't like it, never installed, never tryed out.

Time can be better use in case of discord and all that communication variants.
I like E-Mail or a chess forum and thats enough, day have only 24h.

WhatsApp and all this bullshit.
Or I hold my handy more as 2 hours per day in the hand.
Again, time can be better used, more as 30 minutes for handy, 30 minutes for E-Mails is again ... enough.

Logical, in Arena times I wrote often more as 200 support E-Mails daily.
Enough is enough.

Best
Frank
User avatar
Sylwy
Posts: 4942
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: Prophet 5.1 and hashtables ...

Post by Sylwy »

Frank Quisinsky wrote: Sat Dec 06, 2025 5:08 pm
WhatsApp and all this bullshit.
Or I hold my handy more as 2 hours per day in the hand.
Again, time can be better used, more as 30 minutes for handy, 30 minutes for E-Mails is again ... enough.

Logical, in Arena times I wrote often more as 200 support E-Mails daily.
Enough is enough.

Best
Frank
+1
Frank Quisinsky
Posts: 7150
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Prophet 5.1 and hashtables ...

Post by Frank Quisinsky »

Hi Sylwy,

I gave up to try to config chess4j as JAVA engine under Shredder GUI.
No chance with your examples or the examples by James.

But Prophet runs fine now.

Best
Frank