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. |