SWDEV-515407 - Fix incorrect test behavior

- For H2D transfer cases, we cannot enfore ErrorNotReady behavior if the
  source is unpinned. In that case the driver can sync depending on if
it pins or stages the source buffer.

Change-Id: I436a4b667bff172cfbadc58631a46a215c40fcb1


[ROCm/hip-tests commit: d8f5c2560f]
This commit is contained in:
Saleel Kudchadker
2025-02-13 21:11:00 +00:00
parent acefa8b3de
commit 954c70ace8
2 changed files with 4 additions and 6 deletions
@@ -426,10 +426,9 @@ template <typename F>
void Memcpy3DHtoDSyncBehavior(F memcpy_func, const bool should_sync,
const hipStream_t kernel_stream = nullptr) {
using LA = LinearAllocs;
const auto host_alloc_type = GENERATE(LA::malloc, LA::hipHostMalloc);
LinearAllocGuard3D<int> device_alloc(make_hipExtent(32 * sizeof(int), 32, 8));
LinearAllocGuard<int> host_alloc(
host_alloc_type, device_alloc.width() * device_alloc.height() * device_alloc.depth());
LA::hipHostMalloc, device_alloc.width() * device_alloc.height() * device_alloc.depth());
MemcpySyncBehaviorCheck(
std::bind(memcpy_func, device_alloc.pitched_ptr(), make_hipPos(0, 0, 0),
make_hipPitchedPtr(host_alloc.ptr(), device_alloc.width(), device_alloc.width(),
@@ -450,7 +449,7 @@ void Memcpy3DDtoHPageableSyncBehavior(F memcpy_func, const bool should_sync,
device_alloc.height()),
make_hipPos(0, 0, 0), device_alloc.pitched_ptr(), make_hipPos(0, 0, 0),
device_alloc.extent(), hipMemcpyDeviceToHost, kernel_stream),
should_sync, kernel_stream);
should_sync, kernel_stream);
}
template <typename F>
@@ -196,13 +196,12 @@ template <bool unaligned = false, typename F>
void Memcpy2DHtoDSyncBehavior(F memcpy_func, const bool should_sync,
const hipStream_t kernel_stream = nullptr) {
using LA = LinearAllocs;
const auto host_alloc_type = GENERATE(LA::malloc, LA::hipHostMalloc);
LinearAllocGuard<int> host_alloc(host_alloc_type, 32 * sizeof(int) * 32);
LinearAllocGuard<int> host_alloc(LA::hipHostMalloc, 32 * sizeof(int) * 32);
LinearAllocGuard2D<int, unaligned> device_alloc(32, 32);
MemcpySyncBehaviorCheck(std::bind(memcpy_func, device_alloc.ptr(), device_alloc.pitch(),
host_alloc.ptr(), device_alloc.width(), device_alloc.width(),
device_alloc.height(), hipMemcpyHostToDevice),
should_sync, kernel_stream);
should_sync, kernel_stream);
}
template <bool unaligned = false, typename F>