Rev 110 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 110 | Rev 154 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | evaluation..................... adjust evaluation terms. |
26 | evaluation..................... adjust evaluation terms. |
27 | exit........................... restores STDIN to keyboard. |
27 | exit........................... restores STDIN to keyboard. |
28 | force move..................... forces specific move. |
28 | force move..................... forces specific move. |
29 | hash n......................... sets transposition table size. |
29 | hash n......................... sets transposition table size. |
30 | (n bytes, nK bytes or nM bytes). |
30 | (n bytes, nK bytes or nM bytes). |
31 | hashe n........................ sets eval hash table size. |
- | |
32 | hashp n........................ sets pawn hash table size. |
31 | hashp n........................ sets pawn hash table size. |
33 | history........................ display game moves. |
32 | history........................ display game moves. |
34 | import filename................ imports learning data (.lrn files). |
33 | import filename................ imports learning data (.lrn files). |
35 | info........................... displays program settings. |
34 | info........................... displays program settings. |
36 | input filename................. sets STDIN to filename, reverts back on exit. |
35 | input filename................. sets STDIN to filename, reverts back on exit. |
Line 39... | Line 38... | ||
39 | clear clears all learned information |
38 | clear clears all learned information |
40 | level moves time inc........... sets ICS time controls. |
39 | level moves time inc........... sets ICS time controls. |
41 | linelength n................... sets line length to n. A really large value |
40 | linelength n................... sets line length to n. A really large value |
42 | will produce 1 line PVs, making parsing easier |
41 | will produce 1 line PVs, making parsing easier |
43 | list........................... update/display GM/IM/computer lists. |
42 | list........................... update/display GM/IM/computer lists. |
- | 43 | lmp base scale................. LMP pruning move counts |
|
44 | lmr min max |
44 | lmr min max bias moves scale... LMR reduction matrix generator |
45 | load file title................ load a position from problem file, starting |
45 | load file title................ load a position from problem file, starting |
46 | with line containing title, ending on exit. |
46 | with line containing title, ending on exit. |
47 | log on|off..................... turn logging on/off. |
47 | log on|off..................... turn logging on/off. |
48 | mode normal|tournament......... toggles tournament mode. |
48 | mode normal|tournament......... toggles tournament mode. |
49 | move........................... initiates search (same as go). |
49 | move........................... initiates search (same as go). |
Line 84... | Line 84... | ||
84 | skill n........................ set skill level to n |
84 | skill n........................ set skill level to n |
85 | smp............................ sets SMP parameters (help smp for details) |
85 | smp............................ sets SMP parameters (help smp for details) |
86 | sn n........................... sets absolute search node limit. |
86 | sn n........................... sets absolute search node limit. |
87 | speech on|off.................. enables (disables) audio output. |
87 | speech on|off.................. enables (disables) audio output. |
88 | st n........................... sets absolute search time. |
88 | st n........................... sets absolute search time. |
89 | store val...................... stores position/score (position.bin). |
- | |
90 | swindle on|off................. enables/disables swindle mode. |
89 | swindle on|off................. enables/disables swindle mode. |
91 | tags........................... list PGN header tags. |
90 | tags........................... list PGN header tags. |
92 | test file [N].................. test a suite of problems. |
91 | test file [N].................. test a suite of problems. |
93 | time........................... time controls. |
92 | time........................... time controls. |
94 | timebook....................... out of book time adjustment |
93 | timebook....................... out of book time adjustment |
Line 357... | Line 356... | ||
357 | list is: |
356 | list is: |
358 | 357 | ||
359 | list SP +name [book=filename] [personality=filename] |
358 | list SP +name [book=filename] [personality=filename] |
360 | 359 | ||
361 | <end> |
360 | <end> |
- | 361 | ||
- | 362 | <lmp> |
|
- | 363 | ||
- | 364 | lmp base scale |
|
- | 365 | ||
- | 366 | This commands tunes the LMP move count thresholds. The array it produces |
|
- | 367 | is indexed by depth, and defines the number of moves at that remaining |
|
- | 368 | depth that must be searched before late move pruning can kick in. |
|
- | 369 | ||
- | 370 | The basic formula looks like this: |
|
- | 371 | ||
- | 372 | moves = base + depth ^ scale |
|
- | 373 | ||
- | 374 | Bigger valuse for base and scale make LMP more conservative, smaller values |
|
- | 375 | make it more aggressive and risky. |
|
362 | 376 | ||
363 | <lmr> |
377 | <lmr> |
364 | 378 | ||
365 | lmr min max dscale mscale scale |
379 | lmr min max dscale mscale scale |
366 | 380 | ||
Line 608... | Line 622... | ||
608 | <end> |
622 | <end> |
609 | 623 | ||
610 | <smp> |
624 | <smp> |
611 | smp commands are used to control the SMP search. |
625 | smp commands are used to control the SMP search. |
612 | 626 | ||
613 | smpaffinity < |
627 | smpaffinity <n> <p> is used to enable or disable processor affinity. "-1" |
614 | disables affinity and lets threads run on any available core. If you use an |
628 | disables affinity and lets threads run on any available core. If you use an |
615 | integer <n> then thread zero will bind itself to cpu <n> and each additional |
629 | integer <n> then thread zero will bind itself to cpu <n> and each additional |
616 | thread will bind to the next higher cpu number. This is useful if you try to |
630 | thread will bind to the next higher cpu number. This is useful if you try to |
617 | run two copies of crafty on the same machine, now you can cause one to bind |
631 | run two copies of crafty on the same machine, now you can cause one to bind |
618 | to the first <n> cores, and the second to the last <n> cores. For the first |
632 | to the first <n> cores, and the second to the last <n> cores. For the first |
619 | instance of Crafty, you would use smpaffinity=0, and for the second |
633 | instance of Crafty, you would use smpaffinity=0, and for the second |
620 | smpaffinity=8, assuming you are running 8 threads per copy on a 16 cpu machine. |
634 | smpaffinity=8, assuming you are running 8 threads per copy on a 16 cpu machine. |
621 | If you get this wrong, you can have more than one thread on the same cpu which |
635 | If you get this wrong, you can have more than one thread on the same cpu which |
622 | will significantly impact performance. |
636 | will significantly impact performance. |
- | 637 | ||
- | 638 | The second parameter is used to help Crafty identify physical vs logical cores. |
|
- | 639 | On a typical 20 core intel machine, processors 0 - 19 are on physical cores, |
|
- | 640 | then 20-39 map back to those same physical cores, but different logical |
|
- | 641 | (hyperthreaded) processors. "1" is the correct value for this system. For an |
|
- | 642 | IBM Power 8 machine with dual 10-core chips, processors 0 through 7 are on |
|
- | 643 | physical core 0, then 8 through 15 are on physical core 1, etc. A value of "8" |
|
- | 644 | will map threads to physical cores correctly as each thread is spaced on the |
|
- | 645 | current processor core + 8, which is correct. |
|
623 | 646 | ||
624 | smpmt <n> sets the total number of allowable threads for the search. The |
647 | smpmt <n> sets the total number of allowable threads for the search. The |
625 | default is one (1) as Crafty does not assume it should use all available |
648 | default is one (1) as Crafty does not assume it should use all available |
626 | resources. For optimal performance this should be set to the number of |
649 | resources. For optimal performance this should be set to the number of |
627 | physical cores your machine has, which does NOT include hyperthreaded cores. |
650 | physical cores your machine has, which does NOT include hyperthreaded cores. |