From 82d4cef9ff03cb6263800686dfada001cff33191 Mon Sep 17 00:00:00 2001 From: Wenju He Date: Wed, 22 Nov 2023 11:16:44 +0800 Subject: [PATCH 1/2] [NATIVECPU] Fix build errors when -Werror=on --- source/adapters/native_cpu/enqueue.cpp | 9 +++++---- source/adapters/native_cpu/kernel.cpp | 7 ++++++- source/adapters/native_cpu/memory.hpp | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/source/adapters/native_cpu/enqueue.cpp b/source/adapters/native_cpu/enqueue.cpp index 24b30b4c67..d9e73c5453 100644 --- a/source/adapters/native_cpu/enqueue.cpp +++ b/source/adapters/native_cpu/enqueue.cpp @@ -144,12 +144,11 @@ static inline ur_result_t enqueueMemBufferReadWriteRect_impl( size_t host_origin = (d + HostOffset.z) * HostSlicePitch + (h + HostOffset.y) * HostRowPitch + w + HostOffset.x; - int8_t &host_mem = ur_cast(DstMem)[host_origin]; int8_t &buff_mem = ur_cast(Buff->_mem)[buff_orign]; - if (IsRead) - host_mem = buff_mem; + if constexpr (IsRead) + ur_cast(DstMem)[host_origin] = buff_mem; else - buff_mem = host_mem; + buff_mem = ur_cast(DstMem)[host_origin]; } return UR_RESULT_SUCCESS; } @@ -160,6 +159,8 @@ static inline ur_result_t doCopy_impl(ur_queue_handle_t hQueue, void *DstPtr, const ur_event_handle_t *EventWaitList, ur_event_handle_t *Event) { // todo: non-blocking, events, UR integration + std::ignore = EventWaitList; + std::ignore = Event; std::ignore = hQueue; std::ignore = numEventsInWaitList; if (SrcPtr != DstPtr && Size) diff --git a/source/adapters/native_cpu/kernel.cpp b/source/adapters/native_cpu/kernel.cpp index 96648e57f8..d1a885203c 100644 --- a/source/adapters/native_cpu/kernel.cpp +++ b/source/adapters/native_cpu/kernel.cpp @@ -25,7 +25,8 @@ urKernelCreate(ur_program_handle_t hProgram, const char *pKernelName, if (kernelEntry == hProgram->_kernels.end()) return UR_RESULT_ERROR_INVALID_KERNEL; - auto f = reinterpret_cast(kernelEntry->second); + auto f = reinterpret_cast( + const_cast(kernelEntry->second)); auto kernel = new ur_kernel_handle_t_(pKernelName, *f); *phKernel = kernel; @@ -171,6 +172,10 @@ urKernelGetSubGroupInfo(ur_kernel_handle_t hKernel, ur_device_handle_t hDevice, // todo: set proper values return ReturnValue(0); } + case UR_KERNEL_SUB_GROUP_INFO_FORCE_UINT32: { + // todo: set proper values + return ReturnValue(0); + } } DIE_NO_IMPLEMENTATION; } diff --git a/source/adapters/native_cpu/memory.hpp b/source/adapters/native_cpu/memory.hpp index 10f443ca0c..45a28ccc67 100644 --- a/source/adapters/native_cpu/memory.hpp +++ b/source/adapters/native_cpu/memory.hpp @@ -61,6 +61,7 @@ struct _ur_buffer final : ur_mem_handle_t_ { : ur_mem_handle_t_(Size, false) {} _ur_buffer(_ur_buffer *b, size_t Offset, size_t Size) : ur_mem_handle_t_(b->_mem + Offset, false), SubBuffer(b) { + std::ignore = Size; SubBuffer.Origin = Offset; } From d0319b23c6ad2045cf33d9eacf183d7879ae8c78 Mon Sep 17 00:00:00 2001 From: Wenju He Date: Thu, 23 Nov 2023 08:04:57 +0800 Subject: [PATCH 2/2] use unreachable for UR_KERNEL_SUB_GROUP_INFO_FORCE_UINT32 --- source/adapters/native_cpu/kernel.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/adapters/native_cpu/kernel.cpp b/source/adapters/native_cpu/kernel.cpp index d1a885203c..cfe5f0a930 100644 --- a/source/adapters/native_cpu/kernel.cpp +++ b/source/adapters/native_cpu/kernel.cpp @@ -173,8 +173,11 @@ urKernelGetSubGroupInfo(ur_kernel_handle_t hKernel, ur_device_handle_t hDevice, return ReturnValue(0); } case UR_KERNEL_SUB_GROUP_INFO_FORCE_UINT32: { - // todo: set proper values - return ReturnValue(0); +#ifdef _MSC_VER + __assume(0); +#else + __builtin_unreachable(); +#endif } } DIE_NO_IMPLEMENTATION;