So here are the fixes:
- Extend maximum hash size to 8GB (it was 2 GB)
- Fix a possible crash when using many threads (thanks to Bruno Causse for the fix)
- Fix en-passant parsing from fen string
- Fix various UCI interface issues so that now connection with GUI should be reliable with all the GUIs
- Fix compatibility with gcc 4.4
- Fixes a Chess960 bug when playing with more than one search thread
- Add hardware POPCNT support for gcc: use 'make gcc-popcnt' to enable hardware POPCNT support if you have an i7 / i5 CPU
- Fix sending of best move during an infinite search
- Optimized "Minimum Split Depth" for 8 cores and removed auto-limitation to 7 cores (thanks to Louis Zulli)
Thanks to the (many) people that helped with bug reports and testing.
Please Jim, could you be so kind to setup the binaries ?
That is fantastic! Thanks for making a maintenance version Marco!
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
This is great..i don't find it just little fixes..they are important..and when i gonne have a i7 compile,i think i gonne see a little strenght gain again
maxchgr wrote:What is the purpose of the different compiles? I ask this not understanding what are compiles actually - thank you.
A compile is a translation of the 'sources' or the program code, the things you want the program to do, to a working program, this is done by a 'compiler'. Different compilers produce slightly different programs.
Not everybody has the same operating system on his computer. Most people know Windows, for them there is the Windows compile but you also have to take into account the number of bits that the program can use with your Windows. The 32 bits version will always work I think on both 32 bits Windows and 64 bits Windows, but if you happen to have 64 bits Windows then the program can use 'bitboards' that are exactly the same size as the number of squares on a chessboard, namely 64 One bit for every square, this is a convenient way to store chess knowledge in the program. Not having to break its bitboards in half makes the program a bit faster.
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
On OS X 10.6, Apple's g++ 4.2.1 also accepts a -fast compile option. It subsumes -O3 and adds a handful of other speed tweaks. When running the benchmark (SP) on a Core 2 Duo, it gives me a 4% nps increase. Is that significant enough for you to change the osx-* targets in the default Makefile?
IanO wrote:On OS X 10.6, Apple's g++ 4.2.1 also accepts a -fast compile option. It subsumes -O3 and adds a handful of other speed tweaks. When running the benchmark (SP) on a Core 2 Duo, it gives me a 4% nps increase. Is that significant enough for you to change the osx-* targets in the default Makefile?
Ian
Yes, it is. But I don't have an OS X to test. Also the -fast option works with gcc 4.2.1 or also with older compilers ?
If you are willing to test I can post a patch for you. Let me know.
IanO wrote:On OS X 10.6, Apple's g++ 4.2.1 also accepts a -fast compile option. It subsumes -O3 and adds a handful of other speed tweaks. When running the benchmark (SP) on a Core 2 Duo, it gives me a 4% nps increase. Is that significant enough for you to change the osx-* targets in the default Makefile?
Ian
This is correct. I got a 3.3% increase in nps using -fast instead of -O3. This was on a Core 2 Duo MacBook.
Be advised that while Apple's gcc accepts -fast, this option does not exist for all versions of gcc. For example, it doesn't exist for gcc-4.4, which I also installed on my Mac.
IanO wrote:On OS X 10.6, Apple's g++ 4.2.1 also accepts a -fast compile option. It subsumes -O3 and adds a handful of other speed tweaks. When running the benchmark (SP) on a Core 2 Duo, it gives me a 4% nps increase. Is that significant enough for you to change the osx-* targets in the default Makefile?
Ian
This is correct. I got a 3.3% increase in nps using -fast instead of -O3. This was on a Core 2 Duo MacBook.
Be advised that while Apple's gcc accepts -fast, this option does not exist for all versions of gcc. For example, it doesn't exist for gcc-4.4, which I also installed on my Mac.
It may (or may not) be interesting to see whether a combination of portable compiler flags implied by -fast can give a significant speedup. You should be able to find out what these flags are by comparing the output of g++ -O3 -Q --help=optimizers and g++ -fast -Q --help=optimizers.