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