From 9955bcff65c832cb09c9ad4dca4f257d990ce562 Mon Sep 17 00:00:00 2001
From: foreman
Date: Tue, 16 Jul 2019 17:51:22 -0400
Subject: [PATCH] P4 to Git Change 1968648 by jatang@jatang_win_pal_lc on
2019/07/16 17:42:09
SWDEV-174198 - Fix segfault running integer_ops.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#78 edit
[ROCm/clr commit: 8f1e23197ac0f517f2dab2e0cb4a398ce6a51654]
---
projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp
index a5be1940bf..f6af73f13f 100644
--- a/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp
+++ b/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp
@@ -605,6 +605,9 @@ VirtualGPU::~VirtualGPU() {
virtualQueue_->release();
}
+ // Lock the device to make the following thread safe
+ amd::ScopedLock lock(roc_device_.vgpusAccess());
+
--roc_device_.numOfVgpus_; // Virtual gpu unique index decrementing
roc_device_.vgpus_.erase(roc_device_.vgpus_.begin() + index());
for (uint idx = index(); idx < roc_device_.vgpus().size(); ++idx) {