diff --git a/device/rocm/rocvirtual.cpp b/device/rocm/rocvirtual.cpp index dbf7d35b..451fdcd5 100644 --- a/device/rocm/rocvirtual.cpp +++ b/device/rocm/rocvirtual.cpp @@ -1041,7 +1041,6 @@ void VirtualGPU::dispatchBarrierValuePacket(uint16_t packetHeader, bool resolveD hsa_signal_t signal, hsa_signal_value_t value, hsa_signal_value_t mask, hsa_signal_condition32_t cond, bool skipTs, hsa_signal_t completionSignal) { - hsa_amd_barrier_value_packet_t barrier_value_packet_ = {0}; uint16_t rest = HSA_AMD_PACKET_TYPE_BARRIER_VALUE; const uint32_t queueSize = gpu_queue_->size; const uint32_t queueMask = queueSize - 1; @@ -1274,6 +1273,7 @@ bool VirtualGPU::create() { // 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_); diff --git a/device/rocm/rocvirtual.hpp b/device/rocm/rocvirtual.hpp index af597ef2..d113a289 100644 --- a/device/rocm/rocvirtual.hpp +++ b/device/rocm/rocvirtual.hpp @@ -503,6 +503,7 @@ class VirtualGPU : public device::VirtualDevice { hsa_agent_t gpu_device_; //!< Physical device hsa_queue_t* gpu_queue_; //!< Queue associated with a gpu 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