Why isn't Hiarcs 64bit?

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

Moderators: hgm, Rebel, chrisw

User avatar
Harvey Williamson
Posts: 2011
Joined: Sun May 25, 2008 11:12 pm
Location: Whitchurch. Shropshire, UK.
Full name: Harvey Williamson

Re: Why isn't Hiarcs 64bit?

Post by Harvey Williamson »

IWB wrote:
Werner wrote:
Harvey Williamson wrote:
So there are no ratings lists testing both? That is a shame if it really is 20% faster it could be about 10 elo.
Have a look here at CEGT 40/20:
some examples
17 Houdini 1.5a x64 1CPU 3010
34 Houdini 1.5a w32 1CPU 2973

32 Critter 1.4 x64 1CPU 2977
42 Critter 1.4 w32 1CPU 2964

36 Stockfish 2.2.2 x64 1CPU 2973
54 Stockfish 2.2.2 w32 1CPU 2940

47 Komodo 3.0 x64 2953
71 Komodo 3.0 w32 2908

PS: I do not like the way you are writing here - it is a shame for the whole Hiarc team in my eyes!
Hi Werner,

I think you got this wrong. Harvey is talking about Junior and a possible 20% difference, not about the difference between 32 and 64 bit in general.

As far as I see the last Junior which is tested in 32 bit is "383 Deep Junior 10.1 4CPU 2656 14 14 1561 41.6% 2716 32.2%" in the CEGT 40/20. If there is really a 20% difference a test of that makes much more sense than a test of the 32 and the 64bit Version of Shredder (e.g.)

(That is a bit "theoretical" as I promote to test the 64bit solely if available, but the CEGT in general test both versions - but not Junior recently - and I did not check the CCRL)

This is no accusation at all, I personaly are absolutly happy with the 64bit test only!!!

Bye
Ingo
Ingo is correct :)
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Why isn't Hiarcs 64bit?

Post by Don »

IWB wrote:
Don wrote:
I'm not convinced that 64 bit chess programs have to be faster. A 64 bit program is faster on a 64 bit machine but that is because it is written in a way which cripples it on 32 bits. It doesn't necessarily follow that this is the only good way to write a chess program. Maybe it is, I'm just saying that I have not been fully convinced of this yet.
I absolutly agree and there is some kind of "historical" argument to prove that.

At time when Rybka 2.3.2a was 100 Elo above all others the same argument about 64bit was used. Nowadays we have several engines (Shredder, Fritz, Hiarcs ...) in that area which are not bitbaord but different AND at the same strength. So, the argument "64 bit is faster and therefore better" fails. This wasn't true in the past and it has to be proven that it is true today!! (and I doubt that it can be proven)

Bye
Ingo
It would be hard to prove. If you wrote 2 programs that were functionally identical you could claim that is a proof but it isn't. When you write a 64 bit program you tend to do things in a way which try to take advantage of the bitboards and when you write a "mailbox" style program you will write that differently.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
IWB
Posts: 1539
Joined: Thu Mar 09, 2006 2:02 pm

Re: Why isn't Hiarcs 64bit?

Post by IWB »

Don wrote:
It would be hard to prove. If you wrote 2 programs that were functionally identical you could claim that is a proof but it isn't. When you write a 64 bit program you tend to do things in a way which try to take advantage of the bitboards and when you write a "mailbox" style program you will write that differently.
Yep, the only thing we have is that the claim "64bit is better for chess" was always wrong in the past. With this knowledge I would rather assume the equality of both concepts than to assume the superiority of one ... !

Bye
Ingo
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Why isn't Hiarcs 64bit?

Post by Don »

IWB wrote:
Don wrote:
It would be hard to prove. If you wrote 2 programs that were functionally identical you could claim that is a proof but it isn't. When you write a 64 bit program you tend to do things in a way which try to take advantage of the bitboards and when you write a "mailbox" style program you will write that differently.
Yep, the only thing we have is that the claim "64bit is better for chess" was always wrong in the past. With this knowledge I would rather assume the equality of both concepts than to assume the superiority of one ... !

Bye
Ingo
In general 64 bit computers have some real advantages which are not hypothetical - the only issue is proving that a chess program can take advantage of that. It's not clear (at least to me) because you can build extremely efficient data structures on a 32 bit architecture for chess. The fact that you have to go out of your way to build a 64 bit program and do everything differently somehow gives me pause. Still, I am relatively sure it's the better way to go but I would not bet my life on it. And I'll bet the true advantage (assuming there is an advantage and it could be measured which I don't think it can) would be pretty small. A world class program could be written either way - just my opinion.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
h1a8
Posts: 512
Joined: Fri Jun 04, 2010 7:23 am

Re: Why isn't Hiarcs 64bit?

Post by h1a8 »

Don wrote:
IWB wrote:
Don wrote:
It would be hard to prove. If you wrote 2 programs that were functionally identical you could claim that is a proof but it isn't. When you write a 64 bit program you tend to do things in a way which try to take advantage of the bitboards and when you write a "mailbox" style program you will write that differently.
Yep, the only thing we have is that the claim "64bit is better for chess" was always wrong in the past. With this knowledge I would rather assume the equality of both concepts than to assume the superiority of one ... !

Bye
Ingo
In general 64 bit computers have some real advantages which are not hypothetical - the only issue is proving that a chess program can take advantage of that. It's not clear (at least to me) because you can build extremely efficient data structures on a 32 bit architecture for chess. The fact that you have to go out of your way to build a 64 bit program and do everything differently somehow gives me pause. Still, I am relatively sure it's the better way to go but I would not bet my life on it. And I'll bet the true advantage (assuming there is an advantage and it could be measured which I don't think it can) would be pretty small. A world class program could be written either way - just my opinion.
So In your opinion a 32bit program written to utmost efficiency will be the same strength as a corresponding 64bit program also written to utmost efficiency?
User avatar
Werner
Posts: 2877
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Why isn't Hiarcs 64bit?

Post by Werner »

Harvey Williamson wrote: Ingo is correct :)
...of course I have Deep Junior results too inside CEGT:
204 Deep Junior 13.3 x64 1CPU 2753
275 Deep Junior 13.3 w32 1CPU 2702

but as we can read before: nobody knows what would be the difference if both engines would be optmized.
Werner
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Why isn't Hiarcs 64bit?

Post by Don »

h1a8 wrote:
Don wrote:
IWB wrote:
Don wrote:
It would be hard to prove. If you wrote 2 programs that were functionally identical you could claim that is a proof but it isn't. When you write a 64 bit program you tend to do things in a way which try to take advantage of the bitboards and when you write a "mailbox" style program you will write that differently.
Yep, the only thing we have is that the claim "64bit is better for chess" was always wrong in the past. With this knowledge I would rather assume the equality of both concepts than to assume the superiority of one ... !

Bye
Ingo
In general 64 bit computers have some real advantages which are not hypothetical - the only issue is proving that a chess program can take advantage of that. It's not clear (at least to me) because you can build extremely efficient data structures on a 32 bit architecture for chess. The fact that you have to go out of your way to build a 64 bit program and do everything differently somehow gives me pause. Still, I am relatively sure it's the better way to go but I would not bet my life on it. And I'll bet the true advantage (assuming there is an advantage and it could be measured which I don't think it can) would be pretty small. A world class program could be written either way - just my opinion.
So In your opinion a 32bit program written to utmost efficiency will be the same strength as a corresponding 64bit program also written to utmost efficiency?
My opinion is a guess, but my guess is that the utmost 64 bit program would have a small edge over the utmost 32 bit program.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
syzygy
Posts: 5569
Joined: Tue Feb 28, 2012 11:56 pm

Re: Why isn't Hiarcs 64bit?

Post by syzygy »

Don wrote:My opinion is a guess, but my guess is that the utmost 64 bit program would have a small edge over the utmost 32 bit program.
I wouldn't be surprised if the program that when compiled for x86 is the utmost 32-bit program on a 32-bit OS, would run faster on the same PC when compiled for x86-64 on a 64-bit OS. If the same engine goes faster, it is better. (The difference might be too small to make it commercially worth the trouble.)

If the OS is Linux, the same engine would probably run still faster when compiled for the X32 abi.

If the architecture is not x86 / x86-64, then the 64-bit compile would likely be a bit slower than the 32-bit compile. On such an architecture, the utmost 64-bit program might still have an edge over the utmost 32-bit program, but it will have to be a different engine that specifically makes use of the advantages of the 64-bit architecture.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Why isn't Hiarcs 64bit?

Post by Dirt »

syzygy wrote:I wouldn't be surprised if the program that when compiled for x86 is the utmost 32-bit program on a 32-bit OS, would run faster on the same PC when compiled for x86-64 on a 64-bit OS. If the same engine goes faster, it is better. (The difference might be too small to make it commercially worth the trouble.)
I can't believe this is still being discussed.

A bitboard engine gains a lot from a 64-bit conversion. Most others are usually slightly faster but some, such as Toga II, are slightly slower. I must admit that I've never heard of compiling a bitboard engine without changing the key instructions to 64-bit versions.
syzygy
Posts: 5569
Joined: Tue Feb 28, 2012 11:56 pm

Re: Why isn't Hiarcs 64bit?

Post by syzygy »

Dirt wrote:
syzygy wrote:I wouldn't be surprised if the program that when compiled for x86 is the utmost 32-bit program on a 32-bit OS, would run faster on the same PC when compiled for x86-64 on a 64-bit OS. If the same engine goes faster, it is better. (The difference might be too small to make it commercially worth the trouble.)
I can't believe this is still being discussed.
Why not? People keep asking questions.
A bitboard engine gains a lot from a 64-bit conversion. Most others are usually slightly faster but some, such as Toga II, are slightly slower.
As far as I know, a 32-bit compile that is faster than a 64-bit compile on x86/x86-64 is rather exceptional, for well-known technical reasons.

I just compiled fruit-2.1 for both 32-bit and 64-bit. The 64-bit executable is about 9.9% faster on my computer. If it is different for Toga, it would be interesting to know the reason for that. Unfortunately the Toga source that I found does not include a makefile, and it seems to be Windows-only anyway.