Profile guided optimization (PGO) How long...

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Profile guided optimization (PGO) How long...

Post by michiguel »

How long would you run your engine on some tests or games to accumulate significant amount of data? 10 min? 1 hr? 3 hrs?

I am using ICC on Linux.
Miguel
Mincho Georgiev
Posts: 454
Joined: Sat Apr 04, 2009 6:44 pm
Location: Bulgaria

Re: Profile guided optimization (PGO) How long...

Post by Mincho Georgiev »

I'm always making 2 games, about 10 minutes, tried with longer training, but i don't see any difference.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Profile guided optimization (PGO) How long...

Post by bob »

michiguel wrote:How long would you run your engine on some tests or games to accumulate significant amount of data? 10 min? 1 hr? 3 hrs?

I am using ICC on Linux.
Miguel
I run about 25 positions at 10 seconds per position. The length is not as important as the variety. The data needs to reflect what is typically seen during a game. You don't want all endgame positions, or all opening positions. The samples needs to match a typical game as closely as possible
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Profile guided optimization (PGO) How long...

Post by Dann Corbit »

I like to run a ten game gauntlett match against a variety of opponents.
Then I run three EPD test sets:
1. Quiet test (for non capture moves)
2. Tough problem test (some difficult moves)
3. Pawntest (endgame moves to exercise EGTB/bitbase and pawn hash)
Then I do a perft 6 (or 7 if the program has a good perft)

This exercises most of a chess program's playing guts. The other kinds of things don't have to be fast.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Profile guided optimization (PGO) How long...

Post by bob »

Dann Corbit wrote:I like to run a ten game gauntlett match against a variety of opponents.
Then I run three EPD test sets:
1. Quiet test (for non capture moves)
2. Tough problem test (some difficult moves)
3. Pawntest (endgame moves to exercise EGTB/bitbase and pawn hash)
Then I do a perft 6 (or 7 if the program has a good perft)

This exercises most of a chess program's playing guts. The other kinds of things don't have to be fast.
I would not use perft. 100% unrelated to playing real games, which can/will bias the profile output. Games are ok, but this is way beyond overkill. All you get from PGO is branch information so that the code can be layed out based on the most likely outcome of a branch. It is either "on" or "off" for each branch. Dozens of games will give no more useful information than a single game.