Zeta OpenCL Chess v 0.915 Developer Release

Heyho,

i published the Source Code of Zeta, a Chess Programm running in OpenCL on a GPU, under GPL:

for Nvidia Devices:
https://github.com/smatovic/Zeta/tree/zeta_nvidia_0915

and for AMD GPUs or Intel/AMD CPUs
https://github.com/smatovic/Zeta/tree/zeta_amd_0915

See my blog for more Information:
http://zeta-chess.blogspot.com/

Zeta is more a prototype than a real chess engine. It uses only one SIMD Unit of a GPU with 128 Threads,
this is enough to achieve about 100 000 NPS, but still far away from that what a GPU is really able to compute, it is like using only 1 of 16 Cores.

Zeta is written in OpenCL, so it is able to run on GPUs, CPUs, APUs.

Zeta plays weak and buggy, a lot of well known chess techniques are not implemented.

So, whats inside?

What’s missing?

  • Castle Moves
  • En Passant Moves
  • AlphaBeta Pruning
  • Qsearch
  • SMP over mutlible SIMD Untis
  • All other well known techniques

Supported Platforms?
Until now only Linux with AMD OpenCL SDK or NVIDIA OpenCl SDK. No binaries.
CPUs (>=SSE3) will also work with AMD OpenCL SDK.

So feel free to contribute in GPU Chess :)


Srdja Matovic

Thanks.
I trie to compile on Mac OS X (Gcc) i get:
opencl.cpp:80: error: expected primary-expression before ‘{’ token
opencl.cpp:80: error: expected `;’ before ‘{’ token

This line makes trouble:

80: cps = { CL_CONTEXT_PLATFORM, (cl_context_properties)platform, 0 };

Any way to code same in other way to avoid that error ?

The sources look nice:

https://github.com/smatovic/Zeta/tree/zeta_nvidia_0915

But I don’t see any kernel sources ?

It seems to load kernels from binaries…

Does this mean the kernels are closed source ? ;)

Nope, all sources are full GPL,

take a closer look for “zeta.cl”:

https://github.com/smatovic/Zeta/blob/zeta_nvidia_0915/zeta.cl

Srdja

hmmm, try this instead:

cps[0] = CL_CONTEXT_PLATFORM;

cps[1] = (cl_context_properties)platform;

cps[2] = 0;