Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DataManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ class DataManager : public CBase_DataManager {
double dErgPerGmUnit, double dSecUnit, double dKpcUnit,
COOLPARAM inParam, const CkCallback& cb);
void initStarLog(std::string _fileName, const CkCallback &cb);
void flushStarLog(const CkCallback& cb);
void initLWData(const CkCallback& cb);
void initHMStarLog(std::string _fileName, const CkCallback &cb);
void dmCoolTableRead(double *dTableData, int nData, const CkCallback& cb);
Expand Down
3 changes: 2 additions & 1 deletion ParallelGravity.ci
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ mainmodule ParallelGravity {
entry void memoryStats(const CkCallback& cb);
entry void resetReadOnly(Parameters param, const CkCallback &cb);
entry void initStarLog(std::string _fileName, const CkCallback &cb);
entry void flushStarLog(const CkCallback& cb);
entry void initLWData(const CkCallback& cb);
entry void initHMStarLog(std::string _fileName, const CkCallback &cb);
};
Expand Down Expand Up @@ -461,7 +462,7 @@ mainmodule ParallelGravity {
entry void initRand(int iRand, const CkCallback &cb);
entry void FormStars(Stfm param, double dTime, double dDelta,
double dCosmoFac, const CkCallback& cb);
entry void flushStarLog(const CkCallback& cb);
// entry void flushStarLog(const CkCallback& cb);
entry void flushHMStarLog(const CkCallback& cb);
entry void Feedback(Fdbk fb, double dTime, double dDelta,
const CkCallback& cb);
Expand Down
6 changes: 3 additions & 3 deletions ParallelGravity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3147,7 +3147,7 @@ Main::doSimulation()
&& (bOutTime() || iStep == param.nSteps || iStop
|| iStep%param.iOutInterval == 0)) {
writeOutput(iStep);
treeProxy[0].flushStarLog(CkCallbackResumeThread());
dMProxy[0].flushStarLog(CkCallbackResumeThread());
if(param.feedback->sn.bUseStoch)
treeProxy[0].flushHMStarLog(CkCallbackResumeThread());
}
Expand Down Expand Up @@ -3178,7 +3178,7 @@ Main::doSimulation()
// so it won't be saved on disk.
treeProxy.drift(0.0, 0, 0, 0.0, 0.0, 0, false, param.dMaxEnergy,
CkCallbackResumeThread());
treeProxy[0].flushStarLog(CkCallbackResumeThread());
dMProxy[0].flushStarLog(CkCallbackResumeThread());
if(param.feedback->sn.bUseStoch)
treeProxy[0].flushHMStarLog(CkCallbackResumeThread());
param.iStartStep = iStep; // update so that restart continues on
Expand Down Expand Up @@ -3409,7 +3409,7 @@ Main::doSimulation()
}

if(param.bBenchmark == 0) {
treeProxy[0].flushStarLog(CkCallbackResumeThread());
dMProxy[0].flushStarLog(CkCallbackResumeThread());
if(param.feedback->sn.bUseStoch)
treeProxy[0].flushHMStarLog(CkCallbackResumeThread());
}
Expand Down
20 changes: 8 additions & 12 deletions starform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -583,24 +583,20 @@ void DataManager::initHMStarLog(std::string _fileName, const CkCallback &cb) {
}

/// \brief flush starlog table to disk.
void TreePiece::flushStarLog(const CkCallback& cb) {
void DataManager::flushStarLog(const CkCallback& cb) {

if(verbosity > 3)
ckout << "TreePiece " << thisIndex << ": Writing output to disk" << endl;
if (dm == NULL)
dm = (DataManager*)CkLocalNodeBranch(dataManagerID);
CmiLock(dm->lockStarLog);
dm->starLog->flush();
CmiUnlock(dm->lockStarLog);
ckout << "Node " << thisIndex << ": Writing output to disk" << endl;
starLog->flush();

if(thisIndex!=(int)numTreePieces-1) {
pieces[thisIndex + 1].flushStarLog(cb);
return;
}
if(thisIndex != CkNumNodes()-1) {
thisProxy[thisIndex + 1].flushStarLog(cb);
return;
}

cb.send(); // We are done.
return;
}
}

/// \brief flush hmstarlog table to disk
void TreePiece::flushHMStarLog(const CkCallback& cb) {
Expand Down