aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGiorgio Arena <giorgio.arena@arm.com>2021-01-06 11:34:57 +0000
committerGiorgio Arena <giorgio.arena@arm.com>2021-01-07 09:56:45 +0000
commita8e2aeb7d2d46a7ab0e9523de145af9920fc1fa3 (patch)
tree21547ff0230f1cd842bae21817d4f54c6888664a /tests
parentc5a613982c12977cef2e2e16aaf9c50fa1629a88 (diff)
downloadComputeLibrary-a8e2aeb7d2d46a7ab0e9523de145af9920fc1fa3.tar.gz
Generalize custom uniform generator for floating point data types with 16 bits
- Change name of uniform_real_distribution_fp16 to uniform_real_distribution_16bit, and make it also accept bfloat16 data type Resolves: COMPMID-4057 Signed-off-by: Giorgio Arena <giorgio.arena@arm.com> Change-Id: Id2f1a84b9c9f09cb260a0785add4fc5954d5853a Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4768 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/AssetsLibrary.h12
-rw-r--r--tests/validation/fixtures/ArgMinMaxFixture.h2
-rw-r--r--tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h2
-rw-r--r--tests/validation/fixtures/ConvolutionLayerFixture.h7
-rw-r--r--tests/validation/fixtures/DeconvolutionLayerFixture.h2
-rw-r--r--tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h4
-rw-r--r--tests/validation/fixtures/DirectConvolutionLayerFixture.h2
-rw-r--r--tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h2
-rw-r--r--tests/validation/fixtures/ElementWiseUnaryFixture.h2
-rw-r--r--tests/validation/fixtures/FFTFixture.h4
-rw-r--r--tests/validation/fixtures/GEMMFixture.h2
-rw-r--r--tests/validation/fixtures/GEMMInterleave4x4Fixture.h2
-rw-r--r--tests/validation/fixtures/GEMMLowpFixture.h2
-rw-r--r--tests/validation/fixtures/GEMMTranspose1xWFixture.h2
-rw-r--r--tests/validation/fixtures/WinogradConvolutionLayerFixture.h4
15 files changed, 28 insertions, 23 deletions
diff --git a/tests/AssetsLibrary.h b/tests/AssetsLibrary.h
index f44c554635..8230a93fbd 100644
--- a/tests/AssetsLibrary.h
+++ b/tests/AssetsLibrary.h
@@ -776,14 +776,14 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
case DataType::BFLOAT16:
{
// It doesn't make sense to check [-inf, inf], so hard code it to a big number
- std::uniform_real_distribution<float> distribution_bf16(-1000.f, 1000.f);
+ arm_compute::utils::uniform_real_distribution_16bit<bfloat16> distribution_bf16(-1000.f, 1000.f);
fill(tensor, distribution_bf16, seed_offset);
break;
}
case DataType::F16:
{
// It doesn't make sense to check [-inf, inf], so hard code it to a big number
- arm_compute::utils::uniform_real_distribution_fp16 distribution_f16{ -100.f, 100.f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution_f16{ -100.f, 100.f };
fill(tensor, distribution_f16, seed_offset);
break;
}
@@ -881,8 +881,8 @@ void AssetsLibrary::fill_tensor_uniform_ranged(T
case DataType::BFLOAT16:
{
// It doesn't make sense to check [-inf, inf], so hard code it to a big number
- const auto converted_pairs = detail::convert_range_pair<float>(excluded_range_pairs);
- RangedUniformDistribution<float> distribution_bf16(-1000.f, 1000.f, converted_pairs);
+ const auto converted_pairs = detail::convert_range_pair<bfloat16>(excluded_range_pairs);
+ RangedUniformDistribution<bfloat16> distribution_bf16(bfloat16(-1000.f), bfloat16(1000.f), converted_pairs);
fill(tensor, distribution_bf16, seed_offset);
break;
}
@@ -974,13 +974,13 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
}
case DataType::BFLOAT16:
{
- std::uniform_real_distribution<float> distribution_bf16(low, high);
+ arm_compute::utils::uniform_real_distribution_16bit<bfloat16> distribution_bf16(low, high);
fill(tensor, distribution_bf16, seed_offset);
break;
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution_f16{ float(low), float(high) };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution_f16{ float(low), float(high) };
fill(tensor, distribution_f16, seed_offset);
break;
}
diff --git a/tests/validation/fixtures/ArgMinMaxFixture.h b/tests/validation/fixtures/ArgMinMaxFixture.h
index fdf9ac4e5b..f140c9846b 100644
--- a/tests/validation/fixtures/ArgMinMaxFixture.h
+++ b/tests/validation/fixtures/ArgMinMaxFixture.h
@@ -61,7 +61,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, 0);
break;
}
diff --git a/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h b/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
index a4705b1250..d7984830f5 100644
--- a/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
+++ b/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
@@ -67,7 +67,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/ConvolutionLayerFixture.h b/tests/validation/fixtures/ConvolutionLayerFixture.h
index 210afbef5b..006c5eb705 100644
--- a/tests/validation/fixtures/ConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/ConvolutionLayerFixture.h
@@ -141,9 +141,14 @@ protected:
break;
}
case DataType::BFLOAT16:
+ {
+ arm_compute::utils::uniform_real_distribution_16bit<bfloat16> distribution{ -1.0f, 1.0f };
+ library->fill(tensor, distribution, i);
+ break;
+ }
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DeconvolutionLayerFixture.h b/tests/validation/fixtures/DeconvolutionLayerFixture.h
index 6394caf457..6ea2335ae9 100644
--- a/tests/validation/fixtures/DeconvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DeconvolutionLayerFixture.h
@@ -91,7 +91,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h b/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
index 09f8cb4c06..bb1c105555 100644
--- a/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
@@ -99,7 +99,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
@@ -354,7 +354,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DirectConvolutionLayerFixture.h b/tests/validation/fixtures/DirectConvolutionLayerFixture.h
index 1967e8dc4d..8e4de77535 100644
--- a/tests/validation/fixtures/DirectConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DirectConvolutionLayerFixture.h
@@ -109,7 +109,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h b/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h
index 7e891fe682..f39595f0de 100644
--- a/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h
+++ b/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h
@@ -94,7 +94,7 @@ protected:
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ float(-1.0f), float(1.0f) };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ float(-1.0f), float(1.0f) };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/ElementWiseUnaryFixture.h b/tests/validation/fixtures/ElementWiseUnaryFixture.h
index 26484be2fa..f414daf8f7 100644
--- a/tests/validation/fixtures/ElementWiseUnaryFixture.h
+++ b/tests/validation/fixtures/ElementWiseUnaryFixture.h
@@ -76,7 +76,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -2.0f, 2.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -2.0f, 2.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/FFTFixture.h b/tests/validation/fixtures/FFTFixture.h
index 37c2f2faec..86a97272a0 100644
--- a/tests/validation/fixtures/FFTFixture.h
+++ b/tests/validation/fixtures/FFTFixture.h
@@ -63,7 +63,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -5.0f, 5.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -5.0f, 5.0f };
library->fill(tensor, distribution, 0);
break;
}
@@ -151,7 +151,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/GEMMFixture.h b/tests/validation/fixtures/GEMMFixture.h
index 0c2f0a410e..192e77e5aa 100644
--- a/tests/validation/fixtures/GEMMFixture.h
+++ b/tests/validation/fixtures/GEMMFixture.h
@@ -64,7 +64,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ float(lo), float(hi) };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ float(lo), float(hi) };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/GEMMInterleave4x4Fixture.h b/tests/validation/fixtures/GEMMInterleave4x4Fixture.h
index 30708e4e7d..1ce0eafead 100644
--- a/tests/validation/fixtures/GEMMInterleave4x4Fixture.h
+++ b/tests/validation/fixtures/GEMMInterleave4x4Fixture.h
@@ -64,7 +64,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/GEMMLowpFixture.h b/tests/validation/fixtures/GEMMLowpFixture.h
index b9140ebd3e..24c1a24d40 100644
--- a/tests/validation/fixtures/GEMMLowpFixture.h
+++ b/tests/validation/fixtures/GEMMLowpFixture.h
@@ -79,7 +79,7 @@ void fill(U &&tensor, int i)
}
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/GEMMTranspose1xWFixture.h b/tests/validation/fixtures/GEMMTranspose1xWFixture.h
index 3d6ac76681..2d2e70697a 100644
--- a/tests/validation/fixtures/GEMMTranspose1xWFixture.h
+++ b/tests/validation/fixtures/GEMMTranspose1xWFixture.h
@@ -65,7 +65,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ -1.0f, 1.0f };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/WinogradConvolutionLayerFixture.h b/tests/validation/fixtures/WinogradConvolutionLayerFixture.h
index 5a40815a67..e1cc953375 100644
--- a/tests/validation/fixtures/WinogradConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/WinogradConvolutionLayerFixture.h
@@ -177,7 +177,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ float(min), float(max) };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ float(min), float(max) };
library->fill(tensor, distribution, i);
break;
}
@@ -500,7 +500,7 @@ protected:
{
case DataType::F16:
{
- arm_compute::utils::uniform_real_distribution_fp16 distribution{ float(min), float(max) };
+ arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ float(min), float(max) };
library->fill(tensor, distribution, i);
break;
}