From d96016bcc5e7a2cc60647e6e04e0f40a8c676652 Mon Sep 17 00:00:00 2001 From: "Li, Todd tiantuo" Date: Wed, 28 May 2025 01:18:48 -0700 Subject: [PATCH] SWDEV-514950 - fix hipMallocManaged & hipMemAdvise when capturing stream (#413) --- hipamd/src/hip_hmm.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hipamd/src/hip_hmm.cpp b/hipamd/src/hip_hmm.cpp index 2aa364ee31..15b9105bff 100644 --- a/hipamd/src/hip_hmm.cpp +++ b/hipamd/src/hip_hmm.cpp @@ -72,6 +72,10 @@ hipError_t hipMallocManaged(void** dev_ptr, size_t size, unsigned int flags) { HIP_RETURN(hipErrorInvalidValue); } + if (!hip::tls.capture_streams_.empty() || !g_captureStreams.empty()) { + HIP_RETURN(hipErrorStreamCaptureUnsupported); + } + HIP_RETURN(ihipMallocManaged(dev_ptr, size), *dev_ptr); } @@ -151,6 +155,10 @@ hipError_t hipMemAdvise(const void* dev_ptr, size_t count, hipMemoryAdvise advic HIP_RETURN(hipErrorInvalidValue); } + if (!hip::tls.capture_streams_.empty() || !g_captureStreams.empty()) { + HIP_RETURN(hipErrorStreamCaptureUnsupported); + } + size_t offset = 0; amd::Memory* memObj = getMemoryObject(dev_ptr, offset); if (memObj && count > (memObj->getSize() - offset)) {