From e8291acc1d9e89c9274d31f0d5bb4779eb95588c Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Wed, 26 Feb 2020 09:58:13 +0000 Subject: COMPMID-3152: Initial Bfloat16 support Signed-off-by: Georgios Pinitas Change-Id: Ie6959e37e13731c86b2ee29392a99a293450a1b4 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2824 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: Michalis Spyrou --- tests/AssetsLibrary.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'tests/AssetsLibrary.h') 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 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(excluded_range_pairs); + RangedUniformDistribution 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 distribution_bf16(low, high); + fill(tensor, distribution_bf16, seed_offset); + break; + } case DataType::F16: { std::uniform_real_distribution distribution_f16(low, high); -- cgit v1.2.1