From af0a7e728d4f4e34a33d88670f41329b5576d724 Mon Sep 17 00:00:00 2001 From: Julio Machado Silva Date: Fri, 31 May 2024 16:56:39 -0600 Subject: [PATCH] Investigate test failures -- part 3 Inspect seed choice during tests. --- clients/common/misc/rocblas_random.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/clients/common/misc/rocblas_random.hpp b/clients/common/misc/rocblas_random.hpp index d51a4f687..b7cc3994a 100644 --- a/clients/common/misc/rocblas_random.hpp +++ b/clients/common/misc/rocblas_random.hpp @@ -48,11 +48,17 @@ inline rocblas_rng_t get_seed() auto tid = std::this_thread::get_id(); /* return tid == main_thread_id ? rocblas_seed : rocblas_rng_t(std::hash{}(tid)); */ + constexpr std::size_t rocblas_default_seed = 69069; auto tid_hash = static_cast(std::hash{}(tid)); - std::cout << "\u001b[32m[ ] \u001b[33m" << "Random seed hash: " << tid_hash << "\u001b[0m" << std::endl << std::flush; - auto seed = static_cast(tid_hash); - return seed; + bool use_default_seed = (tid == main_thread_id); + auto seed = static_cast(use_default_seed ? rocblas_default_seed : tid_hash); + std::cout << "\u001b[32m[ ] \u001b[33m" << "Random seed: type " << (use_default_seed ? "default" : "thread id hash") + << ", value: " << seed << "\u001b[0m" << std::endl << std::flush; + + rocblas_rng_t generator; + generator.seed(seed); + return generator; } // Reset the seed (mainly to ensure repeatability of failures in a given suite)