That seems like a good speed.  

On my "Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz", using linux and
the exact compiler libego was tuned for, I get 42 kpps/GHz.

On my "AMD Athlon(tm) 64 X2 Dual Core Processor 5000+", using the same
compiler, I only get 37 kpps/GHz.



On Wed, 2009-04-22 at 18:09 -0400, Michael Williams wrote:
> After I used a better MinGW build, with a newer gcc (the one Ben suggested), 
> I get must better results with no compiler warnings:
> 
> 40.0609 kpps/GHz
> 
> Lukasz, the march options of native, i686 and core2 all worked and came out 
> to similar results with i686 being slightly faster for me.
> 
> 
> Łukasz Lew wrote:
> > 2009/4/22 Michael Williams <michaelwilliam...@gmail.com>:
> >> This worked for me:
> >> C:\Libego\lukaszlew-libego-476a46885f80e1f4d83494bb632398b3974e901b>g++ -o
> >> engine.exe ego/ego.cpp example/main.cpp -O3 -Iego -fomit-frame-pointer
> >> -ffast-math -frename-registers
> >>
> >> (I removed the -march switch)
> >>
> >> 22.5101 kpps/GHz
> > 
> > No too much :)
> > Can you try -march=i686 and -march=core2 (if you have core2) ?
> > 
> >>
> >> And I was able to create a DLL like this:
> >>
> >> C:\Libego\lukaszlew-libego-476a46885f80e1f4d83494bb632398b3974e901b>g++
> >> -shared -o libego.dll ego/eg
> >> o.cpp exported.cpp -O3 -Iego -fomit-frame-pointer -ffast-math
> >> -frename-registers
> >>
> >> 46274.8727441 pps
> >>
> >> SUCCESS!  Thanks for everyone's help.
> >>
> >>
> >> Here are the contents of exported.cpp:
> > 
> > This is almost the same as Benchmark::do_playout in benchmark.cpp
> > 
> >>
> >> #include "ego/ego.h"
> >>
> >> __declspec(dllexport) void DoPlayouts(int playout_cnt, int * blackWins, int
> >> * whiteWins)
> >> {
> >>  SimplePolicy policy;
> >>  Board board [1];
> >>  Board mc_board [1];
> >>  Playout<SimplePolicy> playout(&policy, mc_board);
> >>
> >>  for (int i = 0; i != playout_cnt; i++) {
> >>    mc_board->load(board);
> >>    playout_status_t status = playout.run ();
> >>    if (status != too_long)
> >>    {
> >>      int score = mc_board -> score ();
> >>      if (score > 0)
> >>      {
> >>        (*blackWins)++;
> >>      }
> >>      else
> >>      {
> >>        (*whiteWins)++;
> >>      }
> >>    }
> >>  }
> >> }
> >>
> >>
> >> Łukasz Lew wrote:
> >>> Please download newest version, I made some ifdefWIN 32 ... to aid
> >>> mingw porting.
> >>> http://github.com/lukaszlew/libego/zipball/master
> >>>
> >>> Under linux I can cross compile to windows binary with a following command
> >>> $ i586-mingw32msvc-g++ -o engine.exe ego/ego.cpp example/main.cpp -O3
> >>> -march=native -Iego -fomit-frame-pointer -ffast-math
> >>> -frename-registers
> >>>
> >>> It might just work :)
> >>>
> >>> FYI
> >>> $ i586-mingw32msvc-g++ --version
> >>> i586-mingw32msvc-g++ (GCC) 4.2.1-sjlj (mingw32-2)
> >>>
> >>> And the performance I get is around 32 kpps/GHz
> >>>
> >>> Lukasz
> >>>
> >>> 2009/4/22 Michael Williams <michaelwilliam...@gmail.com>:
> >>>> Ok, I have Mingw installed now.  That sounds like the way to go.  But I
> >>>> still don't know how to compile it  :/
> >>>>
> >>>> According to the SConstruct file, I should be doing something like this
> >>>> to
> >>>> build, but it complains:
> >>>>
> >>>> C:\Libego> g++ /Fobuild\ego\dbg\ego.obj /c ego\ego.cpp -DDEBUG -ggdb3
> >>>> -Wall
> >>>> -Wextra -Wswitch-enum -fno-inline /nologo /Iego
> >>>>
> >>>> g++: /Fobuild\ego\dbg\ego.obj: No such file or directory
> >>>> g++: /c: No such file or directory
> >>>> g++: /nologo: No such file or directory
> >>>> g++: /Iego: No such file or directory
> >>>> In file included from ego\ego.h:27,
> >>>>                from ego\ego.cpp:47:
> >>>> ego\gtp.h:73: warning: `class Gtp' has virtual functions but non-virtual
> >>>> destructor
> >>>> In file included from ego\ego.cpp:54:
> >>>> ego\player.cpp: In constructor `Player::Player()':
> >>>> ego\player.cpp:27: warning: converting of negative value `-0x000000001'
> >>>> to
> >>>> `uint'
> >>>> In file included from ego\ego.cpp:55:
> >>>> ego\color.cpp: In constructor `Color::Color()':
> >>>> ego\color.cpp:27: warning: converting of negative value `-0x000000001' to
> >>>> `uint'
> >>>>
> >>>>
> >>>> I also tried the build command for the optimized version:
> >>>>
> >>>>
> >>>> C:\Libego> g++ /Fobuild\ego\opt\ego.obj /c ego\ego.cpp -DDEBUG -ggdb3
> >>>> -Wall
> >>>> -Wextra -Wswitch-enum -O3 -march=native -fomit-frame-pointer -ffast-math
> >>>> -frename-registers /nologo /Iego
> >>>>
> >>>> g++: /Fobuild\ego\opt\ego.obj: No such file or directory
> >>>> g++: /c: No such file or directory
> >>>> g++: /nologo: No such file or directory
> >>>> g++: /Iego: No such file or directory
> >>>> ego\ego.cpp:1: error: bad value (native) for -march= switch
> >>>> ego\ego.cpp:1: error: bad value (native) for -mtune= switch
> >>>>
> >>>>
> >>>> Sorry for my ignorance.
> >>>>
> >>>>
> >>>>
> >>>> Łukasz Lew wrote:
> >>>>> 2009/4/21 Łukasz Lew <lukasz....@gmail.com>:
> >>>>>> mingw rules!
> >>>>>> I compiled libego with it and got a decent 32kpps / GHz ( native g++
> >>>>>> was 44kpps / GHz)
> >>>>> I used wine to run resulting exe on linux:)
> >>>>>
> >>>>>> Lukasz
> >>>>>>
> >>>>>> 2009/4/21 Don Dailey <dailey....@gmail.com>:
> >>>>>>> I use mingw to produce cros platform executables.   I can build
> >>>>>>> executables
> >>>>>>> for linux, win32 and win64, which for my chess program is a must since
> >>>>>>> it's
> >>>>>>> 64 bit.
> >>>>>>>
> >>>>>>> - Don
> >>>>>>>
> >>>>>>>
> >>>>>>> On Tue, Apr 21, 2009 at 5:33 AM, Łukasz Lew <lukasz....@gmail.com>
> >>>>>>> wrote:
> >>>>>>>> On Tue, Apr 21, 2009 at 11:23, elife <elife2...@gmail.com> wrote:
> >>>>>>>>>> I forgot about cygwin indeed. It is a good idea.
> >>>>>>>>>> But can you ran the binary on a system without cygwin?
> >>>>>>>>> We can run the binary on a system without cygwin if we provide
> >>>>>>>>> cygwin1.dll.
> >>>>>>>> That is great.
> >>>>>>>> Another good idea is mingw.
> >>>>>>>>
> >>>>>>>> BTW
> >>>>>>>> I would like to recommend stackoverflow.com for programming
> >>>>>>>> questions.
> >>>>>>>> I asked this question there
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> http://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw
> >>>>>>>> and got few good answers within a minute.
> >>>>>>>>
> >>>>>>>> Lukasz
> >>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> computer-go mailing list
> >>>>>>>>> computer-go@computer-go.org
> >>>>>>>>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>>>>>>>
> >>>>>>>> _______________________________________________
> >>>>>>>> computer-go mailing list
> >>>>>>>> computer-go@computer-go.org
> >>>>>>>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>>>>> _______________________________________________
> >>>>>>> computer-go mailing list
> >>>>>>> computer-go@computer-go.org
> >>>>>>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>>>>>
> >>>>> _______________________________________________
> >>>>> computer-go mailing list
> >>>>> computer-go@computer-go.org
> >>>>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>>>
> >>>> _______________________________________________
> >>>> computer-go mailing list
> >>>> computer-go@computer-go.org
> >>>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>>
> >>> _______________________________________________
> >>> computer-go mailing list
> >>> computer-go@computer-go.org
> >>> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>>
> >> _______________________________________________
> >> computer-go mailing list
> >> computer-go@computer-go.org
> >> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>
> > _______________________________________________
> > computer-go mailing list
> > computer-go@computer-go.org
> > http://www.computer-go.org/mailman/listinfo/computer-go/
> > 
> 
> _______________________________________________
> computer-go mailing list
> computer-go@computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to