From c3caa7d1ded7e0e493e1ef2d34eff030b5b2bdb2 Mon Sep 17 00:00:00 2001 From: Sourabh Betigeri Date: Tue, 1 Oct 2024 13:16:15 -0700 Subject: [PATCH] SWDEV-488318 - Fixes memory leaks in SPT tests Change-Id: Icabc541b25342d7d5c095b437b91f74582cd9336 [ROCm/hip-tests commit: 726a537a7473a704f7f0ae7871ec9e723e8c20d7] --- .../unit/streamperthread/hipStreamPerThread_Basic.cc | 5 +++++ .../streamperthread/hipStreamPerThread_DeviceReset.cc | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_Basic.cc b/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_Basic.cc index c21c7e25e2..51437b453f 100644 --- a/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_Basic.cc +++ b/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_Basic.cc @@ -59,6 +59,11 @@ TEST_CASE("Unit_hipStreamPerThread_Basic") { for (int i = MEM_SIZE-1; i >= 0; --i) { CHECK(hostMem[i] == (i+1+SEED)); } + + // Clean-up + HIP_CHECK(hipHostFree(hostMem)); + HIP_CHECK(hipFree(devMem)); + } TEST_CASE("Unit_hipStreamPerThread_StreamQuery") { diff --git a/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_DeviceReset.cc b/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_DeviceReset.cc index 1366390a51..9eea33da6d 100644 --- a/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_DeviceReset.cc +++ b/projects/hip-tests/catch/unit/streamperthread/hipStreamPerThread_DeviceReset.cc @@ -43,6 +43,9 @@ static void Copy_to_device() { } HIP_CHECK(hipMemcpyAsync(A_d, A_h, ele_size * sizeof(int), hipMemcpyHostToDevice, hipStreamPerThread)); + // Clean up + HIP_CHECK(hipHostFree(A_h)); + HIP_CHECK(hipFree(A_d)); } TEST_CASE("Unit_hipStreamPerThread_DeviceReset_1") { @@ -88,7 +91,7 @@ TEST_CASE("Unit_hipStreamPerThread_DeviceReset_2") { HIP_CHECK(hipDeviceReset()); // After reset all memory objects will be destroyed hence allocating them again - // Intension is to use hipStreamPerThread successfully after reset hence not validating + // Intention is to use hipStreamPerThread successfully after reset hence not validating // values after copy status = hipHostMalloc(&A_h, ele_size*sizeof(int)); if (status != hipSuccess) return; @@ -99,4 +102,8 @@ TEST_CASE("Unit_hipStreamPerThread_DeviceReset_2") { hipStreamPerThread); if (status != hipSuccess) return; HIP_CHECK(hipStreamSynchronize(hipStreamPerThread)); + + // Clean up + HIP_CHECK(hipHostFree(A_h)); + HIP_CHECK(hipFree(A_d)); }