http://sites.google.com/site/gaviotache ... e/releases
or
http://github.com/michiguel/Gaviota-Tablebases
I do not think that the interface will change anymore after this release. So the next steps will be optimization, code cleanup, and wait if there is any bug. After that, I will hopefully rename it v1.0
Main changes in v0.2
I included functions that only probes Win-Draw-Loss info from the TBs. These functions can be used when the distance to mate is not needed, which the most common case during search. I implemented a second cache that stores the WDL info. Basically, these are bit-bases built on the fly and overall the performance should be better than plain TBs. This scheme saves a LOT of space and multiplies the efficiency of the cache 8x.
In a previous intermediate release (v0.1.6.1), I provided just the interface but now the whole thing is fully functional. These WDL functions come in two flavors, soft and hard, like the regular functions (soft probes only the cache, and never the HD). If you already implemented this interface, you do not have to change anything, and you will notice a boost in performance by upgrading the APIS.
The only change is that tbcache_init() has a new parameter (0-128) that tells how much the memory cache should be split between WDL and DTM info. Before, you had tbcache_init(cache_size), now (from tbprobe.c) you have:
Code: Select all
/*
| initialize tb cache. 96 is the fraction, over 128, that will be
| dedicated to wdl information. In other words, 3/4 of the cache
| will be dedicated to win-draw-loss info, and 1/4 dedicated to
| distance to mate information.
*/
tbcache_init(cache_size, 96);
Other changes:
From 0.1.6.1 to 0.2
- - Change char **paths to const char **paths
- All warnings in the intel and Microsoft compilers have been silenced
- malloc()'s have been casted to avoid error messages if the APIS are compiled in C++
- Modify verbose output of tb_init
- Set new STATS
- - I included tbcache_flush(). Sometimes you want to erase the tbcache to have reproducibility (epd tests etc).
- I cleaned up and remove a lot of commented code that was not needed.
Some new were included, until I decide they will not be needed anymore.
Code: Select all
WDL CACHE STATS
easy hits: 35760
hard probes: 6903
soft probes: 79900
size: 50331648
occupancy: 6.2 %
DTM CACHE STATS
easy hits: 48425
hard probes: 8040
soft probes: 200502
size: 16777216
occupancy: 100.0 %
GENERAL GTB PROBE STATS
Total hits: 86239
memory hits: 84185
drive hits: 2054
drive miss: 0
bytes read: 7481741
files opened: 36
mem. efficiency: 97.6 %