From 931b20d4cd4c326e096a31bc42ec905a1a2741fb Mon Sep 17 00:00:00 2001
From: Lizzzka007 <gashchuk2011@mail.ru>
Date: Tue, 17 Jan 2023 14:31:43 +0300
Subject: [PATCH] Hotfix

---
 JikanDepths.cpp | 25 +++++++++++++------------
 JikanDepths.cu  | 24 +++++++++++-------------
 JikanDepths.h   |  8 ++++++--
 3 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/JikanDepths.cpp b/JikanDepths.cpp
index 6a171fa..8bcec74 100644
--- a/JikanDepths.cpp
+++ b/JikanDepths.cpp
@@ -90,7 +90,7 @@ void Jikan::Jikan_start(const string& name, const int& mode)
         (this->Events)[name].ifStart = true;
     }
 
-    #pragma omp barrier
+    // #pragma omp barrier
 
     if(!ExistFlag)
     {
@@ -100,13 +100,13 @@ void Jikan::Jikan_start(const string& name, const int& mode)
             (this->Events)[name].GetModeVals(mode);
         }
     }
-    else
-    {
-        bool ifStart = (this->Events)[name].ifStart;
+    // else
+    // {
+    //     bool ifStart = (this->Events)[name].ifStart;
 
-        if(!ifStart)
-            return;
-    }
+    //     if(!ifStart)
+    //         return;
+    // }
 
     #pragma omp barrier
     ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1];
@@ -140,7 +140,7 @@ void Jikan::Jikan_start(const string& name, const int& mode)
 
     #pragma omp master
     {
-        this->StartEventTimer(name);
+        this->StartEvent(name);
     }
 }
 
@@ -163,6 +163,7 @@ void Jikan::Jikan_end(const string& name)
         {    
             #ifdef INCLUDE_GPU_TIMER
                 this->cuda_Jikan_end(name);
+                this->cuda_get_time(name);
             #endif
         }
     }
@@ -182,7 +183,7 @@ void Jikan::Jikan_end(const string& name)
 
         (this->Events)[name].ifStart = false;
 
-        this->EndEventTimer(name);
+        this->EndEvent(name);
     }
     //---------------------------------------------------------------------------------------
 }
@@ -254,7 +255,7 @@ void Jikan::SetDumpFilename(const string& name)
     this->JSONname = name;
 }
 
-void Jikan::StartEventTimer(const string& name)
+void Jikan::StartEvent(const string& name)
 {
     bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
 
@@ -274,14 +275,14 @@ void Jikan::StartEventTimer(const string& name)
         (this->Events)[name].start = chrono::steady_clock::now();
 }
 
-void Jikan::EndEventTimer(const string& name)
+void Jikan::EndEvent(const string& name)
 {
     bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
 
     if((ifCUDA))
     {
         #ifdef INCLUDE_GPU_TIMER
-            this->cuda_Jikan_start(name);
+            this->cuda_Jikan_end(name);
         #endif
     }
 
diff --git a/JikanDepths.cu b/JikanDepths.cu
index 6da4fbb..094a342 100644
--- a/JikanDepths.cu
+++ b/JikanDepths.cu
@@ -18,19 +18,17 @@ void Jikan::cuda_Jikan_end(const string& name)
 {
     cudaEventRecord((this->Events)[name].gpu_end);
 	cudaEventSynchronize((this->Events)[name].gpu_end);
+}
 
-    bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
-
-    if((ifCUDA) && (!ifMPI) && (!ifOpenMP))
-    {
-        float GPUtime = 0.0;
-        cudaEventElapsedTime(&GPUtime, (this->Events)[name].gpu_start, (this->Events)[name].gpu_end );
-        GPUtime *= 1e-3;
-        (this->Events)[name].elapsed_time += GPUtime;
-        (this->Events)[name].count ++;
+void Jikan::cuda_get_time(const string& name)
+{
+    float GPUtime = 0.0;
+    cudaEventElapsedTime(&GPUtime, (this->Events)[name].gpu_start, (this->Events)[name].gpu_end );
+    GPUtime *= 1e-3;
+    (this->Events)[name].elapsed_time += GPUtime;
+    (this->Events)[name].count ++;
 
-        #ifdef SAVE_TIME_SERIES
-            (this->Events)[name].time_series.push_back(GPUtime);
-        #endif
-    }
+    #ifdef SAVE_TIME_SERIES
+        (this->Events)[name].time_series.push_back(GPUtime);
+    #endif
 }
\ No newline at end of file
diff --git a/JikanDepths.h b/JikanDepths.h
index 3395fe9..85c99a5 100644
--- a/JikanDepths.h
+++ b/JikanDepths.h
@@ -48,6 +48,10 @@ public:
 private:
     void StartTimer(const std::string& name);
     void BarrierMPI();
-    void StartEventTimer(const std::string& name);
-    void EndEventTimer(const std::string& name);
+    void StartEvent(const std::string& name);
+    void EndEvent(const std::string& name);
+
+#ifdef INCLUDE_GPU_TIMER
+    void cuda_get_time(const string& name);
+#endif
 };
\ No newline at end of file
-- 
GitLab