Dec. 21st, 2015

Arasan has been running on the ICC (chessclub.com) server using a newly acquired dual Xeon 2670 box (16 cores total). This is a used older machine but still faster than anything I have had on hand before. Using that many cores and the faster CPU has uncovered some bugs in the threading implementation that cause rare crashes. I am still investigating. One of the issues looks like a locking problem. But it is also possible that I am seeing some hash collisions and once in a while fetching an illegal move from the hash table. There is some code that validates moves from the table but right now it does not do a strict legality check. I am not sure that is the issue, but it might be I need to do more stringent checking.

Dec. 7th, 2015

Arasan 18.2 was released early this month. Changes from 18.1 are mostly in the evaluation routine. More parameters were made tunable and additional auto-tuning was done using the Texel method, with L2 regularization.

This version is playing in Ed Schroder's YAT tournament, and so far is performing pretty well. It is beating Waduutie and iCE, which are programs that are I think a bit stronger than Arasan 18.1.

Some of my to-do items that didn't make it into this release include:

  1. get rid of ArasanVector, ArasanSet (already have removed ArasanVector)
  2. consider taking out fractional extension/reduction (as was done recently in Stockfish).
  3. get rid of Stockfish null threat extension?
  4. piece value tuning
  5. prefetch?
  6. multi-core & NUMA tuning
  7. Android build
  8. clean up makefiles, allow cross-compilation?
  9. revisit auto book learning