Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: computer chess tidbits: arena, crafty, intel compiler and pocket pc

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.