Skip to content
Snippets Groups Projects
Commit 3ac15b15 authored by 数学の武士's avatar 数学の武士
Browse files

#pragma to ifdef

parent aad6f1d8
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
......@@ -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
......@@ -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"
......
......@@ -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)
{
#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)
{
#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
//---------------------------------------------------------------------------------------
}
......
File moved
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment