From aa4f0447091dce31254c66fe8564c06d207c68a1 Mon Sep 17 00:00:00 2001
From: Stan Moore <stamoor@sandia.gov>
Date: Thu, 5 Apr 2018 11:44:19 -0600
Subject: [PATCH] Deallocate views of views in serial to prevent race condition
 in Kokkos profiling tools

---
 src/KOKKOS/pair_reaxc_kokkos.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp
index 7a72a24e3b..3a4a91ede4 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.cpp
+++ b/src/KOKKOS/pair_reaxc_kokkos.cpp
@@ -89,6 +89,19 @@ PairReaxCKokkos<DeviceType>::~PairReaxCKokkos()
   tmpid = NULL;
   memoryKK->destroy_kokkos(k_tmpbo,tmpbo);
   tmpbo = NULL;
+
+  // deallocate views of views in serial to prevent race condition in profiling tools
+
+  for (int i = 0; i < k_LR.extent(0); i++) {
+    for (int j = 0; j < k_LR.extent(1); j++) {
+      k_LR.h_view(i,j).d_y      = decltype(k_LR.h_view(i,j).d_y     )();
+      k_LR.h_view(i,j).d_H      = decltype(k_LR.h_view(i,j).d_H     )();
+      k_LR.h_view(i,j).d_vdW    = decltype(k_LR.h_view(i,j).d_vdW   )();
+      k_LR.h_view(i,j).d_CEvd   = decltype(k_LR.h_view(i,j).d_CEvd  )();
+      k_LR.h_view(i,j).d_ele    = decltype(k_LR.h_view(i,j).d_ele   )();
+      k_LR.h_view(i,j).d_CEclmb = decltype(k_LR.h_view(i,j).d_CEclmb)();
+    }
+  }
 }
 
 /* ---------------------------------------------------------------------- */
-- 
GitLab