diff --git a/rocclr/runtime/device/rocm/rocblit.cpp b/rocclr/runtime/device/rocm/rocblit.cpp index 3e4e753295..c4a9210ebb 100644 --- a/rocclr/runtime/device/rocm/rocblit.cpp +++ b/rocclr/runtime/device/rocm/rocblit.cpp @@ -616,9 +616,6 @@ bool DmaBlitManager::hsaCopy( bool enableCopyRect, bool flushDMA) const { - // todo integerops long_math test exposes - // a HW hang without lock protection. note: Runtime kernel copy works fine - amd::ScopedLock k(dev().hsaCopyOps()); address src = reinterpret_cast
(srcMemory.getDeviceMemory()); address dst = reinterpret_cast
(dstMemory.getDeviceMemory()); @@ -666,8 +663,6 @@ bool DmaBlitManager::hsaCopy( bool DmaBlitManager::hsaCopyStaged( const_address hostSrc, address hostDst, size_t size, address staging, bool hostToDev) const { - amd::ScopedLock k(dev().hsaCopyOps()); - // No allocation is necessary for Full Profile hsa_status_t status; if (dev().agent_profile() == HSA_PROFILE_FULL) { diff --git a/rocclr/runtime/device/rocm/rocdevice.cpp b/rocclr/runtime/device/rocm/rocdevice.cpp index 359e865b61..84dd70f527 100644 --- a/rocclr/runtime/device/rocm/rocdevice.cpp +++ b/rocclr/runtime/device/rocm/rocdevice.cpp @@ -189,7 +189,6 @@ Device::Device(hsa_agent_t bkendDevice) , xferQueue_(nullptr) , xferRead_(nullptr) , xferWrite_(nullptr) - , hsaCopyOps_(nullptr) , numOfVgpus_(0) { group_segment_.handle = 0; @@ -208,7 +207,6 @@ Device::~Device() } delete mapCache_; delete mapCacheOps_; - delete hsaCopyOps_; // Destroy temporary buffers for read/write delete xferRead_; @@ -628,11 +626,6 @@ Device::create() return false; } - hsaCopyOps_ = new amd::Monitor("HSA copy Lock", true); - if (nullptr == hsaCopyOps_) { - return false; - } - mapCache_ = new std::vector(); if (mapCache_ == NULL) { return false; diff --git a/rocclr/runtime/device/rocm/rocdevice.hpp b/rocclr/runtime/device/rocm/rocdevice.hpp index 2d8a8109e6..ed12234cd9 100644 --- a/rocclr/runtime/device/rocm/rocdevice.hpp +++ b/rocclr/runtime/device/rocm/rocdevice.hpp @@ -411,8 +411,6 @@ public: amd::Memory* mem //!< Pointer to AMD memory object ) const; - amd::Monitor& hsaCopyOps() const { return *hsaCopyOps_; } - private: static hsa_ven_amd_loader_1_00_pfn_t amd_loader_ext_table; @@ -441,10 +439,6 @@ private: XferBuffers* xferRead_; //!< Transfer buffers read XferBuffers* xferWrite_; //!< Transfer buffers write - //! todo it shouldn't require a lock proteciton, - //! but currently it causes a HW hang in MT environment - amd::Monitor* hsaCopyOps_; //!< HSA copy is protected under lock - public: amd::Atomic numOfVgpus_; //!< Virtual gpu unique index }; // class roc::Device