diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-02-26 09:58:13 +0000 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-03-05 15:15:15 +0000 |
commit | e8291acc1d9e89c9274d31f0d5bb4779eb95588c (patch) | |
tree | 5a0fef36d6daabe387174e55b60de54557c75291 /tests/AssetsLibrary.h | |
parent | aa85cdf22802cb892d7fa422ca505a43d84adb38 (diff) | |
download | ComputeLibrary-e8291acc1d9e89c9274d31f0d5bb4779eb95588c.tar.gz |
COMPMID-3152: Initial Bfloat16 support
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ie6959e37e13731c86b2ee29392a99a293450a1b4
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2824
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Diffstat (limited to 'tests/AssetsLibrary.h')
-rw-r--r-- | tests/AssetsLibrary.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/AssetsLibrary.h b/tests/AssetsLibrary.h index c4892748f4..e625c37505 100644 --- a/tests/AssetsLibrary.h +++ b/tests/AssetsLibrary.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019 ARM Limited. + * Copyright (c) 2017-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -712,6 +712,13 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t fill(tensor, distribution_s64, seed_offset); break; } + 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); + 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 @@ -810,6 +817,14 @@ void AssetsLibrary::fill_tensor_uniform_ranged(T fill(tensor, distribution_s32, seed_offset); break; } + 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); + 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 @@ -896,6 +911,12 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t fill(tensor, distribution_s64, seed_offset); break; } + case DataType::BFLOAT16: + { + std::uniform_real_distribution<float> distribution_bf16(low, high); + fill(tensor, distribution_bf16, seed_offset); + break; + } case DataType::F16: { std::uniform_real_distribution<float> distribution_f16(low, high); |