Author: Robert Hyatt
Date: 09:01:32 05/20/02
Go up one level in this thread
On May 19, 2002 at 18:05:36, Mike Byrne wrote: >I have been away from computer chess for a while and was glad there is still a >large interest in computerchess. Many thanks to those who wrote the "Arena" >software -- it's nice work and has room for many more improvements. > >It is good to see Crafty is alive and well - the latest version 18.14 is very >solid. I am able to get 1,000,000 nodes per second using MVC++ 6.0 and the >Intel "plug in" compiler. However my intel license is the of the demo variety >and will expire in 30 days or so. The intel compiler does have a nifty option >that uses the >a Profile-guided Optimizations - here's a brief overview: You overlooked a _key_ issue. If you are using the compiler non-commercially, then you can get a permanent license at no cost. I am using it on my Linux box in fact... They only charge if you are using it to develop/distribute commercial software. > >" >Profile-guided optimizations (PGO) tell the compiler which areas of an >application are most frequently executed. By knowing these areas, the compiler >is able to be more selective in optimizing the application. For example, the use >of PGO often enables the compiler to make better decisions about function >inlining, thereby increasing the effectiveness of interprocedural optimizations. > >Instrumented Program >Profile-guided optimization creates an instrumented program from your source >code and special code from the compiler. Each time this instrumented code is >executed, the instrumented program generates a dynamic information file. When >you compile a second time, the dynamic information files are merged into a >summary file. Using the profile information in this file, the compiler attempts >to optimize the execution of the most heavily travelled paths in the program. > >Unlike other optimizations, such as those used strictly for size or speed, the >results of IPO and PGO vary. This is due to each program having a different >profile and different opportunities for optimizations. The guidelines provided >here help you determine if you can benefit by using IPO and PGO. > >In this version of the IntelĀ® C++ Compiler, PGO is improved in the following >ways: > >Register allocation uses the profile information to optimize the location of >spill code. > >For indirect function calls, branch prediction is improved by identifying the >most likely targets. With the PentiumĀ® 4 processor's longer pipeline, improved >branch prediction translates to higher performance gains. > >The compiler detects and does not vectorize loops that execute only a small >number of iterations, reducing the run time overhead that vectorization might >otherwise add. >" > > >My fastest compiler options using the Intel were as follows: > >CFLAGS = /G7 /Gr /O3 /Ob2 /Ot /Oi /Oa /GA /Zm200 /QxW /Qip /Qprof_gen > >G7 & QxW is for Pentium 4, /03 is an aggressive use of optimazitions, > >You must then run the program and play a few games then repeat the compliation >process using > >CFLAGS = /G7 /Gr /O3 /Ob2 /Ot /Oi /Oa /GA /Zm200 /QxW /Qip /Qprof_use > >I gained roughly 10% more nodes with the Intel compiler over MSVC 6- although I >have heard Visual.net is also faster than MSVC 6. > >There are now multiple hundreds of free chess programsthat run the winboard or >UCI protocols - that is also very good for computer chessn enthusiasts. > >Later this year - Pocket Pc's will be running 400 Mhz CPU's - that will make for >very a solid portable chess machine. > >Best wishes to all. > >Mike Byrne
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.