SWDEV-518423 - Remove incorrect Unit_hipMemSetAccess_AccessDirectlyFromHost test
The test sets the hipMemCreate and hipMemSetAccess properties
to device but accesses the mapped memory directly from the host.
Change-Id: I2ae51a2658acc01aff39fc371ba97191cc9b3878
[ROCm/hip-tests commit: d33a0fa75a]
This commit is contained in:
@@ -232,7 +232,6 @@
|
||||
"Unit_hipMemSetAccess_EntireVMMRangeSetGet",
|
||||
"Unit_hipMemGetAccess_NegTst",
|
||||
"Unit_hipMemSetAccess_FuncTstOnMultDev",
|
||||
"Unit_hipMemSetAccess_AccessDirectlyFromHost",
|
||||
"Unit_hipMemSetAccess_Vmm2UnifiedMemCpy",
|
||||
"Unit_hipMemSetAccess_Vmm2DevMemCpy",
|
||||
"Unit_hipMemSetAccess_Vmm2VMMInterDevMemCpy",
|
||||
|
||||
@@ -250,7 +250,6 @@
|
||||
"Unit_hipMemSetAccess_EntireVMMRangeSetGet",
|
||||
"Unit_hipMemGetAccess_NegTst",
|
||||
"Unit_hipMemSetAccess_FuncTstOnMultDev",
|
||||
"Unit_hipMemSetAccess_AccessDirectlyFromHost",
|
||||
"Unit_hipMemSetAccess_ChangeAccessProp",
|
||||
"Unit_hipMemSetAccess_Vmm2UnifiedMemCpy",
|
||||
"Unit_hipMemSetAccess_Vmm2DevMemCpy",
|
||||
@@ -485,7 +484,6 @@
|
||||
"Unit_hipMemSetAccess_EntireVMMRangeSetGet",
|
||||
"Unit_hipMemGetAccess_NegTst",
|
||||
"Unit_hipMemSetAccess_FuncTstOnMultDev",
|
||||
"Unit_hipMemSetAccess_AccessDirectlyFromHost",
|
||||
"Unit_hipMemSetAccess_ChangeAccessProp",
|
||||
"Unit_hipMemSetAccess_Vmm2UnifiedMemCpy",
|
||||
"Unit_hipMemSetAccess_Vmm2DevMemCpy",
|
||||
|
||||
@@ -383,67 +383,6 @@ TEST_CASE("Unit_hipMemSetAccess_FuncTstOnMultDev") {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Description
|
||||
* ------------------------
|
||||
* - Allocate physical memory and map it to a VMM range.
|
||||
* Access (Read/Write) the virtual pointer directly on host.
|
||||
* Ensure this behavior for all devices on host.
|
||||
* ------------------------
|
||||
* - unit/virtualMemoryManagement/hipMemMap.cc
|
||||
* Test requirements
|
||||
* ------------------------
|
||||
* - HIP_VERSION >= 6.1
|
||||
*/
|
||||
TEST_CASE("Unit_hipMemSetAccess_AccessDirectlyFromHost") {
|
||||
size_t granularity = 0;
|
||||
constexpr int N = DATA_SIZE;
|
||||
size_t buffer_size = N * sizeof(int);
|
||||
int devicecount = 0;
|
||||
HIP_CHECK(hipGetDeviceCount(&devicecount));
|
||||
if (devicecount < 2) {
|
||||
HipTest::HIP_SKIP_TEST("Machine is Single GPU. Skipping Test..");
|
||||
return;
|
||||
}
|
||||
for (int dev = 0; dev < devicecount; dev++) {
|
||||
hipDevice_t device;
|
||||
HIP_CHECK(hipDeviceGet(&device, dev));
|
||||
checkVMMSupported(device);
|
||||
hipMemAllocationProp prop{};
|
||||
prop.type = hipMemAllocationTypePinned;
|
||||
prop.location.type = hipMemLocationTypeDevice;
|
||||
prop.location.id = device; // Current Devices
|
||||
HIP_CHECK(
|
||||
hipMemGetAllocationGranularity(&granularity, &prop, hipMemAllocationGranularityMinimum));
|
||||
REQUIRE(granularity > 0);
|
||||
size_t size_mem = ((granularity + buffer_size - 1) / granularity) * granularity;
|
||||
hipMemGenericAllocationHandle_t handle;
|
||||
// Allocate a physical memory chunk
|
||||
HIP_CHECK(hipMemCreate(&handle, size_mem, &prop, 0));
|
||||
// Allocate num_buf virtual address ranges
|
||||
hipDeviceptr_t ptrA;
|
||||
HIP_CHECK(hipMemAddressReserve(&ptrA, size_mem, 0, 0, 0));
|
||||
hipMemAccessDesc accessDesc = {};
|
||||
accessDesc.location.type = hipMemLocationTypeDevice;
|
||||
accessDesc.location.id = device;
|
||||
accessDesc.flags = hipMemAccessFlagsProtReadWrite;
|
||||
HIP_CHECK(hipMemMap(ptrA, size_mem, 0, handle, 0));
|
||||
HIP_CHECK(hipMemSetAccess(ptrA, size_mem, &accessDesc, 1));
|
||||
int* vptr = reinterpret_cast<int*>(ptrA);
|
||||
for (int idx = 0; idx < N; idx++) {
|
||||
*(vptr + idx) = idx;
|
||||
}
|
||||
// validate
|
||||
for (int idx = 0; idx < N; idx++) {
|
||||
REQUIRE(*(vptr + idx) == idx);
|
||||
}
|
||||
HIP_CHECK(hipMemUnmap(ptrA, size_mem));
|
||||
// Release resources
|
||||
HIP_CHECK(hipMemRelease(handle));
|
||||
HIP_CHECK(hipMemAddressFree(ptrA, size_mem));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Description
|
||||
* ------------------------
|
||||
|
||||
Reference in New Issue
Block a user