Skip to content

Commit 15924f1

Browse files
committed
Add alignment checks to OpenCL and Level Zero plug-ins.
1 parent 0b61b2d commit 15924f1

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

sycl/plugins/level_zero/pi_level_zero.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4674,6 +4674,8 @@ pi_result piextUSMHostAlloc(void **ResultPtr, pi_context Context,
46744674
ZE_CALL(
46754675
zeMemAllocHost(Context->ZeContext, &ZeDesc, Size, Alignment, ResultPtr));
46764676

4677+
assert(alignment == 0 ||
4678+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0);
46774679
return PI_SUCCESS;
46784680
}
46794681

@@ -4700,6 +4702,8 @@ pi_result USMDeviceAllocImpl(void **ResultPtr, pi_context Context,
47004702
ZE_CALL(zeMemAllocDevice(Context->ZeContext, &ZeDesc, Size, Alignment,
47014703
Device->ZeDevice, ResultPtr));
47024704

4705+
assert(alignment == 0 ||
4706+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0);
47034707
return PI_SUCCESS;
47044708
}
47054709

@@ -4721,6 +4725,8 @@ pi_result USMSharedAllocImpl(void **ResultPtr, pi_context Context,
47214725
ZE_CALL(zeMemAllocShared(Context->ZeContext, &ZeDevDesc, &ZeHostDesc, Size,
47224726
Alignment, Device->ZeDevice, ResultPtr));
47234727

4728+
assert(alignment == 0 ||
4729+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0);
47244730
return PI_SUCCESS;
47254731
}
47264732

sycl/plugins/opencl/pi_opencl.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,9 @@ pi_result piextUSMHostAlloc(void **result_ptr, pi_context context,
713713

714714
*result_ptr = Ptr;
715715

716+
assert(alignment == 0 ||
717+
(RetVal == PI_SUCCESS &&
718+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
716719
return RetVal;
717720
}
718721

@@ -746,6 +749,9 @@ pi_result piextUSMDeviceAlloc(void **result_ptr, pi_context context,
746749

747750
*result_ptr = Ptr;
748751

752+
assert(alignment == 0 ||
753+
(RetVal == PI_SUCCESS &&
754+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
749755
return RetVal;
750756
}
751757

@@ -779,6 +785,9 @@ pi_result piextUSMSharedAlloc(void **result_ptr, pi_context context,
779785

780786
*result_ptr = Ptr;
781787

788+
assert(alignment == 0 ||
789+
(RetVal == PI_SUCCESS &&
790+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
782791
return RetVal;
783792
}
784793

0 commit comments

Comments
 (0)