Skip to content

Commit 012078c

Browse files
authored
[SYCL][NFC] Check alignment of USM allocations (#2831)
1 parent eadce94 commit 012078c

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

sycl/plugins/cuda/pi_cuda.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4164,6 +4164,9 @@ pi_result cuda_piextUSMHostAlloc(void **result_ptr, pi_context context,
41644164
result = error;
41654165
}
41664166

4167+
assert(alignment == 0 ||
4168+
(result == PI_SUCCESS &&
4169+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
41674170
return result;
41684171
}
41694172

@@ -4185,6 +4188,9 @@ pi_result cuda_piextUSMDeviceAlloc(void **result_ptr, pi_context context,
41854188
result = error;
41864189
}
41874190

4191+
assert(alignment == 0 ||
4192+
(result == PI_SUCCESS &&
4193+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
41884194
return result;
41894195
}
41904196

@@ -4207,6 +4213,9 @@ pi_result cuda_piextUSMSharedAlloc(void **result_ptr, pi_context context,
42074213
result = error;
42084214
}
42094215

4216+
assert(alignment == 0 ||
4217+
(result == PI_SUCCESS &&
4218+
reinterpret_cast<std::uintptr_t>(*result_ptr) % alignment == 0));
42104219
return result;
42114220
}
42124221

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>(*ResultPtr) % 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>(*ResultPtr) % 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>(*ResultPtr) % 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)