00001 //---------------------------------------------------------------------------- 00002 /** @file SgMpiSynchronizer.cpp */ 00003 //---------------------------------------------------------------------------- 00004 00005 #include "SgSystem.h" 00006 #include "SgMpiSynchronizer.h" 00007 00008 using namespace std; 00009 00010 //----------------------------------------------------------------------------- 00011 00012 SgMpiSynchronizer::~SgMpiSynchronizer() 00013 { 00014 } 00015 00016 //----------------------------------------------------------------------------- 00017 00018 SgMpiNullSynchronizer::SgMpiNullSynchronizer() 00019 { 00020 } 00021 00022 SgMpiNullSynchronizer::~SgMpiNullSynchronizer() 00023 { 00024 } 00025 00026 SgMpiSynchronizerHandle SgMpiNullSynchronizer::Create() 00027 { 00028 return SgMpiSynchronizerHandle(new SgMpiNullSynchronizer()); 00029 } 00030 00031 00032 string SgMpiNullSynchronizer::ToNodeFilename(const string &filename) const 00033 { 00034 return filename; 00035 } 00036 00037 bool SgMpiNullSynchronizer::IsRootProcess() const 00038 { 00039 return true; 00040 } 00041 00042 void SgMpiNullSynchronizer::OnStartSearch(SgUctSearch &search) 00043 { 00044 SG_UNUSED(search); 00045 } 00046 00047 void SgMpiNullSynchronizer::OnEndSearch(SgUctSearch &search) 00048 { 00049 SG_UNUSED(search); 00050 } 00051 00052 void SgMpiNullSynchronizer::OnThreadStartSearch(SgUctSearch &search, 00053 SgUctThreadState &state) 00054 { 00055 SG_UNUSED(search); 00056 SG_UNUSED(state); 00057 } 00058 00059 void SgMpiNullSynchronizer::OnThreadEndSearch(SgUctSearch &search, 00060 SgUctThreadState &state) 00061 { 00062 SG_UNUSED(search); 00063 SG_UNUSED(state); 00064 } 00065 00066 void SgMpiNullSynchronizer::OnSearchIteration(SgUctSearch &search, 00067 SgUctValue gameNumber, 00068 int threadId, 00069 const SgUctGameInfo& info) 00070 { 00071 SG_UNUSED(search); 00072 SG_UNUSED(gameNumber); 00073 SG_UNUSED(threadId); 00074 SG_UNUSED(info); 00075 } 00076 00077 void SgMpiNullSynchronizer::OnStartPonder() 00078 { 00079 } 00080 00081 void SgMpiNullSynchronizer::OnEndPonder() 00082 { 00083 } 00084 00085 void SgMpiNullSynchronizer::WriteStatistics(ostream& out) const 00086 { 00087 SG_UNUSED(out); 00088 } 00089 00090 void SgMpiNullSynchronizer::SynchronizeUserAbort(bool &flag) 00091 { 00092 SG_UNUSED(flag); 00093 } 00094 00095 void SgMpiNullSynchronizer::SynchronizePassWins(bool &flag) 00096 { 00097 SG_UNUSED(flag); 00098 } 00099 00100 00101 void SgMpiNullSynchronizer::SynchronizeEarlyPassPossible(bool &flag) 00102 { 00103 SG_UNUSED(flag); 00104 } 00105 00106 00107 void SgMpiNullSynchronizer::SynchronizeMove(SgMove &move) 00108 { 00109 SG_UNUSED(move); 00110 } 00111 00112 void SgMpiNullSynchronizer::SynchronizeValue(SgUctValue &value) 00113 { 00114 SG_UNUSED(value); 00115 } 00116 00117 void SgMpiNullSynchronizer::SynchronizeSearchStatus(SgUctValue &value, 00118 bool &earlyAbort, 00119 SgUctValue &rootMoveCount) 00120 { 00121 SG_UNUSED(value); 00122 SG_UNUSED(earlyAbort); 00123 SG_UNUSED(rootMoveCount); 00124 } 00125 00126 //-----------------------------------------------------------------------------