64-bit PGO problem?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

MartinBryant

64-bit PGO problem?

Post by MartinBryant »

I've recently tried compiling Colossus on 64-bit XP with Visual Studio 2008. However the PGO produces some strange results?!

(After the usual Instrument build and Run...)

With the 32-bit Optimize compile I get the message...
1249 of 1249 (100.00%) profiled functions will be compiled for speed

However with the 64-bit Optimize compile I get the message...
111 of 1249 (8.89%) profiled functions will be compiled for speed

Why only 111? I did the same profile run, so it should have visited the same functions the same number of times! (The node counts, pv's etc are identical.)

Has anybody else noticed discrepencies such as this and got any explanations?


FWIW, the resulting 64-bit exe was about 10% slower than the 32-bit exe. Now Colossus doesn't use bitboards so I wasn't expecting a major improvement but I thought there might be at least some gain. Was I wrong to assume this? Or is it down to a PGO problem? Has anybody else compiled a non-bitboard engine to 64-bit and got an improvement?
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: 64-bit PGO problem?

Post by pedrox »

I have some similar results, I also compiled danasah for 64-bit and was slower than the 32-bit version, I do not remember whether it was 10% less, in my case I think it was 3%. Also the case with other engines (not bitboard), for example TOGA.
User avatar
Denis P. Mendoza
Posts: 415
Joined: Fri Dec 15, 2006 9:46 pm
Location: Philippines

Re: 64-bit PGO problem?

Post by Denis P. Mendoza »

MartinBryant wrote:I've recently tried compiling Colossus on 64-bit XP with Visual Studio 2008. However the PGO produces some strange results?!

(After the usual Instrument build and Run...)

With the 32-bit Optimize compile I get the message...
1249 of 1249 (100.00%) profiled functions will be compiled for speed

However with the 64-bit Optimize compile I get the message...
111 of 1249 (8.89%) profiled functions will be compiled for speed

Why only 111? I did the same profile run, so it should have visited the same functions the same number of times! (The node counts, pv's etc are identical.)

Has anybody else noticed discrepencies such as this and got any explanations?


FWIW, the resulting 64-bit exe was about 10% slower than the 32-bit exe. Now Colossus doesn't use bitboards so I wasn't expecting a major improvement but I thought there might be at least some gain. Was I wrong to assume this? Or is it down to a PGO problem? Has anybody else compiled a non-bitboard engine to 64-bit and got an improvement?
Martin,

I'm no expert on this matter, but these 64-bit reports during compiling shows that your code does not fully utilize the benefits for a 64-bit build. It's the same case as Toga and the old Fruit code as well. I also had the same case for Danasah when I compiled it in 64-bit before (and Pedro mentioned his experience as well). Thus, your 64-bit compiles were slower than 32-bit builds. At the least, these will guide you to how well you could modify your code to benefit 64-bit in the future.

I hope this simple comment help, and hoping for the best for Colussus engine.

Denis
User avatar
beachknight
Posts: 3533
Joined: Tue Jan 09, 2007 8:33 pm
Location: Antalya, Turkey

Re: 64-bit PGO problem?

Post by beachknight »

Hi Denis,

Although few percent gains in speed would be
desirable, I am waiting for the release of 64 bit
versions of both engines.

best,
hi, merhaba, hallo HT