From 1caf1e4936cd6fc29de60f133bf70ff8045a223f Mon Sep 17 00:00:00 2001 From: Satyanvesh Dittakavi Date: Mon, 27 Sep 2021 19:12:50 +0000 Subject: [PATCH] SWDEV-292714 - Add unique id for each allocation to support HIP_POINTER_ATTRIBUTE_BUFFER_ID Change-Id: Ibb3fcb2d0bbbef03525fc884d5b3e9b5f6c11423 [ROCm/clr commit: c56317b2e072b61a84fcbdd55b783ba75d2d42c1] --- projects/clr/rocclr/platform/memory.cpp | 5 +++++ projects/clr/rocclr/platform/memory.hpp | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/clr/rocclr/platform/memory.cpp b/projects/clr/rocclr/platform/memory.cpp index 6a309e42ae..5f061e4e40 100644 --- a/projects/clr/rocclr/platform/memory.cpp +++ b/projects/clr/rocclr/platform/memory.cpp @@ -28,6 +28,9 @@ #include +// Stores the no. of memory allocations +std::atomic numAllocs = 0; + namespace amd { bool BufferRect::create(const size_t* bufferOrigin, const size_t* region, size_t bufferRowPitch, @@ -309,6 +312,8 @@ bool Memory::create(void* initFrom, bool sysMemAlloc, bool skipAlloc, bool force } } + // Store the unique id for each memory allocation + uniqueId_ = ++numAllocs; return true; } diff --git a/projects/clr/rocclr/platform/memory.hpp b/projects/clr/rocclr/platform/memory.hpp index e27ce7130d..4d28e45965 100644 --- a/projects/clr/rocclr/platform/memory.hpp +++ b/projects/clr/rocclr/platform/memory.hpp @@ -188,7 +188,8 @@ class Memory : public amd::RuntimeObject { }; uint32_t flagsEx_; }; - + //! unique buffer id for each memory allocation + uint32_t uniqueId_ = 0; //! used to save the user data during memory allocation. UserData userData_; @@ -366,7 +367,7 @@ class Memory : public amd::RuntimeObject { device::Memory* BaseP2PMemory() const { return deviceMemories_[0].value_; } device::Memory* svmBase() const { return svmBase_; } //!< Returns SVM base for MGPU case - + uint32_t getUniqueId() { return uniqueId_; } //!save the user data during memory allocation UserData& getUserData() { return userData_; }