Starting over again

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

OliverUwira

Starting over again

Post by OliverUwira »

Hello everybody,

it's been quite a while now since I last touched my engine. The actual course of action was that I worked on it for about three months during the spring of 2006, participated at the Chess960 tournament at Mainz 2006 and then hardly continued to work on it at all, up until now.

Now, the fascination of chess programming caught me again and I've decided to continue.

What had always got to me back then is that my engine didn't see to crash and didn't seem to have search errors, but it just didn't seem to be able to get deep into the search tree.

Now I've begun my work by playing a couple of games against it whilst collecting some debug data and I'm not really able to make sense of them...

E.g. I suspect that I'll suffer from some sort of tree explosion, but then, the debug info says I'm only spending around 30-40% percent in quiescence search. Below I have to debug outputs, each in a 5 min blitz game, one after 1.d4 and one after 1.e4

My engine gets one ply deeper after 1.d4, and since 1.d4 positions are more quiet, I began to suspect the quiescence search...

Code: Select all

2.961.291<--1&#58;info score cp -13 depth 9 nodes 653109 time 8845 pv d7d5  c1f4  g8f6  b1c3  c8f5  c3b5  b8a6  g1f3  c7c5

...

2.961.896<--1&#58;info string Transposition Table&#58; &#91;Hits 21409 &#40;3%) | Moves 76201 &#40;11%) | IID calls&#58; 54 &#40;0%)&#93;
2.961.943<--1&#58;info string Evaluation&#58;          &#91;Calls 640061 | Cache hits 210738 &#40;32%)&#93;
2.961.977<--1&#58;info string Pawn evaluation&#58;     &#91;Calls 429323 | Cache hits 394450 &#40;91%)&#93;
2.962.032<--1&#58;info string Null move&#58;           &#91;Tries 5582 | Cutoffs 2968 &#40;53%) | Mate 0 &#40;0%)&#93;
2.962.094<--1&#58;info string Reductions&#58;          &#91;LMR 6069 &#40;0%) | Futility 4067 &#40;0%) | Razoring 109 &#40;0%)&#93;
2.962.162<--1&#58;info string Quiescence Nodes&#58; 78382 &#40;11%)
2.962.235<--1&#58;info string Cutoff rate&#58;    &#91;1.22&#93;


3.035.625<--1&#58;info score cp -16 depth 7 nodes 309961 time 5039 pv d7d5  e4d5  d8d5  b1c3  d5e5  f1e2  c8f5

...

3.036.413<--1&#58;info string Transposition Table&#58; &#91;Hits 12450 &#40;2%) | Moves 61628 &#40;11%) | IID calls&#58; 90 &#40;0%)&#93;
3.036.453<--1&#58;info string Evaluation&#58;          &#91;Calls 513649 | Cache hits 215360 &#40;41%)&#93;
3.036.505<--1&#58;info string Pawn evaluation&#58;     &#91;Calls 298289 | Cache hits 267693 &#40;89%)&#93;
3.036.590<--1&#58;info string Null move&#58;           &#91;Tries 3772 | Cutoffs 1783 &#40;47%) | Mate 0 &#40;0%)&#93;
3.036.664<--1&#58;info string Reductions&#58;          &#91;LMR 4013 &#40;0%) | Futility 4067 &#40;0%) | Razoring 116 &#40;0%)&#93;
3.036.734<--1&#58;info string Quiescence Nodes&#58; 63502 &#40;12%)
3.036.805<--1&#58;info string Cutoff rate&#58;    &#91;1.17&#93;
I know I'm not a very skilled C programmer, but this slow speed can't be only because of inefficient programming, can it?

I'd appreciate some opinions. I recall that this board also had some keen testers. If someone'd like to check out on their own, I've put the source on the web, as well as a Windows executable.

http://www.koenig-nied.de/tmp/Kurt_271009.zip

Cheers to all of you.
Feels good to be back and learn (-:
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

I don't understand this assignment in ttable.c at line 250:

test_unsigned = (unsigned int)4294967296;

a 4 byte unsigned integer can only hold values between 0 and 4294967295.

On the other hand, I do not see any active calls to CheckTranspositionTable().
OliverUwira

Re: Starting over again

Post by OliverUwira »

Well, this was just some early stuff, where I tested whether the code that feeds and fetches the move into/from the hash info (TT_SET_MOVE/TT_GET_MOVE) really only considered 32 bits (which is the size of a move in my engine, and 2^32 = 4294967296)....

A pointless test... and now that I think of it, also wrong because the value has 33 bits...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

Here is my profile output for your program:
Function Name,Exclusive Samples,Exclusive Samples %,
"Evaluate","12,804",29.47,
"QueryPositionEvaluation","6,124",14.09,
"Search","3,578",8.23,
"GetPinnedPieces","3,369",7.75,
"AttacksTo","1,967",4.53,
"SetMove","1,856",4.27,
"GeneratePawnNonCaps","1,484",3.42,
"SortMoves","1,466",3.37,
"QuiescenceSearch","1,311",3.02,
"StaticExchangeEvaluation","1,246",2.87,
"UnsetMove","1,189",2.74,
"SliderAttacksTo",904,2.08,
"GeneratePawnCaps",762,1.75,
"OpenNode",681,1.57,
"SortQuiescenceMoves",681,1.57,
"GenerateBishopCaps",513,1.18,
"AnalysePawnStructure",474,1.09,
"GenerateRookCaps",440,1.01,
"GenerateQueenCaps",367,0.84,
"GenerateKnightCaps",349,0.80,
"GetSquaresBetween",303,0.70,
"GenerateBishopNonCaps",285,0.66,
"GenerateKnightNonCaps",229,0.53,
"GenerateKingCaps",202,0.46,
"GenerateQueenNonCaps",191,0.44,
"GenerateRookNonCaps",178,0.41,
"GenerateKingNonCaps",173,0.40,
"RecordPositionEvaluation",78,0.18,
"CloseNode",59,0.14,
"GenerateLegalEscapes",44,0.10,
"GetRay",44,0.10,
"GenerateMoves",37,0.09,
"GetBlockMoves",30,0.07,
"InitEngine",14,0.03,

By far the heaviest function is evaluate, and you already have an eval hash.

I do suggest this change so that no work is performed that is not needed:

Code: Select all

int Evaluate&#40;Position *pos, TreeInfo *treeinfo&#41;
&#123;
	int score     = 0;
	int tmp1      = 0;
	int tmp2      = 0;
	int sqr       = 0;
	int w_rooks;
	int b_rooks;
	int w_bishops;
	int b_bishops;
	int w_knights;
	int b_knights;

	bitboard mask1, mask2;
	PawnInfo *info;

	treeinfo->eval_calls++;

	score = QueryCachedEvaluation&#40;pos->poskey&#41;;
	if&#40;score != EVAL_CACHE_UNKNOWN&#41;
	&#123;
		treeinfo->eval_cachehits++;
		return (&#40;pos->to_move == WHITE&#41; ? score &#58; -score&#41;;
	&#125;

	w_rooks   = BitCount&#40;pos->pieces&#91;WHITE&#93;&#91;ROOK&#93;);
	b_rooks   = BitCount&#40;pos->pieces&#91;BLACK&#93;&#91;ROOK&#93;);
	w_bishops = BitCount&#40;pos->pieces&#91;WHITE&#93;&#91;BISHOP&#93;);
	b_bishops = BitCount&#40;pos->pieces&#91;BLACK&#93;&#91;BISHOP&#93;);
	w_knights = BitCount&#40;pos->pieces&#91;WHITE&#93;&#91;KNIGHT&#93;);
	b_knights = BitCount&#40;pos->pieces&#91;BLACK&#93;&#91;KNIGHT&#93;);
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

I think your engine is doing a little too much chatter. You might want to tone down how often you send output to the console:

Code: Select all

info score cp 18 depth 14 nodes 66079983 time 59389 pv d2d4  d7d5  c1f4  c8f5  e2e3  e7e6  f1d3  g7g5  f4e5  f7f6  d1h5  e8d7  h5f7
info currmovenumber 1 currmove d2d4
info depth 15 time 59483 nodes 66191360 nps 1112778 hashfull 379
info depth 15 time 59498 nodes 66191360 nps 1112497 hashfull 379
info depth 15 time 59608 nodes 66322432 nps 1112643 hashfull 380
info depth 15 time 59608 nodes 66322432 nps 1112643 hashfull 380
info depth 15 time 59717 nodes 66453504 nps 1112807 hashfull 380
info depth 15 time 59826 nodes 66584576 nps 1112971 hashfull 380
info depth 15 time 59935 nodes 66715648 nps 1113133 hashfull 380
info depth 15 time 60060 nodes 66846720 nps 1112999 hashfull 381
info depth 15 time 60169 nodes 66977792 nps 1113161 hashfull 381
info depth 15 time 60278 nodes 67108864 nps 1113323 hashfull 381
info depth 15 time 60278 nodes 67108864 nps 1113323 hashfull 381
info depth 15 time 60403 nodes 67239936 nps 1113189 hashfull 382
info depth 15 time 60403 nodes 67239936 nps 1113189 hashfull 382
info depth 15 time 60512 nodes 67371008 nps 1113350 hashfull 382
info depth 15 time 60622 nodes 67502080 nps 1113491 hashfull 382
info depth 15 time 60622 nodes 67502080 nps 1113491 hashfull 382
info depth 15 time 60746 nodes 67633152 nps 1113376 hashfull 382
info depth 15 time 60856 nodes 67764224 nps 1113518 hashfull 383
info depth 15 time 60856 nodes 67764224 nps 1113518 hashfull 383
info depth 15 time 60980 nodes 67895296 nps 1113403 hashfull 383
info depth 15 time 61090 nodes 68026368 nps 1113543 hashfull 383
info depth 15 time 61090 nodes 68026368 nps 1113543 hashfull 383
info depth 15 time 61199 nodes 68157440 nps 1113702 hashfull 384
info depth 15 time 61199 nodes 68157440 nps 1113702 hashfull 384
info depth 15 time 61308 nodes 68288512 nps 1113860 hashfull 384
info depth 15 time 61308 nodes 68288512 nps 1113860 hashfull 384
info depth 15 time 61433 nodes 68419584 nps 1113727 hashfull 384
info depth 15 time 61558 nodes 68550656 nps 1113595 hashfull 384
info depth 15 time 61558 nodes 68550656 nps 1113595 hashfull 384
info depth 15 time 61667 nodes 68681728 nps 1113752 hashfull 385
info depth 15 time 61776 nodes 68812800 nps 1113908 hashfull 385
info depth 15 time 61901 nodes 68943872 nps 1113776 hashfull 385
info depth 15 time 62010 nodes 69074944 nps 1113932 hashfull 385
info depth 15 time 62119 nodes 69206016 nps 1114088 hashfull 386
info depth 15 time 62244 nodes 69337088 nps 1113956 hashfull 386
info depth 15 time 62244 nodes 69337088 nps 1113956 hashfull 386
info depth 15 time 62369 nodes 69468160 nps 1113825 hashfull 386
info depth 15 time 62494 nodes 69599232 nps 1113695 hashfull 387
info depth 15 time 62494 nodes 69599232 nps 1113695 hashfull 387
info depth 15 time 62618 nodes 69730304 nps 1113582 hashfull 387
info depth 15 time 62728 nodes 69861376 nps 1113719 hashfull 387
info depth 15 time 62852 nodes 69992448 nps 1113607 hashfull 388
info depth 15 time 62852 nodes 69992448 nps 1113607 hashfull 388
info depth 15 time 62977 nodes 70123520 nps 1113478 hashfull 388
info depth 15 time 63102 nodes 70254592 nps 1113350 hashfull 389
info depth 15 time 63102 nodes 70254592 nps 1113350 hashfull 389
info depth 15 time 63211 nodes 70385664 nps 1113503 hashfull 389
info depth 15 time 63211 nodes 70385664 nps 1113503 hashfull 389
info depth 15 time 63336 nodes 70516736 nps 1113375 hashfull 389
info depth 15 time 63336 nodes 70516736 nps 1113375 hashfull 389
info depth 15 time 63461 nodes 70647808 nps 1113248 hashfull 390
info depth 15 time 63461 nodes 70647808 nps 1113248 hashfull 390
info depth 15 time 63586 nodes 70778880 nps 1113120 hashfull 390
info depth 15 time 63586 nodes 70778880 nps 1113120 hashfull 390
info depth 15 time 63695 nodes 70909952 nps 1113273 hashfull 390
info depth 15 time 63695 nodes 70909952 nps 1113273 hashfull 390
info depth 15 time 63820 nodes 71041024 nps 1113147 hashfull 391
info depth 15 time 63944 nodes 71172096 nps 1113038 hashfull 391
info depth 15 time 64069 nodes 71303168 nps 1112912 hashfull 391
info depth 15 time 64194 nodes 71434240 nps 1112787 hashfull 392
info depth 15 time 64319 nodes 71565312 nps 1112662 hashfull 392
info depth 15 time 64444 nodes 71696384 nps 1112538 hashfull 393
info depth 15 time 64444 nodes 71696384 nps 1112538 hashfull 393
info depth 15 time 64568 nodes 71827456 nps 1112431 hashfull 393
info depth 15 time 64568 nodes 71827456 nps 1112431 hashfull 393
info depth 15 time 64693 nodes 71958528 nps 1112308 hashfull 393
info depth 15 time 64818 nodes 72089600 nps 1112185 hashfull 394
info depth 15 time 64818 nodes 72089600 nps 1112185 hashfull 394
info depth 15 time 64927 nodes 72220672 nps 1112337 hashfull 394
info depth 15 time 64927 nodes 72220672 nps 1112337 hashfull 394
info depth 15 time 65052 nodes 72351744 nps 1112214 hashfull 394
info depth 15 time 65052 nodes 72351744 nps 1112214 hashfull 394
info depth 15 time 65177 nodes 72482816 nps 1112092 hashfull 395
info depth 15 time 65177 nodes 72482816 nps 1112092 hashfull 395
info depth 15 time 65302 nodes 72613888 nps 1111970 hashfull 395
info depth 15 time 65426 nodes 72744960 nps 1111866 hashfull 395
info depth 15 time 65426 nodes 72744960 nps 1111866 hashfull 395
info depth 15 time 65551 nodes 72876032 nps 1111746 hashfull 396
info depth 15 time 65676 nodes 73007104 nps 1111625 hashfull 396
info depth 15 time 65801 nodes 73138176 nps 1111506 hashfull 396
info depth 15 time 65801 nodes 73138176 nps 1111506 hashfull 396
info depth 15 time 65926 nodes 73269248 nps 1111386 hashfull 397
info depth 15 time 65926 nodes 73269248 nps 1111386 hashfull 397
info depth 15 time 66050 nodes 73400320 nps 1111284 hashfull 397
info depth 15 time 66160 nodes 73531392 nps 1111418 hashfull 397
info depth 15 time 66160 nodes 73531392 nps 1111418 hashfull 397
info depth 15 time 66284 nodes 73662464 nps 1111316 hashfull 398
info depth 15 time 66409 nodes 73793536 nps 1111198 hashfull 398
info depth 15 time 66534 nodes 73924608 nps 1111080 hashfull 398
info depth 15 time 66534 nodes 73924608 nps 1111080 hashfull 398
info depth 15 time 66659 nodes 74055680 nps 1110963 hashfull 399
info depth 15 time 66768 nodes 74186752 nps 1111112 hashfull 399
info depth 15 time 66893 nodes 74317824 nps 1110996 hashfull 399
info depth 15 time 67018 nodes 74448896 nps 1110879 hashfull 400
info depth 15 time 67018 nodes 74448896 nps 1110879 hashfull 400
info depth 15 time 67142 nodes 74579968 nps 1110780 hashfull 400
info depth 15 time 67267 nodes 74711040 nps 1110664 hashfull 400
info depth 15 time 67267 nodes 74711040 nps 1110664 hashfull 400
info depth 15 time 67376 nodes 74842112 nps 1110813 hashfull 400
info depth 15 time 67376 nodes 74842112 nps 1110813 hashfull 400
info depth 15 time 67501 nodes 74973184 nps 1110697 hashfull 401
info depth 15 time 67501 nodes 74973184 nps 1110697 hashfull 401
info depth 15 time 67610 nodes 75104256 nps 1110845 hashfull 401
info depth 15 time 67735 nodes 75235328 nps 1110730 hashfull 401
info depth 15 time 67735 nodes 75235328 nps 1110730 hashfull 401
info depth 15 time 67860 nodes 75366400 nps 1110616 hashfull 401
info depth 15 time 67860 nodes 75366400 nps 1110616 hashfull 401
info depth 15 time 67985 nodes 75497472 nps 1110502 hashfull 402
info depth 15 time 67985 nodes 75497472 nps 1110502 hashfull 402
info depth 15 time 68094 nodes 75628544 nps 1110649 hashfull 402
info depth 15 time 68219 nodes 75759616 nps 1110535 hashfull 402
info depth 15 time 68344 nodes 75890688 nps 1110422 hashfull 403
info depth 15 time 68453 nodes 76021760 nps 1110569 hashfull 403
info depth 15 time 68453 nodes 76021760 nps 1110569 hashfull 403
info depth 15 time 68578 nodes 76152832 nps 1110456 hashfull 403
info depth 15 time 68578 nodes 76152832 nps 1110456 hashfull 403
info depth 15 time 68687 nodes 76283904 nps 1110602 hashfull 404
info depth 15 time 68812 nodes 76414976 nps 1110489 hashfull 404
info depth 15 time 68936 nodes 76546048 nps 1110393 hashfull 404
info depth 15 time 69061 nodes 76677120 nps 1110281 hashfull 405
info depth 15 time 69186 nodes 76808192 nps 1110170 hashfull 405
info depth 15 time 69311 nodes 76939264 nps 1110058 hashfull 405
info depth 15 time 69436 nodes 77070336 nps 1109948 hashfull 406
info depth 15 time 69560 nodes 77201408 nps 1109853 hashfull 406
info depth 15 time 69560 nodes 77201408 nps 1109853 hashfull 406
info depth 15 time 69670 nodes 77332480 nps 1109982 hashfull 406
info depth 15 time 69670 nodes 77332480 nps 1109982 hashfull 406
info depth 15 time 69794 nodes 77463552 nps 1109888 hashfull 407
info depth 15 time 69794 nodes 77463552 nps 1109888 hashfull 407
info depth 15 time 69904 nodes 77594624 nps 1110017 hashfull 407
info depth 15 time 70013 nodes 77725696 nps 1110161 hashfull 407
info depth 15 time 70138 nodes 77856768 nps 1110051 hashfull 408
info depth 15 time 70247 nodes 77987840 nps 1110195 hashfull 408
info depth 15 time 70247 nodes 77987840 nps 1110195 hashfull 408
info depth 15 time 70372 nodes 78118912 nps 1110085 hashfull 408
info depth 15 time 70372 nodes 78118912 nps 1110085 hashfull 408
info depth 15 time 70496 nodes 78249984 nps 1109992 hashfull 408
info depth 15 time 70496 nodes 78249984 nps 1109992 hashfull 408
info depth 15 time 70606 nodes 78381056 nps 1110119 hashfull 409
info depth 15 time 70730 nodes 78512128 nps 1110026 hashfull 409
info depth 15 time 70855 nodes 78643200 nps 1109917 hashfull 409
info depth 15 time 70855 nodes 78643200 nps 1109917 hashfull 409
info depth 15 time 70980 nodes 78774272 nps 1109809 hashfull 410
info depth 15 time 70980 nodes 78774272 nps 1109809 hashfull 410
info depth 15 time 71105 nodes 78905344 nps 1109702 hashfull 410
info depth 15 time 71214 nodes 79036416 nps 1109844 hashfull 410
info depth 15 time 71339 nodes 79167488 nps 1109736 hashfull 411
info depth 15 time 71339 nodes 79167488 nps 1109736 hashfull 411
info depth 15 time 71464 nodes 79298560 nps 1109629 hashfull 411
info depth 15 time 71464 nodes 79298560 nps 1109629 hashfull 411
info depth 15 time 71588 nodes 79429632 nps 1109538 hashfull 411
info depth 15 time 71713 nodes 79560704 nps 1109432 hashfull 412
info depth 15 time 71713 nodes 79560704 nps 1109432 hashfull 412
info depth 15 time 71838 nodes 79691776 nps 1109326 hashfull 412
info depth 15 time 71947 nodes 79822848 nps 1109467 hashfull 412
info depth 15 time 72072 nodes 79953920 nps 1109362 hashfull 413
info depth 15 time 72072 nodes 79953920 nps 1109362 hashfull 413
info depth 15 time 72197 nodes 80084992 nps 1109257 hashfull 413
info depth 15 time 72197 nodes 80084992 nps 1109257 hashfull 413
info depth 15 time 72322 nodes 80216064 nps 1109152 hashfull 413
info depth 15 time 72322 nodes 80216064 nps 1109152 hashfull 413
info depth 15 time 72431 nodes 80347136 nps 1109292 hashfull 414
info depth 15 time 72431 nodes 80347136 nps 1109292 hashfull 414
info depth 15 time 72556 nodes 80478208 nps 1109187 hashfull 414
info depth 15 time 72556 nodes 80478208 nps 1109187 hashfull 414
info depth 15 time 72680 nodes 80609280 nps 1109099 hashfull 414
info depth 15 time 72680 nodes 80609280 nps 1109099 hashfull 414
info depth 15 time 72805 nodes 80740352 nps 1108995 hashfull 415
info depth 15 time 72805 nodes 80740352 nps 1108995 hashfull 415
info depth 15 time 72930 nodes 80871424 nps 1108891 hashfull 415
info depth 15 time 72930 nodes 80871424 nps 1108891 hashfull 415
info depth 15 time 73055 nodes 81002496 nps 1108788 hashfull 415
info depth 15 time 73055 nodes 81002496 nps 1108788 hashfull 415
info depth 15 time 73180 nodes 81133568 nps 1108685 hashfull 415
info depth 15 time 73304 nodes 81264640 nps 1108598 hashfull 416
info depth 15 time 73304 nodes 81264640 nps 1108598 hashfull 416
info depth 15 time 73414 nodes 81395712 nps 1108722 hashfull 416
info depth 15 time 73414 nodes 81395712 nps 1108722 hashfull 416
info depth 15 time 73538 nodes 81526784 nps 1108635 hashfull 416
info depth 15 time 73538 nodes 81526784 nps 1108635 hashfull 416
info depth 15 time 73663 nodes 81657856 nps 1108533 hashfull 417
info depth 15 time 73772 nodes 81788928 nps 1108672 hashfull 417
info depth 15 time 73772 nodes 81788928 nps 1108672 hashfull 417
info depth 15 time 73897 nodes 81920000 nps 1108570 hashfull 417
info depth 15 time 73897 nodes 81920000 nps 1108570 hashfull 417
info depth 15 time 74022 nodes 82051072 nps 1108469 hashfull 418
info depth 15 time 74147 nodes 82182144 nps 1108368 hashfull 418
info depth 15 time 74147 nodes 82182144 nps 1108368 hashfull 418
info depth 15 time 74256 nodes 82313216 nps 1108506 hashfull 418
info depth 15 time 74256 nodes 82313216 nps 1108506 hashfull 418
info depth 15 time 74381 nodes 82444288 nps 1108405 hashfull 418
info depth 15 time 74381 nodes 82444288 nps 1108405 hashfull 418
info depth 15 time 74506 nodes 82575360 nps 1108305 hashfull 419
info depth 15 time 74506 nodes 82575360 nps 1108305 hashfull 419
info depth 15 time 74630 nodes 82706432 nps 1108220 hashfull 419
info depth 15 time 74630 nodes 82706432 nps 1108220 hashfull 419
info depth 15 time 74755 nodes 82837504 nps 1108120 hashfull 420
info depth 15 time 74755 nodes 82837504 nps 1108120 hashfull 420
info depth 15 time 74880 nodes 82968576 nps 1108021 hashfull 420
info depth 15 time 75005 nodes 83099648 nps 1107921 hashfull 420
info depth 15 time 75005 nodes 83099648 nps 1107921 hashfull 420
info depth 15 time 75130 nodes 83230720 nps 1107823 hashfull 420
info depth 15 time 75254 nodes 83361792 nps 1107739 hashfull 421
info depth 15 time 75254 nodes 83361792 nps 1107739 hashfull 421
info depth 15 time 75364 nodes 83492864 nps 1107861 hashfull 421
info depth 15 time 75488 nodes 83623936 nps 1107778 hashfull 421
info depth 15 time 75598 nodes 83755008 nps 1107900 hashfull 422
info depth 15 time 75722 nodes 83886080 nps 1107816 hashfull 422
info depth 15 time 75722 nodes 83886080 nps 1107816 hashfull 422
info depth 15 time 75832 nodes 84017152 nps 1107938 hashfull 422
info depth 15 time 75832 nodes 84017152 nps 1107938 hashfull 422
info depth 15 time 75956 nodes 84148224 nps 1107855 hashfull 423
info depth 15 time 76081 nodes 84279296 nps 1107757 hashfull 423
info depth 15 time 76206 nodes 84410368 nps 1107660 hashfull 423
info depth 15 time 76206 nodes 84410368 nps 1107660 hashfull 423
info depth 15 time 76331 nodes 84541440 nps 1107564 hashfull 424
info depth 15 time 76471 nodes 84672512 nps 1107250 hashfull 424
info depth 15 time 76471 nodes 84672512 nps 1107250 hashfull 424
info depth 15 time 76580 nodes 84803584 nps 1107386 hashfull 424
info depth 15 time 76705 nodes 84934656 nps 1107290 hashfull 425
info depth 15 time 76830 nodes 85065728 nps 1107194 hashfull 425
info depth 15 time 76939 nodes 85196800 nps 1107329 hashfull 425
info depth 15 time 76939 nodes 85196800 nps 1107329 hashfull 425
info depth 15 time 76939 nodes 85196800 nps 1107329 hashfull 425
info depth 15 time 77048 nodes 85327872 nps 1107464 hashfull 425
info depth 15 time 77173 nodes 85458944 nps 1107368 hashfull 426
info depth 15 time 77298 nodes 85590016 nps 1107273 hashfull 426
info depth 15 time 77407 nodes 85721088 nps 1107407 hashfull 426
info depth 15 time 77516 nodes 85852160 nps 1107541 hashfull 427
info depth 15 time 77516 nodes 85852160 nps 1107541 hashfull 427
info depth 15 time 77641 nodes 85983232 nps 1107446 hashfull 427
info depth 15 time 77750 nodes 86114304 nps 1107579 hashfull 427
info depth 15 time 77750 nodes 86114304 nps 1107579 hashfull 427
info depth 15 time 77875 nodes 86245376 nps 1107485 hashfull 428
info depth 15 time 77875 nodes 86245376 nps 1107485 hashfull 428
info depth 15 time 77875 nodes 86245376 nps 1107485 hashfull 428
info depth 15 time 77984 nodes 86376448 nps 1107618 hashfull 428
info depth 15 time 77984 nodes 86376448 nps 1107618 hashfull 428
info depth 15 time 78109 nodes 86507520 nps 1107523 hashfull 428
info depth 15 time 78218 nodes 86638592 nps 1107655 hashfull 428
info depth 15 time 78359 nodes 86769664 nps 1107335 hashfull 429
info depth 15 time 78468 nodes 86900736 nps 1107467 hashfull 429
info depth 15 time 78468 nodes 86900736 nps 1107467 hashfull 429
info depth 15 time 78593 nodes 87031808 nps 1107374 hashfull 429
info depth 15 time 78593 nodes 87031808 nps 1107374 hashfull 429
info depth 15 time 78702 nodes 87162880 nps 1107505 hashfull 430
info depth 15 time 78702 nodes 87162880 nps 1107505 hashfull 430
info depth 15 time 78827 nodes 87293952 nps 1107412 hashfull 430
info depth 15 time 78952 nodes 87425024 nps 1107319 hashfull 430
info depth 15 time 78952 nodes 87425024 nps 1107319 hashfull 430
info depth 15 time 79076 nodes 87556096 nps 1107240 hashfull 430
info depth 15 time 79186 nodes 87687168 nps 1107357 hashfull 431
info depth 15 time 79186 nodes 87687168 nps 1107357 hashfull 431
info depth 15 time 79310 nodes 87818240 nps 1107278 hashfull 431
info depth 15 time 79435 nodes 87949312 nps 1107186 hashfull 431
info depth 15 time 79560 nodes 88080384 nps 1107094 hashfull 431
info depth 15 time 79669 nodes 88211456 nps 1107224 hashfull 432
info depth 15 time 79794 nodes 88342528 nps 1107132 hashfull 432
info depth 15 time 79794 nodes 88342528 nps 1107132 hashfull 432
info depth 15 time 79919 nodes 88473600 nps 1107041 hashfull 432
info depth 15 time 80044 nodes 88604672 nps 1106950 hashfull 433
info depth 15 time 80153 nodes 88735744 nps 1107080 hashfull 433
info depth 15 time 80153 nodes 88735744 nps 1107080 hashfull 433
info depth 15 time 80278 nodes 88866816 nps 1106988 hashfull 433
info depth 15 time 80402 nodes 88997888 nps 1106911 hashfull 433
info depth 15 time 80527 nodes 89128960 nps 1106821 hashfull 433
info depth 15 time 80527 nodes 89128960 nps 1106821 hashfull 433
info depth 15 time 80636 nodes 89260032 nps 1106950 hashfull 434
info depth 15 time 80636 nodes 89260032 nps 1106950 hashfull 434
info depth 15 time 80761 nodes 89391104 nps 1106860 hashfull 434
info depth 15 time 80886 nodes 89522176 nps 1106770 hashfull 434
info depth 15 time 80995 nodes 89653248 nps 1106899 hashfull 434
info depth 15 time 80995 nodes 89653248 nps 1106899 hashfull 434
info depth 15 time 81104 nodes 89784320 nps 1107027 hashfull 435
info depth 15 time 81104 nodes 89784320 nps 1107027 hashfull 435
info depth 15 time 81229 nodes 89915392 nps 1106937 hashfull 435
info depth 15 time 81354 nodes 90046464 nps 1106847 hashfull 435
info depth 15 time 81354 nodes 90046464 nps 1106847 hashfull 435
info depth 15 time 81463 nodes 90177536 nps 1106975 hashfull 435
info depth 15 time 81588 nodes 90308608 nps 1106886 hashfull 435
info depth 15 time 81697 nodes 90439680 nps 1107013 hashfull 436
info depth 15 time 81697 nodes 90439680 nps 1107013 hashfull 436
info depth 15 time 81838 nodes 90570752 nps 1106708 hashfull 436
info depth 15 time 81947 nodes 90701824 nps 1106835 hashfull 436
info depth 15 time 81947 nodes 90701824 nps 1106835 hashfull 436
info depth 15 time 82072 nodes 90832896 nps 1106746 hashfull 436
info depth 15 time 82196 nodes 90963968 nps 1106671 hashfull 436
info depth 15 time 82306 nodes 91095040 nps 1106785 hashfull 437
info depth 15 time 82306 nodes 91095040 nps 1106785 hashfull 437
info depth 15 time 82415 nodes 91226112 nps 1106912 hashfull 437
info depth 15 time 82415 nodes 91226112 nps 1106912 hashfull 437
info depth 15 time 82540 nodes 91357184 nps 1106823 hashfull 437
info depth 15 time 82540 nodes 91357184 nps 1106823 hashfull 437
info depth 15 time 82649 nodes 91488256 nps 1106949 hashfull 437
info depth 15 time 82649 nodes 91488256 nps 1106949 hashfull 437
info depth 15 time 82774 nodes 91619328 nps 1106861 hashfull 438
info depth 15 time 82774 nodes 91619328 nps 1106861 hashfull 438
info depth 15 time 82883 nodes 91750400 nps 1106987 hashfull 438
info depth 15 time 82883 nodes 91750400 nps 1106987 hashfull 438
info depth 15 time 83008 nodes 91881472 nps 1106899 hashfull 438
info depth 15 time 83008 nodes 91881472 nps 1106899 hashfull 438
info depth 15 time 83117 nodes 92012544 nps 1107024 hashfull 438
info depth 15 time 83226 nodes 92143616 nps 1107149 hashfull 438
info depth 15 time 83226 nodes 92143616 nps 1107149 hashfull 438
info depth 15 time 83335 nodes 92274688 nps 1107274 hashfull 439
info depth 15 time 83444 nodes 92405760 nps 1107398 hashfull 439
info depth 15 time 83444 nodes 92405760 nps 1107398 hashfull 439
info depth 15 time 83569 nodes 92536832 nps 1107311 hashfull 439
info depth 15 time 83569 nodes 92536832 nps 1107311 hashfull 439
info depth 15 time 83663 nodes 92667904 nps 1107633 hashfull 439
info depth 15 time 83772 nodes 92798976 nps 1107756 hashfull 439
info depth 15 time 83788 nodes 92798976 nps 1107545 hashfull 439
info depth 15 time 83897 nodes 92930048 nps 1107668 hashfull 440
info depth 15 time 84022 nodes 93061120 nps 1107580 hashfull 440
info depth 15 time 84022 nodes 93061120 nps 1107580 hashfull 440
info depth 15 time 84146 nodes 93192192 nps 1107506 hashfull 440
info depth 15 time 84146 nodes 93192192 nps 1107506 hashfull 440
info depth 15 time 84256 nodes 93323264 nps 1107616 hashfull 440
info depth 15 time 84256 nodes 93323264 nps 1107616 hashfull 440
info depth 15 time 84365 nodes 93454336 nps 1107738 hashfull 440
info depth 15 time 84365 nodes 93454336 nps 1107738 hashfull 440
info depth 15 time 84505 nodes 93585408 nps 1107454 hashfull 441
info depth 15 time 84505 nodes 93585408 nps 1107454 hashfull 441
info depth 15 time 84614 nodes 93716480 nps 1107577 hashfull 441
info depth 15 time 84724 nodes 93847552 nps 1107686 hashfull 441
info depth 15 time 84848 nodes 93978624 nps 1107612 hashfull 441
info depth 15 time 84848 nodes 93978624 nps 1107612 hashfull 441
info depth 15 time 84958 nodes 94109696 nps 1107720 hashfull 441
info depth 15 time 84958 nodes 94109696 nps 1107720 hashfull 441
info depth 15 time 85082 nodes 94240768 nps 1107646 hashfull 442
info depth 15 time 85082 nodes 94240768 nps 1107646 hashfull 442
info depth 15 time 85192 nodes 94371840 nps 1107755 hashfull 442
info depth 15 time 85192 nodes 94371840 nps 1107755 hashfull 442
info depth 15 time 85316 nodes 94502912 nps 1107681 hashfull 442
info depth 15 time 85426 nodes 94633984 nps 1107789 hashfull 442
info depth 15 time 85426 nodes 94633984 nps 1107789 hashfull 442
info depth 15 time 85550 nodes 94765056 nps 1107715 hashfull 442
info depth 15 time 85675 nodes 94896128 nps 1107629 hashfull 443
info depth 15 time 85675 nodes 94896128 nps 1107629 hashfull 443
info depth 15 time 85800 nodes 95027200 nps 1107543 hashfull 443
info depth 15 time 85800 nodes 95027200 nps 1107543 hashfull 443
info depth 15 time 85909 nodes 95158272 nps 1107664 hashfull 443
info depth 15 time 85909 nodes 95158272 nps 1107664 hashfull 443
info depth 15 time 86018 nodes 95289344 nps 1107784 hashfull 443
info depth 15 time 86018 nodes 95289344 nps 1107784 hashfull 443
info depth 15 time 86143 nodes 95420416 nps 1107698 hashfull 443
info depth 15 time 86268 nodes 95551488 nps 1107612 hashfull 444
info depth 15 time 86268 nodes 95551488 nps 1107612 hashfull 444
info depth 15 time 86393 nodes 95682560 nps 1107527 hashfull 444
info depth 15 time 86502 nodes 95813632 nps 1107646 hashfull 444
info depth 15 time 86502 nodes 95813632 nps 1107646 hashfull 444
info depth 15 time 86627 nodes 95944704 nps 1107561 hashfull 444
info depth 15 time 86627 nodes 95944704 nps 1107561 hashfull 444
info depth 15 time 86736 nodes 96075776 nps 1107681 hashfull 445
info depth 15 time 86736 nodes 96075776 nps 1107681 hashfull 445
info depth 15 time 86861 nodes 96206848 nps 1107595 hashfull 445
info depth 15 time 86986 nodes 96337920 nps 1107511 hashfull 445
info depth 15 time 87095 nodes 96468992 nps 1107630 hashfull 445
info depth 15 time 87095 nodes 96468992 nps 1107630 hashfull 445
info depth 15 time 87220 nodes 96600064 nps 1107545 hashfull 446
info depth 15 time 87329 nodes 96731136 nps 1107663 hashfull 446
info depth 15 time 87329 nodes 96731136 nps 1107663 hashfull 446
info depth 15 time 87454 nodes 96862208 nps 1107579 hashfull 446
info depth 15 time 87563 nodes 96993280 nps 1107697 hashfull 446
info depth 15 time 87563 nodes 96993280 nps 1107697 hashfull 446
info depth 15 time 87688 nodes 97124352 nps 1107613 hashfull 446
info depth 15 time 87688 nodes 97124352 nps 1107613 hashfull 446
info depth 15 time 87813 nodes 97255424 nps 1107529 hashfull 447
info depth 15 time 87937 nodes 97386496 nps 1107458 hashfull 447
info depth 15 time 87937 nodes 97386496 nps 1107458 hashfull 447
info depth 15 time 88062 nodes 97517568 nps 1107374 hashfull 447
info depth 15 time 88062 nodes 97517568 nps 1107374 hashfull 447
info depth 15 time 88171 nodes 97648640 nps 1107492 hashfull 447
info depth 15 time 88187 nodes 97648640 nps 1107291 hashfull 447
info depth 15 time 88312 nodes 97779712 nps 1107208 hashfull 448
info depth 15 time 88312 nodes 97779712 nps 1107208 hashfull 448
info depth 15 time 88421 nodes 97910784 nps 1107325 hashfull 448
info depth 15 time 88437 nodes 97910784 nps 1107125 hashfull 448
info depth 15 time 88546 nodes 98041856 nps 1107242 hashfull 448
info depth 15 time 88546 nodes 98041856 nps 1107242 hashfull 448
info depth 15 time 88671 nodes 98172928 nps 1107159 hashfull 448
info depth 15 time 88671 nodes 98172928 nps 1107159 hashfull 448
info depth 15 time 88795 nodes 98304000 nps 1107089 hashfull 449
info depth 15 time 88905 nodes 98435072 nps 1107194 hashfull 449
info depth 15 time 88905 nodes 98435072 nps 1107194 hashfull 449
info depth 15 time 89014 nodes 98566144 nps 1107311 hashfull 449
info depth 15 time 89123 nodes 98697216 nps 1107427 hashfull 449
info depth 15 time 89123 nodes 98697216 nps 1107427 hashfull 449
info depth 15 time 89248 nodes 98828288 nps 1107345 hashfull 449
info depth 15 time 89248 nodes 98828288 nps 1107345 hashfull 449
info depth 15 time 89357 nodes 98959360 nps 1107461 hashfull 450
info depth 15 time 89357 nodes 98959360 nps 1107461 hashfull 450
info depth 15 time 89466 nodes 99090432 nps 1107576 hashfull 450
info depth 15 time 89466 nodes 99090432 nps 1107576 hashfull 450
info depth 15 time 89575 nodes 99221504 nps 1107692 hashfull 450
info depth 15 time 89700 nodes 99352576 nps 1107610 hashfull 450
info depth 15 time 89700 nodes 99352576 nps 1107610 hashfull 450
info depth 15 time 89825 nodes 99483648 nps 1107527 hashfull 450
info depth 15 time 89825 nodes 99483648 nps 1107527 hashfull 450
info depth 15 time 89950 nodes 99614720 nps 1107445 hashfull 451
info depth 15 time 90075 nodes 99745792 nps 1107364 hashfull 451
info depth 15 time 90075 nodes 99745792 nps 1107364 hashfull 451
info depth 15 time 90199 nodes 99876864 nps 1107295 hashfull 451
info depth 15 time 90199 nodes 99876864 nps 1107295 hashfull 451
info depth 15 time 90309 nodes 100007936 nps 1107397 hashfull 451
info depth 15 time 90418 nodes 100139008 nps 1107512 hashfull 451
info depth 15 time 90418 nodes 100139008 nps 1107512 hashfull 451
info depth 15 time 90418 nodes 100139008 nps 1107512 hashfull 451
info depth 15 time 90527 nodes 100270080 nps 1107626 hashfull 452
info depth 15 time 90527 nodes 100270080 nps 1107626 hashfull 452
info depth 15 time 90652 nodes 100401152 nps 1107545 hashfull 452
info depth 15 time 90777 nodes 100532224 nps 1107464 hashfull 452
info depth 15 time 90901 nodes 100663296 nps 1107395 hashfull 452
info depth 15 time 91026 nodes 100794368 nps 1107314 hashfull 452
info depth 15 time 91135 nodes 100925440 nps 1107428 hashfull 452
info depth 15 time 91260 nodes 101056512 nps 1107347 hashfull 452
info depth 15 time 91260 nodes 101056512 nps 1107347 hashfull 452
info depth 15 time 91369 nodes 101187584 nps 1107461 hashfull 453
info depth 15 time 91369 nodes 101187584 nps 1107461 hashfull 453
info depth 15 time 91369 nodes 101187584 nps 1107461 hashfull 453
info depth 15 time 91479 nodes 101318656 nps 1107562 hashfull 453
info depth 15 time 91479 nodes 101318656 nps 1107562 hashfull 453
info depth 15 time 91588 nodes 101449728 nps 1107675 hashfull 453
info depth 15 time 91588 nodes 101449728 nps 1107675 hashfull 453
info depth 15 time 91713 nodes 101580800 nps 1107594 hashfull 453
info depth 15 time 91713 nodes 101580800 nps 1107594 hashfull 453
info depth 15 time 91822 nodes 101711872 nps 1107707 hashfull 453
info depth 15 time 91931 nodes 101842944 nps 1107819 hashfull 453
info depth 15 time 91931 nodes 101842944 nps 1107819 hashfull 453
info depth 15 time 92056 nodes 101974016 nps 1107739 hashfull 454
info depth 15 time 92181 nodes 102105088 nps 1107659 hashfull 454
...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

I'm getting one million NPS on one thread, which seems pretty good. I have not looked at your branching factor yet.

You have a lot of public variable that are read only and which are not const.

I have a few suggested tweaks that I will publish back to you shortly.
OliverUwira

Re: Starting over again

Post by OliverUwira »

Dann Corbit wrote:I'm getting one million NPS on one thread, which seems pretty good. I have not looked at your branching factor yet.

You have a lot of public variable that are read only and which are not const.

I have a few suggested tweaks that I will publish back to you shortly.
Let me first say, that I'm really impressed how quick you've replied and moreover have indicated some obvious things that could be tweaked.

The thing with the bitcount in the eval is something I should really have been able to find on my own, but back then, I was under a bit of time pressure to get the thing working for the tourney...

Another thing that I remember having thrown out shortly before the tourney was trying the hash move without generating the move... I don't remember why, but I guess I wanted to be on the safe side with regard to the legality of the move in case of a hash collision.

What really get's me is that you say the thing searches 1 million nps while at my laptop (granted, it's not very fast) it almost never exceeds 100k nps...

With regard to the global variables, I read up on that just only recently...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

ucilog.txt is a large file after a very short while.

I suggest that writing to this file should be off by default.
adieguez

Re: Starting over again

Post by adieguez »

Hi, it is 315knps in the openning position here on a celeron m 1.6Ghz. My program gets 227 knps so I win :)

crafty (after h3 h6) gets 630knps here. Fruit 650knps. Arasan 420knps.
OliverUwira wrote:
What really get's me is that you say the thing searches 1 million nps while at my laptop (granted, it's not very fast) it almost never exceeds 100k nps...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Starting over again

Post by Dann Corbit »

I get 690K NPS with your binary,
I get 760K NPS with my 32 bit binary,
and I get 1.17M NPS with my 64 bit binary.

Here is the version I was fiddling with (compressed with 7-zip):
http://cap.connx.com/chess-engines/new-approach/kurt.7z

I doubled the size of your eval hash, though it does not seem to make a large difference.

#define EC_SIZE 524288
#define EC_MASK 524287