Velvet issues

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

Moderator: Ras

MonteCarlo
Posts: 188
Joined: Sun Dec 25, 2016 4:59 pm

Velvet issues

Post by MonteCarlo »

Figured I'd do a sanity check here before posting something github.

With Velvet 3.3.0 and Velvet 3.2.0 on Windows, it doesn't seem to respond to setting threads or hash, based on NPS and CPU utilization for the former and memory utilization for the latter.

Is this reproducible for others?

Thanks!
User avatar
Graham Banks
Posts: 44522
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Velvet issues

Post by Graham Banks »

MonteCarlo wrote: Thu Jun 09, 2022 11:38 pm Figured I'd do a sanity check here before posting something github.

With Velvet 3.3.0 and Velvet 3.2.0 on Windows, it doesn't seem to respond to setting threads or hash, based on NPS and CPU utilization for the former and memory utilization for the latter.

Is this reproducible for others?

Thanks!
Hadn't noticed that. I'll take a look next time I use it.

Hiarcs 15 is the culprit in this regard for me.
gbanksnz at gmail.com
User avatar
pohl4711
Posts: 2800
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet issues

Post by pohl4711 »

MonteCarlo wrote: Thu Jun 09, 2022 11:38 pm Figured I'd do a sanity check here before posting something github.

With Velvet 3.3.0 and Velvet 3.2.0 on Windows, it doesn't seem to respond to setting threads or hash, based on NPS and CPU utilization for the former and memory utilization for the latter.

Is this reproducible for others?

Thanks!
You are right. Setting more than 1 thread in Velvet 3.3.0 does not work. Even though running the engine in console mode.
Krzysztof Grzelak
Posts: 1585
Joined: Tue Jul 15, 2014 12:47 pm

Re: Velvet issues

Post by Krzysztof Grzelak »

Displays Threads correctly.
Wolfgang
Posts: 989
Joined: Sat May 13, 2006 1:08 am

Re: Velvet issues

Post by Wolfgang »

pohl4711 wrote: Fri Jun 10, 2022 11:37 am .....
You are right. Setting more than 1 thread in Velvet 3.3.0 does not work. Even though running the engine in console mode.
Hi Stefan,

this is definetely not the case with Arena 3.5.1, independent from setting cores/threads in Arena (F11 etc., this is what I normally use) or in the engine options of Velvet (Ctrl+1)!

Checked it on my Ryzen 5 5600 g (6 Cores / 12 Threads), running @ 4,0 GHZ, starting position.
With 1 Thread set via GUI options, Velvet 3.3.0 calculates approx. 2.2 million nps on this particular machine.
With 8 Threads, it calculates approx. 14.8 million nps.

Didn't check other GUI as my 8-Core tournaments are Arena 3.5.1 only 8-)
Best
Wolfgang
CEGT-Team
www.cegt.net
www.cegt.forumieren.com
User avatar
pohl4711
Posts: 2800
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet issues

Post by pohl4711 »

Wolfgang wrote: Fri Jun 10, 2022 12:46 pm
pohl4711 wrote: Fri Jun 10, 2022 11:37 am .....
You are right. Setting more than 1 thread in Velvet 3.3.0 does not work. Even though running the engine in console mode.
Hi Stefan,

this is definetely not the case with Arena 3.5.1, independent from setting cores/threads in Arena (F11 etc., this is what I normally use) or in the engine options of Velvet (Ctrl+1)!

Checked it on my Ryzen 5 5600 g (6 Cores / 12 Threads), running @ 4,0 GHZ, starting position.
With 1 Thread set via GUI options, Velvet 3.3.0 calculates approx. 2.2 million nps on this particular machine.
With 8 Threads, it calculates approx. 14.8 million nps.

Didn't check other GUI as my 8-Core tournaments are Arena 3.5.1 only 8-)
I just tried 4 threads in console mode. That did not increase the nps. I will investigate that deeper at the weekend.
User avatar
Werner
Posts: 2989
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Velvet issues

Post by Werner »

I think it works in console mode too :
Velvet Chess Engine v3.3.0
uci
id name Velvet v3.3.0
id author Martin Honert
option name Hash type spin default 32 min 1 max 262144
option name Ponder type check default false
option name Threads type spin default 1 min 1 max 256
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Velvet Chess Engine (https://github.com/mhonert/velvet-chess)
uciok
setoption name Threads value 4
isready
readyok
readyok
readyok
go depth 10
info depth 1 seldepth 1 score cp 19 nodes 40 nps 476190 hashfull 0 time 0 pv e2e4
info depth 2 seldepth 2 score cp 16 nodes 301 nps 909365 hashfull 0 time 0 pv e2e4 e7e5
info depth 3 seldepth 5 score cp 16 nodes 1465 nps 2429519 hashfull 0 time 0 pv e2e4 e7e5 d2d4 e5d4
info depth 4 seldepth 6 score cp 16 nodes 3746 nps 4355813 hashfull 0 time 0 pv e2e4 e7e5 d2d4 e5d4
info depth 5 seldepth 9 score cp 17 nodes 8452 nps 6041458 hashfull 0 time 1 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4
info depth 6 seldepth 11 score cp 14 nodes 19994 nps 7850019 hashfull 0 time 2 pv e2e4 c7c5 b1c3 b8c6 g1f3 g7g6
info depth 7 seldepth 13 score cp 16 nodes 33055 nps 8525922 hashfull 0 time 3 pv e2e4 c7c5 c2c3 e7e5 d2d4 c5d4 c3d4
info depth 8 seldepth 12 score cp 17 nodes 77689 nps 9622120 hashfull 0 time 8 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f
6 d4c6 b7c6
info depth 9 seldepth 14 score cp 17 nodes 135591 nps 9079957 hashfull 5 time 14 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g
8f6 d4c6 b7c6
info depth 10 seldepth 19 score cp 18 nodes 442410 nps 7409187 hashfull 8 time 59 pv d2d4 g8f6 c2c4 e7e6 g1f3 d7d5 b1c3
c7c5 c4d5 e6d5
bestmove d2d4 ponder g8f6
Werner
User avatar
pohl4711
Posts: 2800
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet issues

Post by pohl4711 »

Werner wrote: Fri Jun 10, 2022 3:03 pm I think it works in console mode too :
Velvet Chess Engine v3.3.0
uci
id name Velvet v3.3.0
id author Martin Honert
option name Hash type spin default 32 min 1 max 262144
option name Ponder type check default false
option name Threads type spin default 1 min 1 max 256
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Velvet Chess Engine (https://github.com/mhonert/velvet-chess)
uciok
setoption name Threads value 4
isready
readyok
readyok
readyok
go depth 10
info depth 1 seldepth 1 score cp 19 nodes 40 nps 476190 hashfull 0 time 0 pv e2e4
info depth 2 seldepth 2 score cp 16 nodes 301 nps 909365 hashfull 0 time 0 pv e2e4 e7e5
info depth 3 seldepth 5 score cp 16 nodes 1465 nps 2429519 hashfull 0 time 0 pv e2e4 e7e5 d2d4 e5d4
info depth 4 seldepth 6 score cp 16 nodes 3746 nps 4355813 hashfull 0 time 0 pv e2e4 e7e5 d2d4 e5d4
info depth 5 seldepth 9 score cp 17 nodes 8452 nps 6041458 hashfull 0 time 1 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4
info depth 6 seldepth 11 score cp 14 nodes 19994 nps 7850019 hashfull 0 time 2 pv e2e4 c7c5 b1c3 b8c6 g1f3 g7g6
info depth 7 seldepth 13 score cp 16 nodes 33055 nps 8525922 hashfull 0 time 3 pv e2e4 c7c5 c2c3 e7e5 d2d4 c5d4 c3d4
info depth 8 seldepth 12 score cp 17 nodes 77689 nps 9622120 hashfull 0 time 8 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f
6 d4c6 b7c6
info depth 9 seldepth 14 score cp 17 nodes 135591 nps 9079957 hashfull 5 time 14 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g
8f6 d4c6 b7c6
info depth 10 seldepth 19 score cp 18 nodes 442410 nps 7409187 hashfull 8 time 59 pv d2d4 g8f6 c2c4 e7e6 g1f3 d7d5 b1c3
c7c5 c4d5 e6d5
bestmove d2d4 ponder g8f6
Interesting. Then, it is a CPU depended problem. I tried the avx2 binary on my (little older) i7-8750H 2.6GHz (Hexacore) Notebook.Because my 2 AMD Ryzen machines are busy right now.
But it is good to see, that it works on AMD Ryzen. Because Velvet 3.3.0 is the engine at 3200+ Level with the most aggressive play! First rank in my EAS Ratinglist:
https://www.sp-cc.de/eas-ratinglist.htm

Would be sad, if multithreading is broken... Especially, because the 2nd best engine here, Danasah, does not support multithreading at all.

Nevertheless, this is a strange behaviour, which should be fixed. Komodo and Stockfish avx2 binaries work fine on this Intel machine with Threads >1.
bastiball
Posts: 5360
Joined: Tue Oct 20, 2020 4:18 am
Full name: Basti Dangca

Re: Velvet issues

Post by bastiball »

It works on me on 8CPU in Banksia GUI but I never try in console.
Basti Dangca
CCRL testing group
MonteCarlo
Posts: 188
Joined: Sun Dec 25, 2016 4:59 pm

Re: Velvet issues

Post by MonteCarlo »

Thanks all for checking on this!

I've since checked on my desktop (original issue I noticed on my laptop, I'll post specs for that a little later today), and my desktop shows the same behavior.

It's Windows 10 Home, Intel i3-10100. Tried all 3 Windows builds.

Default (1 thread):

Code: Select all

Velvet Chess Engine v3.3.0
uci
id name Velvet v3.3.0
id author Martin Honert
option name Hash type spin default 32 min 1 max 262144
option name Ponder type check default false
option name Threads type spin default 1 min 1 max 256
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Velvet Chess Engine (https://github.com/mhonert/velvet-chess)
uciok
go depth 16
info depth 1 seldepth 1 score cp 19 nodes 20 nps 408163 hashfull 0 time 0 pv e2e4
info depth 2 seldepth 2 score cp 13 nodes 83 nps 246290 hashfull 0 time 0 pv e2e4 e7e5
info depth 3 seldepth 5 score cp 16 nodes 589 nps 776021 hashfull 0 time 0 pv e2e4 e7e5 g1f3
info depth 4 seldepth 9 score cp 16 nodes 1672 nps 1171688 hashfull 0 time 1 pv e2e4 e7e5 d2d4 e5d4
info depth 5 seldepth 9 score cp 17 nodes 4008 nps 1688289 hashfull 0 time 2 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4
info depth 6 seldepth 13 score cp 14 nodes 9940 nps 2184615 hashfull 0 time 4 pv e2e4 c7c5 b1c3 b8c6 g1f3 g7g6
info depth 7 seldepth 13 score cp 16 nodes 15181 nps 2330876 hashfull 0 time 6 pv e2e4 c7c5 c2c3 e7e5 d2d4 c5d4 c3d4
info depth 8 seldepth 13 score cp 17 nodes 35488 nps 2621555 hashfull 1 time 13 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 b7c6
info depth 9 seldepth 15 score cp 17 nodes 59875 nps 2559526 hashfull 4 time 23 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 b7c6
info depth 10 seldepth 17 score cp 18 nodes 146576 nps 2468606 hashfull 7 time 59 pv d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 g1f3 c7c5 c4d5 e6d5
info depth 11 seldepth 20 score cp 14 nodes 278912 nps 2365104 hashfull 11 time 117 pv e2e4 c7c5 g1f3 b8c6 b1c3 g8f6 f1b5 c6d4 f3d4 c5d4 e4e5
info depth 12 seldepth 22 score cp 17 nodes 522569 nps 2276403 hashfull 19 time 229 pv d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 g1f3 f8b4 d1a4 b8c6 a2a3 b4c3 b2c3 e8g8
info depth 13 seldepth 22 score cp 22 nodes 789091 nps 2229190 hashfull 26 time 353 pv d2d4 g8f6 c2c4 e7e6 g1f3 b7b6 b1c3 f8b4 g2g3 c8b7 f1g2 c7c5 e1g1 c5d4 d1d4
info depth 14 seldepth 23 score cp 22 nodes 1046044 nps 2211537 hashfull 35 time 472 pv d2d4 g8f6 c2c4 e7e6 g1f3 b7b6 b1c3 f8b4 g2g3 c8b7 f1g2 c7c5 e1g1 c5d4 d1d4
info depth 15 seldepth 25 nodes 2168836 nps 2168476 hashfull 78 time 1000
info depth 15 currmove b2b3 currmovenumber 4
info depth 15 currmove c2c3 currmovenumber 5
info depth 15 currmove d2d3 currmovenumber 6
info depth 15 currmove e2e3 currmovenumber 7
info depth 15 currmove f2f3 currmovenumber 8
info depth 15 currmove g2g3 currmovenumber 9
info depth 15 currmove h2h3 currmovenumber 10
info depth 15 currmove a2a4 currmovenumber 11
info depth 15 currmove b2b4 currmovenumber 12
info depth 15 currmove c2c4 currmovenumber 13
info depth 15 currmove f2f4 currmovenumber 14
info depth 15 currmove g2g4 currmovenumber 15
info depth 15 currmove h2h4 currmovenumber 16
info depth 15 currmove b1a3 currmovenumber 17
info depth 15 currmove b1c3 currmovenumber 18
info depth 15 currmove g1f3 currmovenumber 19
info depth 15 currmove g1h3 currmovenumber 20
info depth 15 seldepth 25 score cp 18 nodes 2339324 nps 2109388 hashfull 87 time 1109 pv d2d4 d7d5 c2c4 e7e6 b1c3 g8f6 c1f4 d5c4 e2e3 f6d5 f1c4 d5f4 e3f4 b8c6 g1f3
info depth 16 currmove d2d4 currmovenumber 1
info depth 16 currmove e2e4 currmovenumber 2
info depth 16 currmove a2a3 currmovenumber 3
info depth 16 currmove b2b3 currmovenumber 4
info depth 16 currmove c2c3 currmovenumber 5
info depth 16 currmove d2d3 currmovenumber 6
info depth 16 currmove e2e3 currmovenumber 7
info depth 16 currmove f2f3 currmovenumber 8
info depth 16 currmove g2g3 currmovenumber 9
info depth 16 currmove h2h3 currmovenumber 10
info depth 16 currmove a2a4 currmovenumber 11
info depth 16 currmove b2b4 currmovenumber 12
info depth 16 currmove c2c4 currmovenumber 13
info depth 16 currmove f2f4 currmovenumber 14
info depth 16 currmove g2g4 currmovenumber 15
info depth 16 currmove h2h4 currmovenumber 16
info depth 16 currmove b1a3 currmovenumber 17
info depth 16 currmove b1c3 currmovenumber 18
info depth 16 currmove g1f3 currmovenumber 19
info depth 16 currmove g1h3 currmovenumber 20
info depth 16 seldepth 26 score cp 18 nodes 3447334 nps 2089848 hashfull 132 time 1649 pv d2d4 d7d5 c2c4 e7e6 b1c3 g8f6 c1f4 d5c4 e2e3 f6d5 f1c4 d5f4 e3f4 b8c6 g1f3
bestmove d2d4 ponder d7d5

4 threads:

Code: Select all

Velvet Chess Engine v3.3.0
uci
id name Velvet v3.3.0
id author Martin Honert
option name Hash type spin default 32 min 1 max 262144
option name Ponder type check default false
option name Threads type spin default 1 min 1 max 256
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Velvet Chess Engine (https://github.com/mhonert/velvet-chess)
uciok
setoption name Threads value 4
go depth 16
info depth 1 seldepth 1 score cp 19 nodes 20 nps 500000 hashfull 0 time 0 pv e2e4
info depth 2 seldepth 2 score cp 13 nodes 83 nps 322957 hashfull 0 time 0 pv e2e4 e7e5
info depth 3 seldepth 5 score cp 16 nodes 589 nps 888386 hashfull 0 time 0 pv e2e4 e7e5 g1f3
info depth 4 seldepth 9 score cp 16 nodes 1672 nps 1379537 hashfull 0 time 1 pv e2e4 e7e5 d2d4 e5d4
info depth 5 seldepth 9 score cp 17 nodes 4008 nps 1777383 hashfull 0 time 2 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4
info depth 6 seldepth 13 score cp 14 nodes 9940 nps 2044426 hashfull 0 time 4 pv e2e4 c7c5 b1c3 b8c6 g1f3 g7g6
info depth 7 seldepth 13 score cp 16 nodes 15181 nps 2151807 hashfull 0 time 7 pv e2e4 c7c5 c2c3 e7e5 d2d4 c5d4 c3d4
info depth 8 seldepth 13 score cp 17 nodes 35488 nps 2543395 hashfull 1 time 13 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 b7c6
info depth 9 seldepth 15 score cp 17 nodes 59875 nps 2483306 hashfull 4 time 24 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 b7c6
info depth 10 seldepth 17 score cp 18 nodes 146576 nps 2449874 hashfull 7 time 59 pv d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 g1f3 c7c5 c4d5 e6d5
info depth 11 seldepth 20 score cp 14 nodes 278912 nps 2351822 hashfull 11 time 118 pv e2e4 c7c5 g1f3 b8c6 b1c3 g8f6 f1b5 c6d4 f3d4 c5d4 e4e5
info depth 12 seldepth 22 score cp 17 nodes 522569 nps 2291295 hashfull 19 time 228 pv d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 g1f3 f8b4 d1a4 b8c6 a2a3 b4c3 b2c3 e8g8
info depth 13 seldepth 22 score cp 22 nodes 789091 nps 2242831 hashfull 26 time 351 pv d2d4 g8f6 c2c4 e7e6 g1f3 b7b6 b1c3 f8b4 g2g3 c8b7 f1g2 c7c5 e1g1 c5d4 d1d4
info depth 14 seldepth 23 score cp 22 nodes 1046044 nps 2223090 hashfull 35 time 470 pv d2d4 g8f6 c2c4 e7e6 g1f3 b7b6 b1c3 f8b4 g2g3 c8b7 f1g2 c7c5 e1g1 c5d4 d1d4
info depth 15 seldepth 25 nodes 2194867 nps 2194555 hashfull 79 time 1000
info depth 15 currmove c2c3 currmovenumber 5
info depth 15 currmove d2d3 currmovenumber 6
info depth 15 currmove e2e3 currmovenumber 7
info depth 15 currmove f2f3 currmovenumber 8
info depth 15 currmove g2g3 currmovenumber 9
info depth 15 currmove h2h3 currmovenumber 10
info depth 15 currmove a2a4 currmovenumber 11
info depth 15 currmove b2b4 currmovenumber 12
info depth 15 currmove c2c4 currmovenumber 13
info depth 15 currmove f2f4 currmovenumber 14
info depth 15 currmove g2g4 currmovenumber 15
info depth 15 currmove h2h4 currmovenumber 16
info depth 15 currmove b1a3 currmovenumber 17
info depth 15 currmove b1c3 currmovenumber 18
info depth 15 currmove g1f3 currmovenumber 19
info depth 15 currmove g1h3 currmovenumber 20
info depth 15 seldepth 25 score cp 18 nodes 2339324 nps 2147792 hashfull 87 time 1089 pv d2d4 d7d5 c2c4 e7e6 b1c3 g8f6 c1f4 d5c4 e2e3 f6d5 f1c4 d5f4 e3f4 b8c6 g1f3
info depth 16 currmove d2d4 currmovenumber 1
info depth 16 currmove e2e4 currmovenumber 2
info depth 16 currmove a2a3 currmovenumber 3
info depth 16 currmove b2b3 currmovenumber 4
info depth 16 currmove c2c3 currmovenumber 5
info depth 16 currmove d2d3 currmovenumber 6
info depth 16 currmove e2e3 currmovenumber 7
info depth 16 currmove f2f3 currmovenumber 8
info depth 16 currmove g2g3 currmovenumber 9
info depth 16 currmove h2h3 currmovenumber 10
info depth 16 currmove a2a4 currmovenumber 11
info depth 16 currmove b2b4 currmovenumber 12
info depth 16 currmove c2c4 currmovenumber 13
info depth 16 currmove f2f4 currmovenumber 14
info depth 16 currmove g2g4 currmovenumber 15
info depth 16 currmove h2h4 currmovenumber 16
info depth 16 currmove b1a3 currmovenumber 17
info depth 16 currmove b1c3 currmovenumber 18
info depth 16 currmove g1f3 currmovenumber 19
info depth 16 currmove g1h3 currmovenumber 20
info depth 16 seldepth 26 score cp 18 nodes 3447334 nps 2111673 hashfull 132 time 1632 pv d2d4 d7d5 c2c4 e7e6 b1c3 g8f6 c1f4 d5c4 e2e3 f6d5 f1c4 d5f4 e3f4 b8c6 g1f3
bestmove d2d4 ponder d7d5
First time I've ever seen this issue with any engine. I have a dozen or so different engines on both machines and have never had a problem with using multiple threads and/or setting non-default hash sizes.