diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 4395320835..56b6022f6f 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -1055,12 +1055,13 @@ void VirtualGPU::dispatchBarrierValuePacket(uint16_t packetHeader, bool resolveD assert(resolveDepSignal & (signal.handle != 0) == 0); if (resolveDepSignal) { auto wait_signal = Barriers().WaitingSignal(); - assert(wait_signal.size() < 2 && "Only one dep signal allowed for BarrierValue"); - - barrier_value_packet_.signal = wait_signal[0]; - barrier_value_packet_.value = kInitSignalValueOne; - barrier_value_packet_.mask = std::numeric_limits::max(); - barrier_value_packet_.cond = HSA_SIGNAL_CONDITION_LT; + if (wait_signal.size() > 0) { + assert(wait_signal.size() == 1 && "Only one dep signal allowed for BarrierValue"); + barrier_value_packet_.signal = wait_signal[0]; + barrier_value_packet_.value = kInitSignalValueOne; + barrier_value_packet_.mask = std::numeric_limits::max(); + barrier_value_packet_.cond = HSA_SIGNAL_CONDITION_LT; + } } if (completionSignal.handle == 0) {