diff --git a/catch/hipTestMain/config/config_amd_windows b/catch/hipTestMain/config/config_amd_windows index 7063a309d4..e8799b7396 100644 --- a/catch/hipTestMain/config/config_amd_windows +++ b/catch/hipTestMain/config/config_amd_windows @@ -63,6 +63,7 @@ "Unit_hipDeviceGetCacheConfig_Positive_Basic", "Unit_hipDeviceGetCacheConfig_Positive_Basic", "Unit_hipDeviceGetCacheConfig_Positive_Threaded", + "SWDEV-347670 - blocking tests have TDR, causing hangs", "Unit_hipStreamValue_Wait32_Blocking_Mask_Gte", "Unit_hipStreamValue_Wait32_Blocking_Mask_Eq_1", "Unit_hipStreamValue_Wait32_Blocking_Mask_Eq_2", @@ -77,6 +78,8 @@ "Unit_hipStreamValue_Wait64_Blocking_Mask_And", "Unit_hipStreamValue_Wait64_Blocking_NoMask_Gte", "Unit_hipStreamValue_Wait64_Blocking_NoMask_Eq", + "Unit_hipStreamValue_Wait32_Blocking_NoMask_Nor", + "Unit_hipStreamValue_Wait64_Blocking_NoMask_And", "Unit_hipGetDeviceFlags_Positive_Context", "Unit_hipIpcCloseMemHandle_Negative_Close_In_Originating_Process", "Unit_hipIpcOpenMemHandle_Negative_Open_In_Creating_Process", diff --git a/catch/unit/stream/hipStreamValue.cc b/catch/unit/stream/hipStreamValue.cc index 7a55360eff..b5844a2557 100644 --- a/catch/unit/stream/hipStreamValue.cc +++ b/catch/unit/stream/hipStreamValue.cc @@ -165,6 +165,8 @@ template auto allocMem() { *signalPtr = 0; auto freeStuff = [](uint64_t* sPtr) { HIP_CHECK(hipFree(sPtr)); }; + // sync ensures the memory intialization is complete before using the memory + HIP_CHECK(hipDeviceSynchronize()); return TestPtr>{ signalPtr, std::unique_ptr(signalPtr, freeStuff)}; } else if constexpr (type == PtrType::DevicePtrToHost) { @@ -183,7 +185,8 @@ template auto allocMem() { HIP_CHECK(hipHostUnregister(ptr)); delete[] ptr; }; - + // sync ensures the memory intialization is complete before using the memory + HIP_CHECK(hipDeviceSynchronize()); return TestPtr>{ devicePtr, std::unique_ptr(hostPtr, freeStuff)}; } else if constexpr (type == PtrType::HostPtr) { @@ -199,7 +202,8 @@ template auto allocMem() { HIP_CHECK(hipHostUnregister(ptr)); delete[] ptr; }; - + // sync ensures the memory intialization is complete before using the memory + HIP_CHECK(hipDeviceSynchronize()); return TestPtr>{ hostPtr, std::unique_ptr(hostPtr, freeStuff)}; } else { @@ -208,6 +212,8 @@ template auto allocMem() { HIP_CHECK(hipMalloc(&devicePtr, sizeof(UIntT) * arraySize)); HIP_CHECK(hipMemset(devicePtr, 0, sizeof(UIntT) * arraySize)); auto freeStuff = [](UIntT* ptr) { HIP_CHECK(hipFree(ptr)); }; + // sync ensures the memory intialization is complete before using the memory + HIP_CHECK(hipDeviceSynchronize()); return TestPtr>{ devicePtr, std::unique_ptr(devicePtr, freeStuff)}; } diff --git a/catch/unit/vulkan_interop/hipDestroyExternalSemaphore.cc b/catch/unit/vulkan_interop/hipDestroyExternalSemaphore.cc index 4c79f01d34..e4b7dbb082 100644 --- a/catch/unit/vulkan_interop/hipDestroyExternalSemaphore.cc +++ b/catch/unit/vulkan_interop/hipDestroyExternalSemaphore.cc @@ -21,8 +21,6 @@ THE SOFTWARE. #include "vulkan_test.hh" -constexpr bool enable_validation = false; - TEST_CASE("Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters") { SECTION("extSem == nullptr") { HIP_CHECK_ERROR(hipDestroyExternalSemaphore(nullptr), hipErrorInvalidValue); @@ -30,6 +28,7 @@ TEST_CASE("Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters") { // Segfaults in Nvidia and Amd #if 0 + constexpr bool enable_validation = false; SECTION("Double free") { VulkanTest vkt(enable_validation); const auto ext_semaphore = ImportBinarySemaphore(vkt);