Jumbo 0.6.62 is out

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Sven
Posts: 3830
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Jumbo 0.6.64 is out

Post by Sven » Thu Nov 01, 2018 10:48 pm

I have just released Jumbo 0.6.64 . Versions 0.6.63 and 0.6.62 should not be used, they are crashing and/or not working reliably.

http://www.schuelebln.de/chess/jumbo

@joechess: I am not sure whether this solves your problem since I can't reproduce your "illegal instruction" error on my hardware. But I found another crash which I fixed with the new version. So could you please try again with 0.6.64 using the binary "jumbo64-0.6.64-bb-sse41.exe"?
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)

tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 8:11 pm
Location: upstate

Re: Jumbo 0.6.62 is out

Post by tpoppins » Fri Nov 02, 2018 6:38 am

Sven, I think compiling with -march=barcelona would solve joechess' crashes, because that's the microarchitecture of his CPU. -msse4a should work too if that's an option. The next step down is -mssse3 but that drops the POPCNT instruction.

If you're still compiling with -msse4.1 Jumbo will keep crashing on his notebook. Or did you merely forget to rename the exec?
Tirsa Poppins
CCRL

Sven
Posts: 3830
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Re: Jumbo 0.6.62 is out

Post by Sven » Fri Nov 02, 2018 9:19 am

tpoppins wrote:
Fri Nov 02, 2018 6:38 am
Sven, I think compiling with -march=barcelona would solve joechess' crashes, because that's the microarchitecture of his CPU. -msse4a should work too if that's an option. The next step down is -mssse3 but that drops the POPCNT instruction.

If you're still compiling with -msse4.1 Jumbo will keep crashing on his notebook. Or did you merely forget to rename the exec?
Compile flag differences are as follows for the public Jumbo versions:

a) Up to Jumbo 0.6.51 there were no special compile or linker flags related to certain hardware platforms (just Windows 64 bit). As far as I understood, these binaries were working for "joechess".

b) Starting with Jumbo 0.6.62 the following flags were added to achieve a noticeable speedup and strength increase:
-flto (for all 64-bit binaries)
-msse4.2 (for "jumbo64-VERSION-bb.exe")
The "jumbo64-VERSION-bb-sse41.exe" binary is compiled without "-msse4.2" flag (but not with any "-msseXXX" flag instead). Obviously the name is misleading, the meaning is more like "before SSE 4.2".

I am not willing to provide special binaries for all sorts of special hardware. If the "sse41" binary of 0.6.64 does not work for him but the standard binary for 0.6.51 and earlier were working then the reason might be the "-flto" flag.
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)

joechess
Posts: 22
Joined: Sun Oct 30, 2016 10:02 pm

Re: Jumbo 0.6.62 is out

Post by joechess » Fri Nov 02, 2018 10:41 am

Hi Sven no still not working. Here is log file, is it failing on bookFilePath= ?
2018-11-02 10:34:47.341*1*-----------------Starting engine 1 Jumbo64-0.6.64-bb-sse41------------------
2018-11-02 10:34:47.357*1*Configured Engine 1 Type: WB2
2018-11-02 10:34:47.357*1*Engine 1 dir: C:\Users\Joe\Documents\ChessBase\Chess Engines\WB & UCI ENGINE\Jumbo-0.6.64
2018-11-02 10:34:47.357*1*Engine 1 commandline: "C:\Users\Joe\Documents\ChessBase\Chess Engines\WB & UCI ENGINE\Jumbo-0.6.64\jumbo64-0.6.64-bb-sse41.exe"
2018-11-02 10:34:47.466*1*Engine 1 ProcessID: 812
2018-11-02 10:34:47.466*1*Engine 1 Prio:32 ThreadPrio:0
2018-11-02 10:34:47.466<--1:# JumboBB 0.6.64
2018-11-02 10:34:47.466-->1:xboard
2018-11-02 10:34:47.466-->1:protover 2
2018-11-02 10:34:47.513<--1:# (c) 2016-18 by Sven Schuele, Berlin, Germany
2018-11-02 10:34:47.513<--1:#
2018-11-02 10:34:47.560<--1:feature done=0
2018-11-02 10:34:47.560-->1:accepted done
2018-11-02 10:34:47.591<--1:# new size of TT hash: 256 MB
2018-11-02 10:34:47.903<--1:# new size of Pawn hash: 32 MB
2018-11-02 10:34:47.965<--1:# rnbqkbnr
2018-11-02 10:34:47.996<--1:# pppppppp
2018-11-02 10:34:48.028<--1:# ........
2018-11-02 10:34:48.059<--1:# ........
2018-11-02 10:34:48.090<--1:# ........
2018-11-02 10:34:48.121<--1:# ........
2018-11-02 10:34:48.121<--1:# PPPPPPPP
2018-11-02 10:34:48.152<--1:# RNBQKBNR
2018-11-02 10:34:48.184<--1:#
2018-11-02 10:34:48.215<--1:# Your move:
2018-11-02 10:34:48.246<--1:feature ping=1
2018-11-02 10:34:48.246-->1:accepted ping
2018-11-02 10:34:48.277<--1:feature setboard=1
2018-11-02 10:34:48.277-->1:accepted setboard
2018-11-02 10:34:48.308<--1:feature playother=1
2018-11-02 10:34:48.308-->1:accepted playother
2018-11-02 10:34:48.308<--1:feature usermove=1
2018-11-02 10:34:48.308-->1:accepted usermove
2018-11-02 10:34:48.308<--1:feature colors=0
2018-11-02 10:34:48.308-->1:accepted colors
2018-11-02 10:34:48.340<--1:feature sigint=0
2018-11-02 10:34:48.340-->1:accepted sigint
2018-11-02 10:34:48.371<--1:feature sigterm=0
2018-11-02 10:34:48.371-->1:accepted sigterm
2018-11-02 10:34:48.402<--1:feature analyze=1
2018-11-02 10:34:48.402-->1:accepted analyze
2018-11-02 10:34:48.433<--1:feature name=0
2018-11-02 10:34:48.433-->1:accepted name
2018-11-02 10:34:48.464<--1:feature nps=0
2018-11-02 10:34:48.464-->1:accepted nps
2018-11-02 10:34:48.496<--1:feature debug=1
2018-11-02 10:34:48.496-->1:accepted debug
2018-11-02 10:34:48.527<--1:feature egt="gaviota"
2018-11-02 10:34:48.527-->1:accepted egt
2018-11-02 10:34:48.527<--1:feature smp=1
2018-11-02 10:34:48.527-->1:accepted smp
2018-11-02 10:34:48.558<--1:feature variants="normal"
2018-11-02 10:34:48.558-->1:accepted variants
2018-11-02 10:34:48.558<--1:feature option="ttHashSizeMB -spin 256 1 2048"
2018-11-02 10:34:48.558-->1:accepted option
2018-11-02 10:34:48.558<--1:feature option="pawnHashSizeMB -spin 32 1 2048"
2018-11-02 10:34:48.558-->1:accepted option
2018-11-02 10:34:48.558<--1:feature option="gtbCacheSizeMB -spin 16 0 256"
2018-11-02 10:34:48.558-->1:accepted option
2018-11-02 10:34:48.558<--1:feature option="gtbPath -path C:/gtb"
2018-11-02 10:34:48.558-->1:accepted option
2018-11-02 10:34:48.558<--1:feature option="bookFilePath -path book.bin"
2018-11-02 10:34:48.558-->1:accepted option
2018-11-02 10:34:48.558<--1:feature myname="JumboBB 0.6.64"
2018-11-02 10:34:48.558<--1:feature done=1
2018-11-02 10:34:48.558-->1:accepted done
2018-11-02 10:34:48.558-->1:option bookFilePath
2018-11-02 10:34:48.558-->1:option gtbPath
2018-11-02 10:34:48.558<--1:# setting option: bookFilePath= 2 [main] jumbo64-0.6.64-bb-sse41 812 cygwin_exception::open_stackdumpfile: Dumping stack trace to jumbo64-0.6.64-bb-sse41.exe.stackdump
2018-11-02 10:34:48.558-->1:egtpath gaviota C:\Users\Joe\Documents\ChessBase\TB\Gaviota4Men
2018-11-02 10:34:48.558-->1:cores 1
2018-11-02 10:34:48.558-->1:new
2018-11-02 10:34:48.558-->1:random
2018-11-02 10:34:48.558-->1:level 40 2 0
2018-11-02 10:34:48.558-->1:post
2018-11-02 10:34:48.558-->1:hard
2018-11-02 10:34:48.558-->1:easy
2018-11-02 10:34:48.558-->1:ping 6
2018-11-02 10:34:59.104-->1:cores 1
2018-11-02 10:34:59.104-->1:egtpath gaviota C:\Users\Joe\Documents\ChessBase\TB\Gaviota4Men

D Sceviour
Posts: 463
Joined: Mon Jul 20, 2015 3:06 pm
Contact:

Re: Jumbo 0.6.62 is out

Post by D Sceviour » Fri Nov 02, 2018 1:22 pm

tpoppins wrote:
Fri Nov 02, 2018 6:38 am
Sven, I think compiling with -march=barcelona would solve joechess' crashes, because that's the microarchitecture of his CPU. -msse4a should work too if that's an option. The next step down is -mssse3 but that drops the POPCNT instruction.
Are you sure sse3 drops the POPCNT instruction? I did a test with sse3 and it uses the "popq" instruction.

Sven
Posts: 3830
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Re: Jumbo 0.6.62 is out

Post by Sven » Fri Nov 02, 2018 4:54 pm

joechess wrote:
Fri Nov 02, 2018 10:41 am
Hi Sven no still not working. Here is log file, is it failing on bookFilePath= ?
Please check your PM.
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)

Sven
Posts: 3830
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Re: Jumbo 0.6.62 is out

Post by Sven » Fri Nov 02, 2018 5:33 pm

D Sceviour wrote:
Fri Nov 02, 2018 1:22 pm
tpoppins wrote:
Fri Nov 02, 2018 6:38 am
Sven, I think compiling with -march=barcelona would solve joechess' crashes, because that's the microarchitecture of his CPU. -msse4a should work too if that's an option. The next step down is -mssse3 but that drops the POPCNT instruction.
Are you sure sse3 drops the POPCNT instruction? I did a test with sse3 and it uses the "popq" instruction.
Isn't popq about restoring registers after a subroutine call?

Anyway, to my knowledge POPCNT was introduced with SSE4.2. Since Jumbo uses the GCC intrinsic function __builtin_popcountll(), it will automatically use the POPCNT instruction if available, otherwise the substitute implementation provided by the compiler.
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)

D Sceviour
Posts: 463
Joined: Mon Jul 20, 2015 3:06 pm
Contact:

Re: Jumbo 0.6.62 is out

Post by D Sceviour » Fri Nov 02, 2018 5:56 pm

Sven wrote:
Fri Nov 02, 2018 5:33 pm
D Sceviour wrote:
Fri Nov 02, 2018 1:22 pm
tpoppins wrote:
Fri Nov 02, 2018 6:38 am
Sven, I think compiling with -march=barcelona would solve joechess' crashes, because that's the microarchitecture of his CPU. -msse4a should work too if that's an option. The next step down is -mssse3 but that drops the POPCNT instruction.
Are you sure sse3 drops the POPCNT instruction? I did a test with sse3 and it uses the "popq" instruction.
Isn't popq about restoring registers after a subroutine call?

Anyway, to my knowledge POPCNT was introduced with SSE4.2. Since Jumbo uses the GCC intrinsic function __builtin_popcountll(), it will automatically use the POPCNT instruction if available, otherwise the substitute implementation provided by the compiler.
Sorry, it should have been "popcntq". The code generated for -msse3 is:

Code: Select all

_popcnt:
	pushq	%rbp
	movq	%rsp, %rbp
	subq	$16, %rsp
	movq	%rcx, 16(%rbp)
	movq	16(%rbp), %rax
/APP
 # 41 "bitboard.h" 1
	popcntq %rax, %rax
 # 0 "" 2
/NO_APP
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	addq	$16, %rsp
	popq	%rbp
	ret
I am not sure if my compiler is simply over-riding the sse3 command based on native architecture. Take it from there.

Sven
Posts: 3830
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Re: Jumbo 0.6.62 is out

Post by Sven » Fri Nov 02, 2018 10:12 pm

Sven wrote:
Fri Nov 02, 2018 4:54 pm
joechess wrote:
Fri Nov 02, 2018 10:41 am
Hi Sven no still not working. Here is log file, is it failing on bookFilePath= ?
Please check your PM.
I sent another PM to you. I hope we are close to the solution ...
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)

Jamal Bubker
Posts: 266
Joined: Mon May 24, 2010 2:32 pm

Re: Jumbo 0.6.62 is out

Post by Jamal Bubker » Sun Nov 04, 2018 9:33 am

Hi Sven !

Thanks for this new release ! :D

Post Reply