From cc18890fe8f8d79ec9a311d0db00353d8e0644d5 Mon Sep 17 00:00:00 2001 From: SaleelK Date: Mon, 13 Oct 2025 22:01:46 -0700 Subject: [PATCH] clr: Reset barrier_value_packet_ at init (#1162) --- projects/clr/rocclr/device/rocm/rocvirtual.cpp | 9 ++++----- projects/clr/rocclr/device/rocm/rocvirtual.hpp | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 71e2cf7f9a..96ae29e4e3 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -1631,6 +1631,10 @@ VirtualGPU::VirtualGPU(Device& device, bool profiling, bool cooperative, profiling_ = profiling; cooperative_ = cooperative; + // Initialize barrier and barrier value packets + barrier_packet_.header = kInvalidAql; + barrier_value_packet_.header.header = kInvalidAql; + constexpr uint16_t kernelDispatchHBits = (HSA_PACKET_TYPE_KERNEL_DISPATCH << HSA_PACKET_HEADER_TYPE); constexpr uint16_t barrierHBits = (1 << HSA_PACKET_HEADER_BARRIER); @@ -1730,11 +1734,6 @@ bool VirtualGPU::create() { return false; } - // Initialize barrier and barrier value packets - memset(&barrier_packet_, 0, sizeof(barrier_packet_)); - barrier_packet_.header = kInvalidAql; - barrier_value_packet_.header.header = kInvalidAql; - // Create a object of PrintfDbg printfdbg_ = new PrintfDbg(roc_device_); if (nullptr == printfdbg_) { diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.hpp b/projects/clr/rocclr/device/rocm/rocvirtual.hpp index 987a1fc826..bb3e5ba782 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.hpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.hpp @@ -579,8 +579,8 @@ class VirtualGPU : public device::VirtualDevice { amd::Command* command_; //!< Current command hsa_agent_t gpu_device_; //!< Physical device hsa_queue_t* gpu_queue_; //!< Active queue associated with a vgpu - hsa_barrier_and_packet_t barrier_packet_; - hsa_amd_barrier_value_packet_t barrier_value_packet_; + hsa_barrier_and_packet_t barrier_packet_ {}; + hsa_amd_barrier_value_packet_t barrier_value_packet_ {}; uint32_t dispatch_id_; //!< This variable must be updated atomically. Device& roc_device_; //!< roc device object