diff --git a/test/bn_3d_peract_test.cpp b/test/bn_3d_peract_test.cpp index b82ec2153b..19fd15e7ce 100644 --- a/test/bn_3d_peract_test.cpp +++ b/test/bn_3d_peract_test.cpp @@ -108,11 +108,11 @@ struct verify_forward_train_3d_bn_per_activation runMean = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -243,11 +243,11 @@ struct verify_forward_train_3d_bn_per_activation runMean = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1034,15 +1034,15 @@ struct batch_norm_3d_per_activation_driver : test_driver scale = tensor{ssn, ssc, ssd, ssh, ssw}; shift = tensor{ssn, ssc, ssd, ssh, ssw}; - const PREC_TYPE Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < scale.desc.GetElementSize(); i++) { - scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } for(std::size_t i = 0; i < input.desc.GetElementSize(); i++) { - input[i] = prng::gen_descreet_uniform_sign(static_cast(1e-4), 100); + input[i] = prng::gen_descreet_uniform_sign(1e-4, 100); } } diff --git a/test/bn_3d_spatial_test.cpp b/test/bn_3d_spatial_test.cpp index cac0cb5c7a..8d428fca2b 100644 --- a/test/bn_3d_spatial_test.cpp +++ b/test/bn_3d_spatial_test.cpp @@ -102,11 +102,11 @@ struct verify_forward_train_3d_bn_spatial runMean = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } auto saveMean = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; @@ -289,11 +289,11 @@ struct verify_forward_train_3d_bn_spatial runMean = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_depth, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1236,15 +1236,15 @@ struct batch_norm_3d_spatial_driver : test_driver scale = tensor{ssn, ssc, ssd, ssh, ssw}; shift = tensor{ssn, ssc, ssd, ssh, ssw}; - const PREC_TYPE Data_scale = static_cast(1e-4); + const double Data_scale = 1e-4; for(std::size_t i = 0; i < scale.desc.GetElementSize(); i++) { - scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } for(std::size_t i = 0; i < input.desc.GetElementSize(); i++) { - input[i] = prng::gen_descreet_uniform_sign(static_cast(1e-5), 100); + input[i] = prng::gen_descreet_uniform_sign(1e-5, 100); } } diff --git a/test/bn_peract_test.cpp b/test/bn_peract_test.cpp index 7dce9aabf5..6622230666 100644 --- a/test/bn_peract_test.cpp +++ b/test/bn_peract_test.cpp @@ -107,11 +107,11 @@ struct verify_forward_train_bn_per_activation runMean = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -233,11 +233,11 @@ struct verify_forward_train_bn_per_activation runMean = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -992,15 +992,15 @@ struct batch_norm_per_activation_driver : test_driver scale = tensor{ssn, ssc, ssh, ssw}; shift = tensor{ssn, ssc, ssh, ssw}; - const PREC_TYPE Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < scale.desc.GetElementSize(); i++) { - scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } for(std::size_t i = 0; i < input.desc.GetElementSize(); i++) { - input[i] = prng::gen_descreet_uniform_sign(static_cast(1e-4), 100); + input[i] = prng::gen_descreet_uniform_sign(1e-4, 100); } } diff --git a/test/bn_spatial_test.cpp b/test/bn_spatial_test.cpp index 8c8d7bc2eb..82d1cc271b 100644 --- a/test/bn_spatial_test.cpp +++ b/test/bn_spatial_test.cpp @@ -101,11 +101,11 @@ struct verify_forward_train_bn_spatial runMean = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } auto saveMean = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; @@ -270,11 +270,11 @@ struct verify_forward_train_bn_spatial runMean = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; runVar = tensor{rs_n_batch, rs_channels, rs_height, rs_width}; - const U Data_scale = static_cast(0.001); + const double Data_scale = 0.001; for(std::size_t i = 0; i < runMean.desc.GetElementSize(); i++) { - runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); + runMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + runVar[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1150,15 +1150,15 @@ struct batch_norm_spatial_driver : test_driver scale = tensor{ssn, ssc, ssh, ssw}; shift = tensor{ssn, ssc, ssh, ssw}; - const PREC_TYPE Data_scale = static_cast(1e-4); + const double Data_scale = 1e-4; for(std::size_t i = 0; i < scale.desc.GetElementSize(); i++) { - scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } for(std::size_t i = 0; i < input.desc.GetElementSize(); i++) { - input[i] = prng::gen_descreet_uniform_sign(static_cast(1e-5), 100); + input[i] = prng::gen_descreet_uniform_sign(1e-5, 100); } } diff --git a/test/cba_inference.cpp b/test/cba_inference.cpp index fb8879997d..502d9bbc11 100644 --- a/test/cba_inference.cpp +++ b/test/cba_inference.cpp @@ -386,7 +386,7 @@ struct cba_fusion_driver : test_driver bias = tensor{1, output.desc.GetLengths()[1], 1, 1}; for(std::size_t i = 0; i < bias.desc.GetElementSize(); i++) { - bias[i] = prng::gen_descreet_uniform_sign(static_cast(0.1), 100); + bias[i] = prng::gen_descreet_uniform_sign(0.1, 100); } } diff --git a/test/gru_common.hpp b/test/gru_common.hpp index d6c3c569f7..51e3c09012 100644 --- a/test/gru_common.hpp +++ b/test/gru_common.hpp @@ -2945,7 +2945,7 @@ struct gru_basic_driver : test_driver void run() { - const T Data_scale = static_cast(0.001); + const double Data_scale = 0.001; #if(MIOPEN_BACKEND_OPENCL == 1) if(type == miopenHalf) exit(EXIT_SUCCESS); // NOLINT (concurrency-mt-unsafe) @@ -3058,7 +3058,7 @@ struct gru_basic_driver : test_driver std::vector input(in_sz); for(std::size_t i = 0; i < in_sz; i++) { - input[i] = prng::gen_descreet_unsigned(Data_scale, 100); + input[i] = prng::gen_descreet_unsigned(Data_scale, 100); } std::size_t hx_sz = ((dirMode != 0) ? 2ULL : 1ULL) * hiddenSize * batchSize * numLayers; @@ -3076,7 +3076,7 @@ struct gru_basic_driver : test_driver std::vector weights(wei_sz); for(std::size_t i = 0; i < wei_sz; i++) { - weights[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + weights[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } #if(MIO_GRU_TEST_DEBUG > 0) @@ -3093,7 +3093,7 @@ struct gru_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); + hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -3101,7 +3101,7 @@ struct gru_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -3165,7 +3165,7 @@ struct gru_basic_driver : test_driver std::vector dyin(yin.size()); for(std::size_t i = 0; i < yin.size(); i++) { - dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } #if(MIO_GRU_TEST_DEBUG > 0) diff --git a/test/gtest/bn.hpp b/test/gtest/bn.hpp index 4bb6287511..cc34fe887e 100644 --- a/test/gtest/bn.hpp +++ b/test/gtest/bn.hpp @@ -159,10 +159,9 @@ struct BNBwdTest : public ::testing::TestWithParam(bn_bwd_test_data); - // using tolerance = 1e-4 since this the tolerance CK uses - test::CompareTensor(bn_bwd_test_data.output, bn_bwd_test_data.ref_out, 1e-4); - test::CompareTensor(bn_bwd_test_data.dScale, bn_bwd_test_data.dScale_ref, 1e-4); - test::CompareTensor(bn_bwd_test_data.dBias, bn_bwd_test_data.dBias_ref, 1e-4); + test::CompareTensor(bn_bwd_test_data.output, bn_bwd_test_data.ref_out, 5e-4); + test::CompareTensor(bn_bwd_test_data.dScale, bn_bwd_test_data.dScale_ref, 5e-4); + test::CompareTensor(bn_bwd_test_data.dBias, bn_bwd_test_data.dBias_ref, 5e-4); } BNTestCase bn_config; diff --git a/test/gtest/bn_test_data.hpp b/test/gtest/bn_test_data.hpp index 9d38c5fef0..06a16be427 100644 --- a/test/gtest/bn_test_data.hpp +++ b/test/gtest/bn_test_data.hpp @@ -130,13 +130,8 @@ struct BNTestData void InitTensorsWithRandValue() { - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_int_distribution<> d{0, 100}; - auto gen_value = [&](auto...) { - return 1e-2 * static_cast(d(gen)) * ((d(gen) % 2 == 1) ? -1 : 1); - }; - input.generate(gen_value); + input.generate( + [](auto...) { return prng::gen_descreet_uniform_sign(1e-2, 100); }); } void SetDirection() { direction = bn_config.Direction; } @@ -199,17 +194,16 @@ struct BNInferTestData : public BNTestData void InitTensorsWithRandValue() { - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_int_distribution<> d{0, 100}; - auto gen_value = [&](auto...) { - return 1e-2 * static_cast(d(gen)) * ((d(gen) % 2 == 1) ? -1 : 1); + auto gen_value = [](auto...) { + return prng::gen_descreet_uniform_sign(1e-2, 100); }; scale.generate(gen_value); shift.generate(gen_value); estMean.generate(gen_value); - auto gen_var = [&](auto...) { return 1e-2 * (static_cast(d(gen)) + 1); }; + auto gen_var = [](auto...) { + return static_cast(1e-2 * (prng::gen_0_to_B(100) + 1)); + }; estVariance.generate(gen_var); } void WriteToGPU() @@ -292,15 +286,14 @@ struct BNBwdTestData : public BNTestData void InitTensorsWithRandValue() { auto gen_value = [](auto...) { - return prng::gen_descreet_uniform_sign(static_cast(1e-2), 100); + return prng::gen_descreet_uniform_sign(1e-2, 100); }; dy.generate(gen_value); bnScale.generate(gen_value); savedMean.generate(gen_value); auto gen_var = [](auto...) { - return static_cast(1e-2) * - static_cast(prng::gen_0_to_B(100) + 1); + return static_cast(1e-2 * (prng::gen_0_to_B(100) + 1)); }; savedInvVar.generate(gen_var); @@ -390,14 +383,13 @@ struct BNFwdTrainTestData : public BNTestData void InitTensorsWithRandValue() { auto gen_value = [](auto...) { - return prng::gen_descreet_uniform_sign(static_cast(1e-2), 100); + return prng::gen_descreet_uniform_sign(1e-2, 100); }; scale.generate(gen_value); shift.generate(gen_value); auto gen_var = [](auto...) { - return static_cast(1e-2) * - static_cast(prng::gen_0_to_B(100) + 1); + return static_cast(1e-2 * (prng::gen_0_to_B(100) + 1)); }; runMean.generate(gen_var); runVariance.generate(gen_var); diff --git a/test/gtest/group_conv3d_bwd.hpp b/test/gtest/group_conv3d_bwd.hpp index a7d1c4742f..5653a18138 100644 --- a/test/gtest/group_conv3d_bwd.hpp +++ b/test/gtest/group_conv3d_bwd.hpp @@ -65,10 +65,9 @@ struct ConvBwdSolverTest weights = tensor{tensor_layout, conv_config.GetWeights()}; SetTensorLayout(input.desc); SetTensorLayout(weights.desc); - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_real_distribution<> d{-3, 3}; - auto gen_value = [&](auto...) { return d(gen); }; + auto gen_value = [](auto...) { + return prng::gen_A_to_B(static_cast(-3.0), static_cast(3.0)); + }; std::fill(input.begin(), input.end(), std::numeric_limits::quiet_NaN()); weights.generate(gen_value); conv_desc = conv_config.GetConv(); diff --git a/test/gtest/group_conv3d_fwd.hpp b/test/gtest/group_conv3d_fwd.hpp index 9099019992..c5fc432e8b 100644 --- a/test/gtest/group_conv3d_fwd.hpp +++ b/test/gtest/group_conv3d_fwd.hpp @@ -71,10 +71,9 @@ struct ConvFwdSolverTest weights = tensor{tensor_layout, conv_config.GetWeights()}; SetTensorLayout(input.desc); SetTensorLayout(weights.desc); - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_real_distribution<> d{-3, 3}; - auto gen_value = [&](auto...) { return d(gen); }; + auto gen_value = [](auto...) { + return prng::gen_A_to_B(static_cast(-3.0), static_cast(3.0)); + }; input.generate(gen_value); weights.generate(gen_value); conv_desc = conv_config.GetConv(); diff --git a/test/gtest/group_conv3d_wrw.hpp b/test/gtest/group_conv3d_wrw.hpp index a11d051bfb..a0e504a000 100644 --- a/test/gtest/group_conv3d_wrw.hpp +++ b/test/gtest/group_conv3d_wrw.hpp @@ -65,10 +65,10 @@ struct ConvWrwSolverTest std::tie(algo, conv_config, tensor_layout) = GetParam(); input = tensor{tensor_layout, conv_config.GetInput()}; weights = tensor{tensor_layout, conv_config.GetWeights()}; - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_real_distribution<> d{-3, 3}; - auto gen_value = [&](auto...) { return d(gen); }; + + auto gen_value = [](auto...) { + return prng::gen_A_to_B(static_cast(-3.0), static_cast(3.0)); + }; input.generate(gen_value); std::fill(weights.begin(), weights.end(), 0); diff --git a/test/gtest/group_solver.hpp b/test/gtest/group_solver.hpp index d4622aef0c..10faed9880 100644 --- a/test/gtest/group_solver.hpp +++ b/test/gtest/group_solver.hpp @@ -138,11 +138,9 @@ struct ConvFwdSolverTest weights = tensor{tensor_layout, conv_config.GetWeights()}; SetTensorLayout(input.desc); SetTensorLayout(weights.desc); - - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_real_distribution<> d{-3, 3}; - auto gen_value = [&](auto...) { return d(gen); }; + auto gen_value = [](auto...) { + return prng::gen_A_to_B(static_cast(-3.0), static_cast(3.0)); + }; input.generate(gen_value); weights.generate(gen_value); diff --git a/test/gtest/log.cpp b/test/gtest/log.cpp index fcb5457d27..80116c55df 100644 --- a/test/gtest/log.cpp +++ b/test/gtest/log.cpp @@ -29,8 +29,8 @@ #include #include -#include -#include +#include +#include "../random.hpp" #if MIOPEN_BACKEND_OPENCL #define BKEND "OpenCL" @@ -226,17 +226,13 @@ struct CreateBNormFusionPlan shift = tensor{input_lens}; estMean = tensor{input_lens}; estVariance = tensor{input_lens}; - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_int_distribution<> d{0, 100}; - auto gen_value = [&](auto...) { - return 1e-2 * static_cast(d(gen)) * ((d(gen) % 2 == 1) ? -1 : 1); - }; + + auto gen_value = [](auto...) { return prng::gen_descreet_uniform_sign(1e-2, 100); }; input.generate(gen_value); scale.generate(gen_value); shift.generate(gen_value); estMean.generate(gen_value); - auto gen_var = [&](auto...) { return 1e-2 * (static_cast(d(gen)) + 1); }; + auto gen_var = [](auto...) { return static_cast(1e-2 * (prng::gen_0_to_B(100) + 1)); }; estVariance.generate(gen_var); activ_desc = {activ_mode, activ_alpha, activ_beta, activ_gamma}; output = tensor{input_lens}; diff --git a/test/gtest/na.hpp b/test/gtest/na.hpp index 02bc98d0bc..387f88e12c 100644 --- a/test/gtest/na.hpp +++ b/test/gtest/na.hpp @@ -25,8 +25,6 @@ *******************************************************************************/ #pragma once -#include - #include #include #include @@ -35,7 +33,7 @@ #include "tensor_util.hpp" #include "get_handle.hpp" - +#include "random.hpp" struct BNTestCase { size_t N; @@ -107,17 +105,13 @@ struct BNActivInferTest shift = tensor{derivedBnDesc.GetLengths()}; estMean = tensor{derivedBnDesc.GetLengths()}; estVariance = tensor{derivedBnDesc.GetLengths()}; - std::random_device rd{}; - std::mt19937 gen{rd()}; - std::uniform_int_distribution<> d{0, 100}; - auto gen_value = [&](auto...) { - return 1e-2 * static_cast(d(gen)) * ((d(gen) % 2 == 1) ? -1 : 1); - }; + + auto gen_value = [](auto...) { return prng::gen_descreet_uniform_sign(1e-2, 100); }; input.generate(gen_value); scale.generate(gen_value); shift.generate(gen_value); estMean.generate(gen_value); - auto gen_var = [&](auto...) { return 1e-2 * (static_cast(d(gen)) + 1); }; + auto gen_var = [](auto...) { return static_cast(1e-2 * (prng::gen_0_to_B(100) + 1)); }; estVariance.generate(gen_var); activ_desc = {activ_mode, activ_alpha, activ_beta, activ_gamma}; output = tensor{bn_config.GetInput()}; diff --git a/test/lstm_common.hpp b/test/lstm_common.hpp index 950c49f4cc..1f0d5f98cb 100644 --- a/test/lstm_common.hpp +++ b/test/lstm_common.hpp @@ -1503,7 +1503,7 @@ struct lstm_basic_driver : test_driver void run() { - const T Data_scale = static_cast(0.001); + const double Data_scale = 0.001; #if(MIOPEN_BACKEND_OPENCL == 1) #if WORKAROUND_ISSUE_692 == 1 std::cout << "Skip test for Issue #692: " << std::endl; @@ -1634,7 +1634,7 @@ struct lstm_basic_driver : test_driver std::vector input(in_sz); for(std::size_t i = 0; i < in_sz; i++) { - input[i] = prng::gen_descreet_unsigned(Data_scale, 100); + input[i] = prng::gen_descreet_unsigned(Data_scale, 100); } std::size_t hx_sz = ((dirMode != 0) ? 2ULL : 1ULL) * hiddenSize * batchSize * numLayers; @@ -1654,7 +1654,7 @@ struct lstm_basic_driver : test_driver std::vector weights(wei_sz); for(std::size_t i = 0; i < wei_sz; i++) { - weights[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + weights[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } #if(MIO_LSTM_TEST_DEBUG > 0) @@ -1679,7 +1679,7 @@ struct lstm_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); + hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1687,7 +1687,7 @@ struct lstm_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1695,7 +1695,7 @@ struct lstm_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - cx[i] = prng::gen_descreet_unsigned(Data_scale, 100); + cx[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1703,7 +1703,7 @@ struct lstm_basic_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - dcyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dcyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -1791,7 +1791,7 @@ struct lstm_basic_driver : test_driver std::vector dyin(out_sz); for(std::size_t i = 0; i < out_sz; i++) { - dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } #if(MIO_LSTM_TEST_DEBUG > 0) diff --git a/test/na_inference.cpp b/test/na_inference.cpp index 129c970a3f..5ea5daf15b 100644 --- a/test/na_inference.cpp +++ b/test/na_inference.cpp @@ -263,17 +263,17 @@ struct na_fusion_driver : test_driver estVariance = tensor{ ssn, ssc, ssh, ssw}; //.generate( tensor_elem_gen_integer{max_value});; - PREC_TYPE Data_scale{static_cast(0.01)}; + const double Data_scale = 0.01; for(std::size_t i = 0; i < scale.desc.GetElementSize(); i++) { - scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - estMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); - estVariance[i] = Data_scale * static_cast(prng::gen_off_range(1, 100)); + scale[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + shift[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + estMean[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); + estVariance[i] = static_cast(Data_scale * prng::gen_off_range(1, 100)); } for(std::size_t i = 0; i < input.desc.GetElementSize(); i++) { - input[i] = prng::gen_descreet_uniform_sign(static_cast(Data_scale), 100); + input[i] = prng::gen_descreet_uniform_sign(Data_scale, 100); } auto&& handle = get_handle(); diff --git a/test/random.hpp b/test/random.hpp index a6988e0bf4..9b4815bc1d 100644 --- a/test/random.hpp +++ b/test/random.hpp @@ -30,15 +30,15 @@ namespace prng { template -inline T gen_descreet_uniform_sign(T scale, int32_t range) +inline T gen_descreet_uniform_sign(double scale, int32_t range) { - return (gen_canonical() ? -scale : scale) * static_cast(gen_0_to_B(range)); + return static_cast(scale * prng::gen_A_to_B(-range + 1, range)); } template -inline T gen_descreet_unsigned(T scale, int32_t range) +inline T gen_descreet_unsigned(double scale, int32_t range) { - return scale * static_cast(gen_0_to_B(range)); + return static_cast(scale * static_cast(gen_0_to_B(range))); } } // namespace prng #endif // GUARD_MIOPEN_TEST_RANDOM_HPP diff --git a/test/rnn_vanilla_common.hpp b/test/rnn_vanilla_common.hpp index 3287b13e7e..ef5c1088c3 100644 --- a/test/rnn_vanilla_common.hpp +++ b/test/rnn_vanilla_common.hpp @@ -2354,7 +2354,7 @@ struct rnn_basic_vanilla_driver : test_driver void run() { - const T Data_scale = static_cast(0.001); + const double Data_scale = 0.001; #if(MIOPEN_BACKEND_OPENCL == 1) if(type == miopenHalf) exit(EXIT_SUCCESS); // NOLINT (concurrency-mt-unsafe) @@ -2468,7 +2468,7 @@ struct rnn_basic_vanilla_driver : test_driver std::vector input(in_sz); for(std::size_t i = 0; i < in_sz; i++) { - input[i] = prng::gen_descreet_unsigned(Data_scale, 100); + input[i] = prng::gen_descreet_unsigned(Data_scale, 100); } std::size_t hx_sz = ((dirMode != 0) ? 2ULL : 1ULL) * hiddenSize * batchSize * numLayers; @@ -2491,7 +2491,7 @@ struct rnn_basic_vanilla_driver : test_driver std::vector weights(wei_sz); for(std::size_t i = 0; i < wei_sz; i++) { - weights[i] = prng::gen_descreet_uniform_sign(Data_scale / 10, 100); + weights[i] = prng::gen_descreet_uniform_sign(Data_scale / 10, 100); } #if(MIO_RNN_TEST_DEBUG > 0) @@ -2514,7 +2514,7 @@ struct rnn_basic_vanilla_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); + hx[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -2522,7 +2522,7 @@ struct rnn_basic_vanilla_driver : test_driver { for(std::size_t i = 0; i < hx_sz; i++) { - dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dhyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } } @@ -2587,7 +2587,7 @@ struct rnn_basic_vanilla_driver : test_driver std::vector dyin(yin.size()); for(std::size_t i = 0; i < yin.size(); i++) { - dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); + dyin[i] = prng::gen_descreet_unsigned(Data_scale, 100); } #if(MIO_RNN_TEST_DEBUG > 0) printf("Running backward data RNN.\n");