[xboard.git] / winboard / install / files / root / PSWBTM / doc / UCI.html
1 <html>\r
2 <header>\r
3 <title>WGP: UCI installation</title>\r
4 </header>\r
5 <body>\r
6 <table cellpadding="20"><tr><td>\r
7 <h1>The WinBoard Gold Pack 4.4.0</h1>\r
8 <h2>For the ultimate WinBoard experience!</h2>\r
9 </td><td>\r
10 <img src="../../WinBoard/doc/mini.gif">\r
11 </td></tr></table>\r
12 <h3>Getting UCI Engines to run under Polyglot</h3>.\r
13 <p>\r
14 UCI engines need the Polyglot adapter to communicate with WinBoard.\r
15 As far as WinBoard is concerned, Polyglot is the engine.\r
16 Polyglot has to be instructed to which real engine it should 'connect',\r
17 and it takes this information from  file, known as a Polyglot .ini file.\r
18 Apart from telling polyglot which UCI engine to run,\r
19 Polyglot alo has to supply all paramter settings for this UCI engine\r
20 that WInBoard doesn't.\r
21 And UCI engines usually need a lot more support from their GUI than WinBoard engines.\r
22 Polyglot has to fill in the gaps, again from information stored in the Polyglot .ini file.\r
23 </p><p>\r
24 This leaves us with the problem to fill that Poglot .ini file with all the required info.\r
25 For the engine name, location and standard parameters this is not such a big problem:\r
26 we could copy the .ini file of another engine, and just change the name in it.\r
27 But every UCI engine defines its own engine-specific options,\r
28 and they all do it in different ways, needing different values for them.\r
29 Polyglot GUI is a program that figures out what options a UCI engine needs,\r
30 and what their defaut settings what should be.\r
31 It then can create a Polyglot .ini file for that engine that contins all this information.\r
32 </p><p>\r
33 Navigate to the Polyglot14w folder of the WinBoard Gold Pack.\r
34 This folder contains two application files, polyglot itself\r
35 (which is there ony for running by WinBoard),\r
36 and Polyglot GUI.\r
37 Double-click the latter to start Polyglot GUI.\r
38 A file-selector window will pop, though which you can browse to one of your UCI engines.\r
39 By double-clicking the engine application file in the corresponding engine folder,\r
40 you will make Polyglot GUI interrogate this engine in UCI protocol,\r
41 to learn which options it supports and requires.\r
42 In this example we have used Fruit 2.1 for this purpose.\r
43 </p><p>\r
44 After selecting the engine, a window that is divided in a right and left part will appear.\r
45 On the left you will see a set of controls for the engine-specific options,\r
46 on the right the options for Polyglot (which are thus always the same).\r
47 Both parts of the screen have a vertical slider, as the number of options is usually too large to fit the window.\r
48 Fortunately all options are already preset to their default value,\r
49 and unless you know very well what an option does, it is best to leave it there.\r
50 So we will now only discuss the options that require attention.\r
51 </p><p>\r
52 We start wit the Polyglot settings on the right.\r
53 From top to bottom we see: Engine name, installation folder and name of the application.\r
54 In fact this is what we just entered by clicking the engine application, so it is always correct.\r
55 Then we must select if Polyglot wil use a book on behalf of the engine,\r
56 and where to find this book file (which must be a book in Polyglot format).\r
57 Although WinBoard is also able to consult a book on behalf of the engines,\r
58 it currently always consults the same book for both engines.\r
59 So it does not make much sense to ut the same general book here as WinBoard is already using.\r
60 But some UCI engines are dependent on Polyglot for their opening book,\r
61 although it is a book that is made especially for them.\r
62 For such engines it would make sense to put the book dedicated to them here.\r
63 Then they can use their private book, while the opponent is using another one.\r
64 Fruit downloads usually comes with an opening book called "book_small.bin",\r
65 and we could type that in the book field, provided that we have put it in the Polyglot14w folder\r
66 with the other Polyglot books, including the general book "default.bin" that came with the WinBoard Gold Pack.\r
67 If we prefer to keep the book in the Fruit2_1 folder,\r
68 we must type "../Fruit2_1/book_small.bin" here (without the quotes).\r
69 This is not really needed, though, as Fruit is perfectly able to consult its own book.\r
70 (Polyglot and Fruit use the same book format, as they are by the same author!)\r
71 </p><p>\r
72 Next check box and text field only have to be completed if we want to make a log file\r
73 (recording all communication between Polyglot and WinBoard), which makes little sense for normal use.\r
74 (It is meant for debugging.)\r
75 Then we can control if Polyglot must be able to resign on behalf of the engine.\r
76 (UCI engines cannot resign by themselves.)\r
77 </p>\r
78 <img src="PGfruit.png">\r
79 <p>\r
80 The left part of the Polyglot GUI window will look different for every engine,\r
81 as it represents the engine-specific options.\r
82 Some options are standard, though.\r
83 These are shown at the top.\r
84 We startd there entering the size of the hash table.\r
85 (Future Polyglot versions might overrule this with the value specified in WinBoard, \r
86 but for now it is an important engine parameter.)\r
87 The check box that follows is not important,\r
88 as Polylot will translate and transmit the ponder command from WinBoard to the engine in real time,\r
89 and is not dependent on a static setting gven in the Polyglot .ini file.\r
90 If you want to run matches between 2 engines, select about 1/4 of your computer's memory size.\r
91 </p><p>\r
92 Next you would have to specify if the engine has an "own" book, \r
93 i.e. one that it can consult without the aid of Polyglot.\r
94 We already mentioned that for Fruit you can do both, because the format of ts own book\r
95 is the same as hat of a Polyglot book.\r
96 But in general, that will not be the case, and books downloaded with the engine might have\r
97 an unknown proprietry formt.\r
98 Then it is really essential to put the name of that book here, \r
99 and not in the right part as Polyglot book, as Polyglot wouldn't understand any of it.\r
100 In the Fruit example, the following options are already specialist options for tuning the engine,\r
101 and we leave them alone.\r
102 </p><p>\r
103 SMP engines might have another important parameter, the number of CPUs they must use.\r
104 The name for this option is not standardized,\r
105 but contains something like "threads", "cores", or "CPUs" in its description.\r
106 Better not use values larger than the number of cores your computer has if you plan to play without ponder,\r
107 and even half of tat when you want to play with ponder on.\r
108 </p>\r
109 <h3>Saving the Settings in a Polyglot .ini file</h3>\r
110 <p>\r
111 The last, and most important step is to save the settings we just made in a Polyglot .ini file.\r
112 To this end we must first type the name of the file we want,\r
113 which is the name that we also use when installing the engine in the PSWBTM engine database.\r
114 This name must be unique, as all Polyglot .ini files sit in the same folder in the \r
115 configuration the WinBoard Gold Pack uses.\r
116 So never call it polyglot.ini, as Polyglot GUI proposes.\r
117 For Fruit we would call it fruit.ini.\r
118 If we have multiple versions of Fruit on our computer they all must have their own .ini file \r
119 with its own unique name.\r
120 After having typed this name, we click the "Save" button on the bottom right.\r
121 That terminates Polyglot GUI,\r
122 and leaves the .ini file in the Polyglot14w folder (which is where Polyglot expects it).\r
123 </p><p>\r
124 </p><p>\r
125 <a href=".html"></a>\r
126 </br>\r
127 <a href=".html"></a>\r
128 </br>\r
129 <a href=".html"></a>\r
130 </br>\r
131 <a href=".html"></a>\r
132 </br>\r
133 <a href=""></a>\r
134 </br>\r
135 <a href=""></a>\r
136 </br>\r
137 <a href=""></a>\r
138 </p><p>\r
139 </p><p>\r
140 </p><p>\r
141 </p><p>\r
142 </p><p>\r
143 \r
144 </p>\r
145 </body>\r
146 </html>