Velvet Multithreading-mode broken?

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

Moderator: Ras

User avatar
pohl4711
Posts: 2840
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Velvet Multithreading-mode broken?

Post by pohl4711 »

Since V5.0.0 Velvet supports MultiPV-mode, which works fine in FritzGUI/Chessbase and this is very cool, because Velvet has a very aggressive playing style, which makes this engine a very interesting analyzing-tool IMO:
https://www.sp-cc.de/eas-ratinglist.htm

But, as I tested the MultiPV mode of Velvet 5.0.0, I recognized, that the nps of Velvet does not change, when I increased the number of CPUs (multithreading). The strange thing is, this happens with Velvet 4.1.0, too.
But, because Velvet plays in TCEC, the TCEC-version must have a working multithreading-mode, otherwise Velvet would loose the most games, which it did not in the past.
??? Very strange
Wolfgang
Posts: 989
Joined: Sat May 13, 2006 1:08 am

Re: Velvet Multithreading-mode broken?

Post by Wolfgang »

I can't confirm that.
At least under Linux (Mint, i7-4790, avx2-compile, Arena 3.1.0 for Linux, Starting position) MultiThreading seems ok here.

T1: ca. 1,9 million nodes/s.
T2: ca. 3,7 .....
T4: ca. 6,6 .....
Best
Wolfgang
CEGT-Team
www.cegt.net
www.cegt.forumieren.com
User avatar
Dariusz
Posts: 379
Joined: Sat Jun 13, 2015 10:08 am
Location: Poland
Full name: Dariusz Domagała

Re: Velvet Multithreading-mode broken?

Post by Dariusz »

Wolfgang wrote: Sat Jan 07, 2023 9:22 am I can't confirm that.
At least under Linux (Mint, i7-4790, avx2-compile, Arena 3.1.0 for Linux, Starting position) MultiThreading seems ok here.

T1: ca. 1,9 million nodes/s.
T2: ca. 3,7 .....
T4: ca. 6,6 .....

I don't confirm either.
MacBook Pro M1, Scid, Velvet in starting position:

1t - 2027 kn/s
2t - 4040 kn/s
3t - 6075 kn/s
4t - 8089 kn/S

It is ok.
Regards, Darius
https://chessengeria.eu
User avatar
pohl4711
Posts: 2840
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet Multithreading-mode broken?

Post by pohl4711 »

Wolfgang wrote: Sat Jan 07, 2023 9:22 am I can't confirm that.
At least under Linux (Mint, i7-4790, avx2-compile, Arena 3.1.0 for Linux, Starting position) MultiThreading seems ok here.

T1: ca. 1,9 million nodes/s.
T2: ca. 3,7 .....
T4: ca. 6,6 .....
That could be the explanation, why Velvet seems to work in TCEC, they use Linux, too?!?

But in Windows it is broken in FritzGUI. And in Console-mode after setoption name threads value x there is no change in nps, too.
gordonr
Posts: 239
Joined: Thu Aug 06, 2009 8:04 pm
Location: UK

Re: Velvet Multithreading-mode broken?

Post by gordonr »

Windows / Arena 3.5, I'm seeing different kn/s between iterations... so maybe specific to Fritz GUI...

Velvet-v5.0.0-x86_64-avx2:

18/43 00:05 230,135k 39,899k +5.36 Bf4 Nbd7 Qh4 h5 Ne4 a6 Be2 Nf8 Bxe5 dxe5 Bxh5 b5 Be2 Nh7 axb5 Rd7 Qh6 Qf8 Qxf8+ Nxf8 Bc4 Bb7 Nxc5 Bxd5
18/43 00:05 230,135k 39,899k +5.47 Qh4 h5 Bf4 Nbd7 Ne4 Nf8 Nxd6 Qxd6 Rae1 c4 Rxe5 Bb7 Rg5 Qc5+ Kh1 Bxd5 Rd1 a6 Rgxd5 axb5 Rxc5 Rxc5 Be3 Re5 Bd4 Re2 axb5 Raa2 Rg1 Rab2 Bxb6 Nd7 Bc7
18/38 00:05 230,135k 39,899k +6.01 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Bxf6 Qf8 g4 a6 gxh5 axb5 hxg6
---------------------------------------------------------------------------
19/44 00:07 295,334k 39,566k +5.40 Bf4 Nbd7 Qh4 h5 Ne4 Nf8 Rae1 Bb7 Qg5 Ng4 Bxd6 a6 h3 Nh7 Qf4 axb5 hxg4 g5 Nxg5 Rd7
19/44 00:07 295,334k 39,566k +5.49 Qh4 h5 Bf4 Nbd7 Ne4 Nf8 Rae1 a6 Nxd6 c4 Rxe5 Qxd6 Qg5 Bb7 Re8 Qc5+ Kh1 Qxd5 Qxd5 Bxd5 Bxc7 axb5 Rxa8 Bxa8 axb5 Ne6 Bxb6 h4 Kg1 h3 gxh3
19/44 00:07 295,334k 39,566k +9.00 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 c4 Qxd6 Na6 Qe5+ Kh7 Bxa6 Raf8 d6 Rf5 Qe7+ R8f7 Qe3
---------------------------------------------------------------------------
20/49 00:09 379,504k 39,544k +5.52 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 Bxd5 Rad1 a6 Bxd7 Rxd7 Bxe5 Bb3 Rd2 Qf8 Rb1 c4 Qf4 Rad8 h3 a5 Rd4 Kh7 Rb2 Kg8 h4 Kh7 Rbd2 Bxa4 Rxc4 Bb3 Rc6 a4 c4
20/39 00:09 379,504k 39,544k +5.73 Bf4 Nbd7 Qh4 h5 Ne4 Bb7 Nxd6 Bxd5 Rad1 a6 Bxd7 Rxd7 Bxe5 Bb3 Rd2 Qf8 Rb1 c4 Qf4 Rad8 h3 Kh8 Rd4 Kh7 Rb2 Qg8 Rd5
20/36 00:09 379,504k 39,544k +9.01 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 c4 Re1 Nd7 Qxa8 Nc5 Be8 Nd3 Bxf7 Nxe1 Qxa7 Kh8 Qb8+ Kg7
---------------------------------------------------------------------------
21/53 00:17 680,752k 38,787k +5.76 Bf4 Nbd7 Qh4 h5 Ne4 Bb7 Nxd6 a6 Bxd7 Rxd7 Nxb7 Rxb7 Bxe5 Qxd5 Qf4 c4 Qh6 Qc5+ Bd4 Qf8 Qg5 Qd6 Rae1 Rd7 Re7 Rad8 Rfe1
21/53 00:17 680,752k 38,787k +5.78 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 Bxd5 Rad1 a6 Bxd7 Rxd7 Bxe5 Bb3 Rd2 Qf8 Rb1 c4 Rd4 Rad8 Qf4 Kh7 h3 Kg8 Rb2 a5 Kh2 Kh7 Rb1 Kh8 Rd2 Kg8 Rbb2 Bxa4 Rxb6 Bb3 Ra6 a4 Qg5 a3 Rd4
21/44 00:17 680,752k 38,787k +9.67 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 Bf3 gxf3 a6 Be8 Raa7 Bxf7 Rxf7 Qxd6 Nd7 Re1 Nf6 Qe5 Kg8 d6
---------------------------------------------------------------------------
22/48 00:24 942,936k 38,407k +5.19 Bf4 a6 Qh4 h5 Be2 Qxf6 Bxh5 Bf5 Bxe5 dxe5 g4 Nd7 Rxf5 gxf5 Bxf7+ Kf8 gxf5 Rca7 Be6 Ke8 d6 Nf8 Qh5+ Kd8 Ne4 Qg7+ Kh1 Rd7
22/48 00:24 942,936k 38,407k +5.93 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 Bxd5 Rad1 Bc6 Nxf7 Qxf6 Qxf6 Nxf6 Nxe5 Bxb5 axb5 Rb7 c4 Re8 Rd6 Ne4 Rxg6+ Rg7 Rc6 Rge7 Ra1 Nc3 Re1 h4 Re3 Nd1
22/43 00:24 942,936k 38,407k +9.61 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 Rf4 Qxd6 Re4 Qc7+ Nd7 Qxd7+ Kh6 Rf1 Be2 Bxe2 Rxe2 d6 Rh8 Qf7
---------------------------------------------------------------------------
23/47 00:41 1,591,269k 37,976k +5.72 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 Bxd5 Rad1 Bc6 Nxf7 Qxf6 Qxf6 Nxf6 Nxe5 Bxb5 axb5 Rb7 c4 Re8 Rd6 Ne4 Rxg6+ Rg7 Rh6 Rh7 Rc6 Rhe7 Rd1 Kg7 Ng6
23/47 00:41 1,591,269k 37,976k +6.03 Bf4 Nbd7 Qh4 h5 Ne4 Bb7 Nxd6 Bxd5 Rad1 a6 Bxd7 Rxd7 Bxe5 Be6 c4 Kh7 Rfe1 Qf8 Qf4 Rad8 Rd2 Qh6 Qxh6+ Kxh6 Rb1 g5 Rxb6 h4 Rxa6 Bxc4 Rc6 Be6 a5 c4 a6 Kg6 Rb2
23/45 00:41 1,591,269k 37,976k +9.72 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 Nd7 Qxa8 Nf6 Re1 a6 Bxa6 b5 Qd8 bxa4 Qxd6 a3 Bc4 Rb7 Qxc5 Rb2
---------------------------------------------------------------------------
24/49 00:54 2,069,336k 37,840k +5.97 Bf4 Nbd7 Qh4 h5 Ne4 Bb7 Nxd6 Bxd5 Rad1 Nxf6 Bxe5 Ng4 Qg3 Bb3 Nxf7 Rxf7 Rxd8+ Rxd8 h3 Rxf1+ Kxf1 Nxe5 Qxe5 a5 Qe7 Rd1+ Kf2 Rd2+ Kf3 Bf7 Qf6 Rb2
24/50 00:54 2,069,336k 37,840k +6.01 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 a6 Bxd7 Rxd7 Nxb7 Rxb7 Bxe5 Qxd5 Qf4 Kh7 Rad1 Qe6 Qe4 Raa7 Rd6 Qc8 Bg3 Rd7 Rxb6 Qa8 Qxa8 Rxa8 Bf4 Rd5 Rb7 Kg8 h4 Rad8 Ra7 c4 Rxa6 Re8 Rd6 Rd3
24/49 00:54 2,069,336k 37,840k +10.13 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 a6 Be8 Rf8 Re1 Ra7 Qxb8 Raf7 Qxd6 Rf2 Qe5+ Kg8 d6 Rd2 d7 Kh7 a5 Rff2
---------------------------------------------------------------------------
24/49 01:06 2,522,592k 37,753k +5.97 Bf4 Nbd7 Qh4 h5 Ne4 Bb7 Nxd6 Bxd5 Rad1 Nxf6 Bxe5 Ng4 Qg3 Bb3 Nxf7 Rxf7 Rxd8+ Rxd8 h3 Rxf1+ Kxf1 Nxe5 Qxe5 a5 Qe7 Rd1+ Kf2 Rd2+ Kf3 Bf7 Qf6 Rb2
24/50 01:06 2,522,592k 37,753k +6.01 Qh4 h5 Bf4 Nbd7 Ne4 Bb7 Nxd6 a6 Bxd7 Rxd7 Nxb7 Rxb7 Bxe5 Qxd5 Qf4 Kh7 Rad1 Qe6 Qe4 Raa7 Rd6 Qc8 Bg3 Rd7 Rxb6 Qa8 Qxa8 Rxa8 Bf4 Rd5 Rb7 Kg8 h4 Rad8 Ra7 c4 Rxa6 Re8 Rd6 Rd3
25/44 01:06 2,522,592k 37,753k +10.48 Nxh7 Kxh7 Qh4+ Kg8 Bh6 Bg4 Bg7 Bh5 Qg5 Ng4 h3 Nxf6 Rxf6 Kxg7 Rxf7+ Rxf7 Qxd8 Kh7 Re1 a6 Be8 Rg7 Qxd6 Raa7 g4 b5 Qxb8 bxa4 Bxa4 Rab7 Qe5 Rb2 d6 Rd2 d7
User avatar
pohl4711
Posts: 2840
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet Multithreading-mode broken?

Post by pohl4711 »

Iterations in one search have nothing to do with Multithreading
User avatar
pohl4711
Posts: 2840
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet Multithreading-mode broken?

Post by pohl4711 »

Windows avx2 is definitly broken. In console-mode multithreading does not work. Regardless, if "isready" is given as uci-command before "setoption name threads value x" or not. And so it will not work in any other Windows-GUI, I presume.
gordonr
Posts: 239
Joined: Thu Aug 06, 2009 8:04 pm
Location: UK

Re: Velvet Multithreading-mode broken?

Post by gordonr »

pohl4711 wrote: Sat Jan 07, 2023 11:57 am Iterations in one search have nothing to do with Multithreading
Sorry, I don't understand what you mean.

When I ran Velvelt 5.0. with MutiPV and 1 thread, I see about 2.5 million nodes per second.
When I ran Velvet 5.0 with MutiPV and 30 threads, I see about 38 million nodes per second.

What is broken in the Arena/Windows search? What should I be seeing that I'm not?
User avatar
RubiChess
Posts: 650
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Velvet Multithreading-mode broken?

Post by RubiChess »

pohl4711 wrote: Sat Jan 07, 2023 12:01 pm Windows avx2 is definitly broken. In console-mode multithreading does not work. Regardless, if "isready" is given as uci-command before "setoption name threads value x" or not. And so it will not work in any other Windows-GUI, I presume.
Velvet multithreading works here (using Windows) when you give "isready" _after_ "setoption name Threads value ..."
And this is what Arena does, so it works there. No idea if UCI specs say something about that GUI is expected to always finish setoption with an isready.

Regards, Andreas
User avatar
pohl4711
Posts: 2840
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Velvet Multithreading-mode broken?

Post by pohl4711 »

RubiChess wrote: Sat Jan 07, 2023 12:32 pm
pohl4711 wrote: Sat Jan 07, 2023 12:01 pm Windows avx2 is definitly broken. In console-mode multithreading does not work. Regardless, if "isready" is given as uci-command before "setoption name threads value x" or not. And so it will not work in any other Windows-GUI, I presume.
Velvet multithreading works here (using Windows) when you give "isready" _after_ "setoption name Threads value ..."
And this is what Arena does, so it works there. No idea if UCI specs say something about that GUI is expected to always finish setoption with an isready.

Regards, Andreas
Correct. If "isready" is given after the setoption threads command, it works.
But in FritzGUI it doesnt work, but FritzGUI is known for its bad UCI-support...So, it seems, its an FritzGUI/Chessbase problem.
Interesting.