diff --git a/projects/rocprim/common/utils_device_ptr.hpp b/projects/rocprim/common/utils_device_ptr.hpp index e0ed783f43a..b1be71b9b30 100644 --- a/projects/rocprim/common/utils_device_ptr.hpp +++ b/projects/rocprim/common/utils_device_ptr.hpp @@ -294,6 +294,7 @@ class device_ptr = common::hipMallocHelper(&device_temp_ptr, new_number_of_ele * value_size); if(err == hipErrorOutOfMemory) { + (void) hipGetLastError(); // reset internally recorded HIP error return false; } HIP_CHECK(err); diff --git a/projects/rocprim/test/common_test_header.hpp b/projects/rocprim/test/common_test_header.hpp index fe845c4e256..554160ede6a 100755 --- a/projects/rocprim/test/common_test_header.hpp +++ b/projects/rocprim/test/common_test_header.hpp @@ -50,6 +50,7 @@ hipError_t error = condition; \ if(error == hipErrorOutOfMemory) \ { \ + (void) hipGetLastError(); \ std::cout << "Out of memory. Skipping size = " << size << std::endl; \ break; \ } \ diff --git a/projects/rocprim/test/rocprim/test_device_merge_sort.cpp b/projects/rocprim/test/rocprim/test_device_merge_sort.cpp index 4b315d4a3be..d5996ecaf38 100644 --- a/projects/rocprim/test/rocprim/test_device_merge_sort.cpp +++ b/projects/rocprim/test/rocprim/test_device_merge_sort.cpp @@ -390,6 +390,7 @@ void testLargeIndices() hipError_t malloc_status = common::hipMallocHelper(&d_output, size * sizeof(*d_output)); if(malloc_status == hipErrorOutOfMemory) { + (void) hipGetLastError(); // reset internally recorded HIP error std::cout << "Out of memory. Skipping size = " << size << std::endl; break; } @@ -418,6 +419,7 @@ void testLargeIndices() malloc_status = common::hipMallocHelper(&d_temp_storage, temp_storage_size_bytes); if(malloc_status == hipErrorOutOfMemory) { + (void) hipGetLastError(); // reset internally recorded HIP error std::cout << "Out of memory. Skipping size = " << size << std::endl; HIP_CHECK(hipFree(d_output)); break;