mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 09:47:46 +00:00
MPI/Cluster implementation for Stockfish
Based on Peter Österlund's "Lazy Cluster" algorithm, but with some simplifications. To compile, point COMPCXX to the MPI C++ compiler wrapper (mpicxx).
This commit is contained in:
committed by
Stéphane Nicolet
parent
800031c94c
commit
29c166a072
@@ -24,6 +24,11 @@
|
||||
#include "misc.h"
|
||||
#include "types.h"
|
||||
|
||||
namespace Cluster {
|
||||
void init();
|
||||
}
|
||||
//void Cluster::init();
|
||||
|
||||
/// TTEntry struct is the 10 bytes transposition table entry, defined as below:
|
||||
///
|
||||
/// key 16 bit
|
||||
@@ -36,6 +41,7 @@
|
||||
|
||||
struct TTEntry {
|
||||
|
||||
Key key() const { return (Key )(key16) << 48; }
|
||||
Move move() const { return (Move )move16; }
|
||||
Value value() const { return (Value)value16; }
|
||||
Value eval() const { return (Value)eval16; }
|
||||
@@ -45,6 +51,7 @@ struct TTEntry {
|
||||
|
||||
private:
|
||||
friend class TranspositionTable;
|
||||
friend void Cluster::init();
|
||||
|
||||
uint16_t key16;
|
||||
uint16_t move16;
|
||||
@@ -64,6 +71,8 @@ private:
|
||||
|
||||
class TranspositionTable {
|
||||
|
||||
friend void Cluster::init();
|
||||
|
||||
static constexpr int CacheLineSize = 64;
|
||||
static constexpr int ClusterSize = 3;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user