From 47b40068f62664ec45ffd93ad85dbf14b7aafbe7 Mon Sep 17 00:00:00 2001 From: David Yat Sin Date: Mon, 31 Jul 2023 13:54:35 +0000 Subject: [PATCH] Fix compile error when using clang Fix compile error due to arithmetic on void* Fix some compile warnings Change-Id: I03ded438c5af77ba61c0a7017be5d4fe1e16c16c [ROCm/ROCR-Runtime commit: 93aff0b439b06de3063e29e3ec8f438f8889af4f] --- .../hsa-runtime/core/runtime/amd_gpu_agent.cpp | 12 ++++++++---- .../runtime/hsa-runtime/core/runtime/runtime.cpp | 11 ++++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index 1a86c6085b..0e591f7eb5 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -964,12 +964,16 @@ hsa_status_t GpuAgent::DmaCopy(void* dst, core::Agent& dst_agent, hsa_status_t stat; size_t chunk = std::min(remainder_size, (size + gang_factor - 1)/gang_factor); if (!blit->GangLeader() && !gang_signals.empty()) { - stat = blit->SubmitLinearCopyCommand(dst + offset, src + offset, chunk, - dep_signals, *gang_signals[gang_sig_count], gang_signals); + stat = blit->SubmitLinearCopyCommand(reinterpret_cast(dst) + offset, + reinterpret_cast(src) + offset, + chunk, dep_signals, + *gang_signals[gang_sig_count], gang_signals); gang_sig_count++; } else { - stat = blit->SubmitLinearCopyCommand(dst + offset, src + offset, chunk, - dep_signals, out_signal, gang_signals); + stat = blit->SubmitLinearCopyCommand(reinterpret_cast(dst) + offset, + reinterpret_cast(src) + offset, + chunk, dep_signals, + out_signal, gang_signals); } SetCopyRequestRefCount(false); diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/runtime.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/runtime.cpp index c3187880c7..8bfca258fc 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/runtime.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/runtime.cpp @@ -1421,7 +1421,7 @@ Runtime::Runtime() vm_fault_event_(nullptr), vm_fault_signal_(nullptr), ref_count_(0), - kfd_version{0} {} + kfd_version{} {} hsa_status_t Runtime::Load() { os::cpuid_t cpuinfo; @@ -2432,7 +2432,7 @@ hsa_status_t Runtime::DmaBufClose(int dmabuf) { hsa_status_t Runtime::VMemoryAddressReserve(void** va, size_t size, uint64_t address, uint64_t flags) { void* addr = (void*)address; - HsaMemFlags memFlags = {0}; + HsaMemFlags memFlags = {}; ScopedAcquire lock(&memory_lock_); @@ -2563,7 +2563,8 @@ hsa_status_t Runtime::VMemoryHandleMap(void* va, size_t size, size_t in_offset, if (reservedAddressIt != reserved_address_map_.begin()) { reservedAddressIt--; if ((reservedAddressIt->first <= va) && - ((va + size) <= (reservedAddressIt->first + reservedAddressIt->second.size))) { + ((reinterpret_cast(va) + size) <= + (reinterpret_cast(reservedAddressIt->first) + reservedAddressIt->second.size))) { reservedAddressFound = true; } } @@ -2573,12 +2574,12 @@ hsa_status_t Runtime::VMemoryHandleMap(void* va, size_t size, size_t in_offset, auto upperMappedHandleIt = mapped_handle_map_.upper_bound(va); if (upperMappedHandleIt != mapped_handle_map_.begin()) { upperMappedHandleIt--; - if (upperMappedHandleIt->first + upperMappedHandleIt->second.size > va) + if ((reinterpret_cast(upperMappedHandleIt->first) + upperMappedHandleIt->second.size) > va) return HSA_STATUS_ERROR_INVALID_ARGUMENT; } auto lowerMappedHandleIt = mapped_handle_map_.lower_bound(va); if (lowerMappedHandleIt != mapped_handle_map_.end()) { - if (va + size > lowerMappedHandleIt->first) return HSA_STATUS_ERROR_INVALID_ARGUMENT; + if (reinterpret_cast(va) + size > lowerMappedHandleIt->first) return HSA_STATUS_ERROR_INVALID_ARGUMENT; } auto memoryHandleIt = memory_handle_map_.find(reinterpret_cast(memoryOnlyHandle.handle));