hacking on zurichess

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

brtzsnr
Posts: 433
Joined: Fri Jan 16, 2015 4:02 pm

hacking on zurichess

Post by brtzsnr »

Hello, everyone!

I would like to invite everyone to hack on and contribute to zurichess https://bitbucket.org/zurichess/zurichess . I will reward contributors with engine testing time on my computer.

If you are not interested stop reading here.

If you have any question about the event please reply here or send a PM. If you have any code related question contact me by email.

Contributing
See https://bitbucket.org/zurichess/zuriche ... IBUTING.md for guidelines and ideas. Usual rule for contributing to open source projects applies: keep it stupid simple. I expect all patches to be small (<25 lines of code), but it's not a hard limit. I'll list you as a contributor.

I will review your changes, approve or reject them and you'll be awarded only if the patch is accepted. I will not accept trivial patches (e.g. fix one character typo, but fixing 100 typos might be ok) so if you have doubts please get in touch. I will test each patch at two different time controls in the same way I test my patches.

I'm looking for three kinds of patches: no functional changes (same node count, e.g. code cleanup, speed improvements), no regression (e.g. code simplification with no significant ELO change), improved play (ELO increase).

I believe that my code is fairly clean of bugs and technical debt and I hope you can start hacking very easily.


Prizes
200h of CPU time for no functional changes and no regression patches.
1000h of CPU time for improved play patches.

I own a i7-5960X 8x3.5GHz, 32GiB so 1000h means about 5 days using all 8 physical cores. To use the CPU time you'll give me your engine (source code, preferably, or a Linux binary) and the cutechess command line which I'll execute. I will be flexible, but in the interest of time I expect that all 8 cores to used at the same time. With HT the machine has 16 logical cores so it's your call if you want to use 16 logical cores, but I only count 8 cores. I use a different machine for internet browsing so you can assume the testing machine will be dedicated to your test.

The event ends when 5000h are awarded or end of January, which ever comes first.

Why
My goal was always to get more people to work on zurichess. I'm also looking for fresh ideas.

Disclaimer
I reserve the right to change the conditions and prizes at any time including canceling the whole event. Since it's the first time I do this there are lots of possible issues I didn't foresee. I'll try to be fair.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: hacking on zurichess

Post by ilari »

Hi,

I don't need the CPU time but I find this project interesting just because it seems to be the first fully fledged chess engine written in Go. If I ever want to experiment with a parallel search implementation of my own I'll definitely try it with your engine. The ease of writing efficient parallel and/or concurrent stuff in Go is just miles ahead C, C++ and almost any other language.
brtzsnr
Posts: 433
Joined: Fri Jan 16, 2015 4:02 pm

Re: hacking on zurichess

Post by brtzsnr »

Please go ahead. I am really interested to see what solution you come up with. I'm planning to look into parallel search myself once the engine gets to 2700 ELO on CCRL, so most likely after one or two versions. The current popular algorithms use a shared address space (e.g. Lazy SMP), but I'd like to make Zurichess fully distributed.


ps. Donna (http://donnachess.github.io/) is another engine written in Go. It's very well written, also single threaded and a bit stronger than Zurichess.
User avatar
mid
Posts: 22
Joined: Thu Dec 11, 2014 6:34 am
Location: Cupertino, California

Re: hacking on zurichess

Post by mid »

Thanks for the compliment! :) Last time I looked yours was quite interesting as well. I liked how you use Unocode alpha and beta characters as variable names :roll:

Good luck!
-Michael