Chess Software for openSUSE

Thanks. … it looks pretty neat.

It successfully detected 2 cpu on my dual core PC.

On my 4 core (intel core i7 920) I was not watching when running the script to see if all 4 were detected.

Running with xboard, and then running top at the same time, when “thinking” it only goes up to 100% on one cpu, and the other cores are not tasked. This is true for both my dual core and four core PC … ie the 2nd cpu is not utilized.

Have you been successful on a dual core or four core PC ?

Well, yesterday I only looked at the learning feature (which seems to work fine btw.).

I just tested it on my Laptop (Intel Core Duo) and it seems that via polyglot it does not work completely (yet), I also read that there will be a new option “cores =” introduced in one of the next releases (when xboard officially supports it, which ATM is only in the 4.4.0 beta version).

Most of the time one core is up to 100% (2.53 GHz) and the second one is on low (0.8 GHz) and very rarely on middle (1.6 GHz) speed.

With scid and directly connecting to the engine via UCI protocol (which is the default in scid) the second core is used more often.

//Edit:

OK, now I used a quite complicated middlegame position and put it in analysis mode with scid => both cores fully used.


PID USER        PR  NI  VIRT  RES  SHR S **%CPU** %MEM    TIME+  COMMAND
19448 axel      20   0  347m 302m 1176 R  **193**  7.6   2:59.77 DeepLearningToga

//Edit2:

And also with polyglot on the command line:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19536 axel      20   0  176m 147m 1172 R  189  3.7   1:40.85 DeepLearningToga

Ok, that explains things. I only tested with xboard/polyglot.

I’ll have to try with scid

ok, … I’ll also have to try sometime with the command line (without xboard).

Hm, the “party pooper” is xboard, although using the same ini-file than befor with polyglot from CLI I don’t get the engine running on both cores.

I also can’t find the “threads” setting in the engine options of xboard although it is already defined inside the ini-file.

So the implementation does not seem to be complete at the moment (not even in the 4.4.0.beta).

//Edit:

OMG found it!

The “party pooper” is xboard, but not because of missing implementation.

Options => General Settings => “Max number of CPUs” … (and this is set to 1 by default …) After setting that to 2 I get:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19683 axel      20   0  113m  84m 1172 R  192  2.1   5:13.75 DeepLearningTog

There you have it, some RTFM later:


       -smpCores number
              Specifies the maximum number of CPUs an SMP engine is allowed to use.  Only works for engines that sup-
              port the WinBoard-protocol cores feature.

So adding “-smpCores 2” to the startup command should do it.

Wow, … ok… as soon as I sort this myself, I’ll update the wiki …
Games/Chess - openSUSE
my current words about xboard / DeepLearningToga in the wiki is wrong. :slight_smile:

I need to wrap my head around this … currently its wrapping me up in knot :slight_smile:

I tried this to have DeepLearningToga play glaurung22:


xboard -size medium -fd '/home/lee/.DeepLearningToga-1.5.21a/' -fcp 'polyglot DeepLearningToga-1.5.21a.ini' -smpCores 2 -sd '/usr/share/glaurung22' -scp 'polyglot glaurung22.ini'

and I ended up with this in top with my Intel Core i7 920:


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10811 lee       20   0 88172  68m  724 R  200  1.1   2:10.94 DeepLearningTog
10814 lee       20   0  157m  68m 1384 R  200  1.2   3:31.28 glaurung22.bin

Hmm … glaurung22, although not designed for 2xCPU is also using two. Something to do with Linux, I guess …

My knowledge here of multiple cpu operation is pathetic. :slight_smile:

And when I specify 4 cores in my Intel Core i7 (which has 4 cores, although 8-virtual cores):

xboard -size medium -fd '/home/lee/.DeepLearningToga-1.5.21a/' -fcp 'polyglot DeepLearningToga-1.5.21a.ini' -smpCores 4 -sd '/usr/share/glaurung22' -scp 'polyglot glaurung22.ini'

Yields this:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10890 lee       20   0  127m  70m  724 R  400  1.2   1:37.81 DeepLearningTog
10898 lee       20   0  158m  71m 1384 R  399  1.2   4:32.01 glaurung22.bin

I need to try the " smpCores x " criteria with some other engines. …

My suspicion is the code with DeepLearningThought more optimally uses the multiple cores than other chess applications.

Ok, I tried DeepLearningToga vs gnuchess, specifying 4 cores:

xboard -size medium -sd '/home/lee/.DeepLearningToga-1.5.21a/' -scp 'polyglot DeepLearningToga-1.5.21a.ini' -smpCores 4 -fd /usr/share/gnuchess -fcp gnuchess

and I obtained this:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
11133 lee       20   0  127m  70m  724 R  399  1.2   1:10.65 DeepLearningTog
11130 lee       20   0 38324  17m  928 R  100  0.3   0:33.40 gnuchess

So, clearly gnuchess will not use multiple cores, … but it appears both glaurung22 and DeepLearningToga will use multiple cores. …

Me thinks I’ll have to stop and read some documentation. :slight_smile:

OK, I found this, glaurung supports multiple cores:
mpurland’s glaurung at master - GitHub

2007-06-07: Glaurung 2 - epsilon/3
----------------------------------

The first public version with support for multiple CPUs.  Unless you
have a dual-core (or better) computer, use Glaurung with a PolyGlot
book, or runs games with ponder on, you may want to skip this version,
which is almost certainly no stronger than 2 - epsilon/2 when running
on a single CPU.

Most of the engines I packaged support multiple cores (at least all UCI engines), GNUchess ist just too old I think (and not really actively maintaned).

//Edit:

And crafty supports this as well (of course), but you have to set this in ~./craftyrc.


cp /etc/crafty-rc ~/.craftyrc

And set


mt=0

(which I set as a safe default) to

mt=2

for 2 processors (or accordingly to 4, 8, whatever makes sense to you)


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                   
 3348 axel      27   7  218m 170m 1324 R  196  4.3   0:13.31 crafty

Voilà.

BTW:

Maybe interesting for the Wiki:

My xboard-specific settings in ~/.Xresources:



!
! xboard stuff goes here
!
xboard*smpCores:        2 # For my Dual Core machine
xboard*boardSize:       Large # Fits best on my screen , a list of possible settings can be found in "man xboard"
xboard*niceEngines:     7 # default is 5, see "man nice" for more information.
xboard*egtFormats:      nalimov:/usr/share/crafty/tb/,scorpio:/usr/share/egbb/ # crafty contains small Nalimov tablebases, the second entry is for (hand installed) tablebases used with libegbb3

And another improvement (hopefully) was checked in for the packages containing UCI engines.

Every respective package contains a startup script to facilitate starting xboard with two different engines.

The x$NAME_OF_ENGINE scripts are still present, but they start xboard with the respective engine as first and second chess program in xboard, which of course is not really useful for engine1 vs. engine2 matches.

As one can see in the earlier posts, starting up xboard with two different engines including at least one of the UCI engines leads to commands like these:

xboard -size medium -fd '/home/lee/.DeepLearningToga-1.5.21a/' -fcp 'polyglot DeepLearningToga-1.5.21a.ini' -sd '/usr/share/glaurung22' -scp 'polyglot glaurung22.ini'

Not really handy, so I decided to include simple startup scripts called $NAME_OF_ENGINE-polyglot which make things easier.

The above example now boils down to


xboard -size medium -fcp DeepLearningToga-1.5.21a-polyglot -scp glaurung22-polyglot

The packages affected by this change are:

fruit21

glaurung121

glaurung22

stockfish14

togaII-131

togaII-134

togaII-141

and

DeepLearningToga-1.5.21a

I don’t think I’m familiar enough with X and various directory practises to understand all that you are indicating. On my PC with the various engines installed (including crafty) I have no ~/.craftyrc nor any ~/.Xresources … Is it the naming convention that I am stumbling on?

Erm, don’t enjoy saying this, but RTFM and STFW would help (or at least for the craftyrc-file simply reading # 30](http://forums.opensuse.org/2033444-post30.html)).

:slight_smile:

New stable version of scid 4.0 was released on Sep. 01. 2009.

The package “scid” in my repo has been updated, package “scid-beta” has been removed.

Update via YaST/zypper should automatically replace “scid-beta 3.9.9-something” with “scid-4.0” (at least it worked on my installations without any problems).

If not, remove “scid-beta” and install “scid”.

No worries. I read that before, but did not appreciate its relevance. … Too many other things on the go perhaps, … or possibly because I’m just naturally too slow. :X rotfl!

Just found something which also looks quite nice, though in a very early state.

ChessX | Free Chess Database

A promising database interface written in QT (for me as KDE user even more interesting).

However, although compiling works flawlessly, there is no “install” routine in the Makefile and as I don’t “speak even a word of qmake” it might be a little more difficult to package that, especially because the more serious problem I am facing is the fact, that the program expects its shared data at very unusual (at least for openSUSE) paths which seem to be hardcoded, so I would have to find all those places in the source and patch them to use “the usual” paths.

If you want to test it, simply compile it with “qmake && make” and run the executable inside the “bin” folder located in the unpacked tarball. That works fine, but building an installable RPM is of course another story.

There was also another very promising QT-GUI for chess and a lot more board games:

Tagua KDE-Apps.org

“Was”, as it appears to be dead and with the very fast growing development for KDE 4.x since then, I don’t see the point in even trying to get that one to compile (I found a deb-package and when downloading the respective “diff.gz”, which is the patchset debian applies to build their packages, got a little dizzy by the amount of patches needed to compile that beast on a rather recent version of QT/KDE4, so even if I would be able to package it now, maintaining that package for the upcoming KDE4/QT releases would be a serious PITA).

After all, it was a lot easier than I thought:

  • 30 Minutes of trying to find the respective lines in the source code

  • 5 Minutes of trying to figure out, what that stuff actually does

and finally

  • 1 Minute for writing a “patch” (a stupid little 3 liner) to get things the way I wanted them to be

So here we go:

**C) GUI Frontends **

  1. xboard (version 4.4.0.beta2)

The most well known chess GUI for *NIX-type OSes. All engines above contain simple startup scripts to launch them with xboard (i.e. xcrafty, xglaurung121, xscorpio22 …).

  1. eboard (version 1.1.1)

Nice GUI written in GTK+ 2, works only with winboard compatible engines natively, if you want to use an UCI engine with eboard, you need polyglot as UCI adapter.

  1. scid (version 4.0)

A great database application, highly configurable with a lot of features, it also loads UCI engines directly (so no polyglot needed here).

Version 4 of scid uses a new database format, old databases can be converted quite easily, however, as this is a development release => BACKUP YOUR OLD DATABASES!

  1. chessx (version 0.6.99 = “a 0.7 pre version from SVN”)

A nice database application written in C++ and using QT4 for the GUI.

Although it does not have nearly all the features of scid (yet), this little tool gives you the basic features:

  • ChessX is a chess database. With ChessX you can operate on your collection of chess games in many ways: browse, edit, add, organize, analyze, etc.
  • ChessX is totally free and open source. You can simply download and use it as is, or modify it the way you like under the GPL licence.
  • ChessX is cross-platform. You can use it indifferently on Linux, Windows and Mac OS X.
  • If you are interested in details, ChessX is written in C++ programming language and uses Qt library to have a modern and portable graphical interface.

It can load xboard and UCI engines (either directly or via polyglot) for analyzing games, databases are (still? read something about “Open Database class” in the TODO file) handled in pgn-format.

Note: Builds for chessx have been checked in, however OBS seems to be a little slow at the moment, so it may take a few hours until the packages arrive in the repo, search for “chessx” to find them.

@Akoellh

Please can you contact myself or one of the other Mod team either by email or PM. Thank you.

Can, but won’t. >:)

Please yourself if you must. We removed your signature for T&C violation.

We wanted to discuss it with you privately.
If you would like to discuss it, you can email or PM a staff member and any
discussion in this thread about it will be removed.