Gandalf wrote:Funny. Yet, I am still no closer to understanding what is wrong with what I posted... As a guess, should I have said something like "it is an impossibly difficult task that requires you to completely rewrite critical portions of your code"?
Well this probably would be a little more closer to the truth!
In fact, I think the two problems must be considered separately.
For 64 bits, the compiler will indeed do most of the job. However, it will do little good if you don't have in your program some stuff that can take advantage of 64 bit architectures. For example, in Hamsters there are very few 64 bit variables, basically just for the hash keys and the node counts. So I don't expect much from a 64 bit recompile. But Kiwi (also Crafty and Glaurung) is based on bitboards and makes heavy use of 64 bit data and operations, so a good speedup is expected.
The SMP problem is different. The compiler here will do no good to a chess program. Although there are libraries and techniques that can take a C or C++ program and make it parallel (usually with some help from the programmer) in most chess programs the code flows in a way that makes it impossible to take full advantage of SMP architectures without rewriting the search algorithm. Thanks to the pioneering work of Bob and Tord, who recently did an amazing job of simplifying the algorithm and implementation down to human levels, this is not an "impossibly difficult task" anymore, but it's still not something you program while watching a movie...