diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 7f36548cc2..37c4f6f011 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -2780,19 +2780,21 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const break; } case amd::KernelParameterDescriptor::HiddenHostcallBuffer: { - if (dev().info().pcie_atomics_) { - uintptr_t buffer = reinterpret_cast( - roc_device_.getOrCreateHostcallBuffer(gpu_queue_, coopGroups, cuMask_)); - if (!buffer) { + if (amd::IS_HIP) { + if (dev().info().pcie_atomics_) { + uintptr_t buffer = reinterpret_cast( + roc_device_.getOrCreateHostcallBuffer(gpu_queue_, coopGroups, cuMask_)); + if (!buffer) { + ClPrint(amd::LOG_ERROR, amd::LOG_KERN, + "Kernel expects a hostcall buffer, but none found"); + return false; + } + WriteAqlArgAt(hidden_arguments, buffer, it.size_, it.offset_); + } else { ClPrint(amd::LOG_ERROR, amd::LOG_KERN, - "Kernel expects a hostcall buffer, but none found"); + "Pcie atomics not enabled, hostcall not supported"); return false; } - WriteAqlArgAt(hidden_arguments, buffer, it.size_, it.offset_); - } else { - ClPrint(amd::LOG_ERROR, amd::LOG_KERN, - "Pcie atomics not enabled, printf not supported"); - return false; } break; }