diff --git a/Event.cpp b/Event.cpp index 344db2656858bc3a7ade7ecfb33459217f18cfa2..fab2995e31f051cddc3b42b948b4f497cc18472b 100644 --- a/Event.cpp +++ b/Event.cpp @@ -32,15 +32,19 @@ EventData::EventData() EventData::~EventData() { + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif this->time_series.clear(); this->mode.clear(); #ifdef INCLUDE_GPU_TIMER this->DeinitEventsCUDA(); #endif + #ifdef INCLUDE_OPEN_MP } + #endif } EventData::EventData(const string& name) diff --git a/Jikan.cpp b/Jikan.cpp index 8a29c09c59ead51cb5fe3c81ec19a5cf08c3717e..4d0fb5b4344f2665fcd4893b6cee5ae0f12d50b8 100644 --- a/Jikan.cpp +++ b/Jikan.cpp @@ -25,11 +25,15 @@ extern "C" void WriteOutput() { + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif bool ifWrite = Timer.ifWriteProc(); if(ifWrite == true) Timer.GenerateOutputData(); + #ifdef INCLUDE_OPEN_MP } + #endif } } \ No newline at end of file diff --git a/Jikan.h b/Jikan.h index bc98a66ae00a39733440f29f225760c1539168a6..de2584db2b0c059b99f08f1bf803af7d20fba4b6 100644 --- a/Jikan.h +++ b/Jikan.h @@ -4,7 +4,7 @@ #define TIMER_ON #define INCLUDE_GPU_TIMER #define INCLUDE_MPI -#define INCLUDE_OPEN_MP +// #define INCLUDE_OPEN_MP #define SAVE_TIME_SERIES #define OUTPUT_NAME "Jikan-output" diff --git a/JikanDepths.cpp b/JikanDepths.cpp index ca2344aa79c106764d32d7cbcca08e514962eb5b..5c6de17e62a25ae27da93053ecc316988ece0564 100644 --- a/JikanDepths.cpp +++ b/JikanDepths.cpp @@ -14,15 +14,19 @@ using namespace std; Jikan::Jikan() { + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif this->EventType["Synchronous events"] = set<string>(); this->EventType["Asynchronous events"] = set<string>(); this->JSONname = OUTPUT_NAME + string(".json"); this->JSONdata = ""; this->Error = ""; + #ifdef INCLUDE_OPEN_MP } + #endif }; #ifdef INCLUDE_MPI @@ -56,8 +60,10 @@ bool Jikan::ifWriteProc() Jikan::~Jikan() { + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif this->Events.clear(); map<string, set<string> >::iterator it; @@ -66,7 +72,9 @@ Jikan::~Jikan() it->second.clear(); this->EventType.clear(); + #ifdef INCLUDE_OPEN_MP } + #endif } bool Jikan::ifContains(const string& Name) @@ -85,20 +93,26 @@ void Jikan::JikanStart(const string& name, const int& mode) bool ExistFlag, ifMPI, ifOpenMP; ExistFlag = this->ifContains(name); + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif (this->Events)[name].ifStart = true; + #ifdef INCLUDE_OPEN_MP } - - // #pragma omp barrier + #endif if(!ExistFlag) { + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif (this->Events)[name] = EventData(name); (this->Events)[name].GetModeVals(mode); + #ifdef INCLUDE_OPEN_MP } + #endif } // else // { @@ -108,11 +122,16 @@ void Jikan::JikanStart(const string& name, const int& mode) // return; // } + #ifdef INCLUDE_OPEN_MP #pragma omp barrier + #endif + ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1]; + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif if(!ExistFlag) { string EventTypeName; @@ -129,19 +148,27 @@ void Jikan::JikanStart(const string& name, const int& mode) if(ifMPI) this->BarrierMPI(); //--------------------------------------------------------------------------------------- + #ifdef INCLUDE_OPEN_MP } + #endif //--------------------------- OpenMP synchronization -------------------------------- if(ifOpenMP) { - #pragma omp barrier + #ifdef INCLUDE_OPEN_MP + #pragma omp barrier + #endif } //----------------------------------------------------------------------------------- + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif this->StartEvent(name); + #ifdef INCLUDE_OPEN_MP } + #endif } void Jikan::JikanEnd(const string& name) @@ -157,8 +184,10 @@ void Jikan::JikanEnd(const string& name) ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2]; + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif if((ifCUDA) && (!ifMPI) && (!ifOpenMP)) { #ifdef INCLUDE_GPU_TIMER @@ -166,25 +195,33 @@ void Jikan::JikanEnd(const string& name) this->CUDAGetTime(name); #endif } + #ifdef INCLUDE_OPEN_MP } + #endif //--------------------------- OpenMP synchronization -------------------------------- if(ifOpenMP) { - #pragma omp barrier + #ifdef INCLUDE_OPEN_MP + #pragma omp barrier + #endif } //----------------------------------------------------------------------------------- //--------------------------- MPI synchronization --------------------------------------- + #ifdef INCLUDE_OPEN_MP #pragma omp master { + #endif if(ifMPI) this->BarrierMPI(); (this->Events)[name].ifStart = false; this->EndEvent(name); + #ifdef INCLUDE_OPEN_MP } + #endif //--------------------------------------------------------------------------------------- } diff --git a/Jikan copy.cpp b/Old/Jikan copy.cpp similarity index 100% rename from Jikan copy.cpp rename to Old/Jikan copy.cpp diff --git a/Jikan copy.h b/Old/Jikan copy.h similarity index 100% rename from Jikan copy.h rename to Old/Jikan copy.h diff --git a/Jikan-config.h b/Old/Jikan-config.h similarity index 100% rename from Jikan-config.h rename to Old/Jikan-config.h diff --git a/JikanDepths copy.cpp b/Old/JikanDepths copy.cpp similarity index 100% rename from JikanDepths copy.cpp rename to Old/JikanDepths copy.cpp