aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2022-03-10 17:05:34 +0000
committerPablo Marquez Tello <pablo.tello@arm.com>2022-07-13 14:40:03 +0000
commit29cab36ddd73c174bf6b2de453663aa49c1cc576 (patch)
treefe186889cfd93b90b0cbd7917e99d9dff62bff8c
parent2186aef84fe1206545f6d5bc321752044fdd1b3d (diff)
downloadComputeLibrary-29cab36ddd73c174bf6b2de453663aa49c1cc576.tar.gz
Fixed clang-cl errors on Windows native builds.
Partially resolves MLCE-739 Change-Id: Ice06a96d6a8a26b31e334ba4e697cd41d352b026 Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7364 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r--SConstruct29
-rw-r--r--arm_compute/core/utils/misc/MMappedFile.h4
-rw-r--r--src/core/NEON/kernels/convolution/common/padding.cpp2
-rw-r--r--src/core/NEON/kernels/convolution/common/padding.hpp28
-rw-r--r--src/core/NEON/kernels/convolution/winograd/padding.cpp29
-rw-r--r--support/ToolchainSupport.h6
-rw-r--r--tests/AssetsLibrary.h24
-rw-r--r--tests/SConscript14
-rw-r--r--tests/validation/NEON/FillBorder.cpp12
-rw-r--r--tests/validation/NEON/UNIT/TensorAllocator.cpp4
-rw-r--r--tests/validation/fixtures/ArgMinMaxFixture.h6
-rw-r--r--tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h4
-rw-r--r--tests/validation/fixtures/ConvolutionLayerFixture.h8
-rw-r--r--tests/validation/fixtures/DeconvolutionLayerFixture.h8
-rw-r--r--tests/validation/fixtures/DepthConvertLayerFixture.h4
-rw-r--r--tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h6
-rw-r--r--tests/validation/fixtures/DirectConvolutionLayerFixture.h6
-rw-r--r--tests/validation/fixtures/FullyConnectedLayerFixture.h10
-rw-r--r--tests/validation/fixtures/GEMMLowpFixture.h4
-rw-r--r--tests/validation/fixtures/ReductionOperationFixture.h6
-rw-r--r--tests/validation/fixtures/ScaleFixture.h6
21 files changed, 115 insertions, 105 deletions
diff --git a/SConstruct b/SConstruct
index d3836ce9f9..7bdbb113ef 100644
--- a/SConstruct
+++ b/SConstruct
@@ -217,14 +217,14 @@ if not env['exceptions']:
env.Append(CPPDEFINES = ['ARM_COMPUTE_EXCEPTIONS_DISABLED'])
env.Append(CXXFLAGS = ['-fno-exceptions'])
-env.Append(CXXFLAGS = ['-Wall','-DARCH_ARM',
+env.Append(CXXFLAGS = ['-DARCH_ARM',
'-Wextra','-Wdisabled-optimization','-Wformat=2',
'-Winit-self','-Wstrict-overflow=2','-Wswitch-default',
'-Woverloaded-virtual', '-Wformat-security',
'-Wctor-dtor-privacy','-Wsign-promo','-Weffc++','-Wno-overlength-strings'])
if not 'windows' in env['os']:
- env.Append(CXXFLAGS = ['-std=c++14', '-pedantic' ])
+ env.Append(CXXFLAGS = ['-Wall','-std=c++14', '-pedantic' ])
env.Append(CPPDEFINES = ['_GLIBCXX_USE_NANOSLEEP'])
@@ -377,10 +377,13 @@ env['CC'] = env['compiler_cache']+ " " + compiler_prefix + c_compiler
env['CXX'] = env['compiler_cache']+ " " + compiler_prefix + cpp_compiler
env['LD'] = toolchain_prefix + "ld"
env['AS'] = toolchain_prefix + "as"
+
if env['os'] == 'windows':
- env['AR'] = "LIB"
+ env['AR'] = "llvm-lib"
+ env['RANLIB'] = "llvm-ranlib"
else:
env['AR'] = toolchain_prefix + "ar"
+
env['RANLIB'] = toolchain_prefix + "ranlib"
print("Using compilers:")
@@ -446,10 +449,10 @@ else:
env = update_data_type_layout_flags(env, data_types, data_layouts)
if env['standalone']:
- if not 'windows' in env['os']:
+ if not 'windows' in env['os']:
env.Append(CXXFLAGS = ['-fPIC'])
- env.Append(LINKFLAGS = ['-static-libgcc','-static-libstdc++'])
-
+ env.Append(LINKFLAGS = ['-static-libgcc','-static-libstdc++'])
+
if env['Werror']:
env.Append(CXXFLAGS = ['-Werror'])
@@ -487,7 +490,7 @@ if env['opencl']:
print("Cannot link OpenCL statically, which is required for bare metal / standalone builds")
Exit(1)
-if env["os"] not in ["android", "bare_metal"] and (env['opencl'] or env['cppthreads']):
+if env["os"] not in ["windows","android", "bare_metal"] and (env['opencl'] or env['cppthreads']):
env.Append(LIBS = ['pthread'])
if env['os'] == 'openbsd':
@@ -503,7 +506,12 @@ if env['opencl']:
if env['debug']:
env['asserts'] = True
- env.Append(CXXFLAGS = ['-O0','-g','-gdwarf-2'])
+ if not 'windows' in env['os']:
+ env.Append(CXXFLAGS = ['-O0','-g','-gdwarf-2'])
+ else:
+ env.Append(CXXFLAGS = ['-Z7','-MTd','-fms-compatibility','-fdelayed-template-parsing'])
+ env.Append(LINKFLAGS = ['-DEBUG'])
+
env.Append(CPPDEFINES = ['ARM_COMPUTE_DEBUG_ENABLED'])
else:
if not 'windows' in env['os']:
@@ -511,10 +519,11 @@ else:
else:
# on windows we use clang-cl which does not support the option -O3
env.Append(CXXFLAGS = ['-O2'])
-
+
if env['asserts']:
env.Append(CPPDEFINES = ['ARM_COMPUTE_ASSERTS_ENABLED'])
- env.Append(CXXFLAGS = ['-fstack-protector-strong'])
+ if not 'windows' in env['os']:
+ env.Append(CXXFLAGS = ['-fstack-protector-strong'])
if env['logging']:
env.Append(CPPDEFINES = ['ARM_COMPUTE_LOGGING_ENABLED'])
diff --git a/arm_compute/core/utils/misc/MMappedFile.h b/arm_compute/core/utils/misc/MMappedFile.h
index b3e0994b5b..3efdbc5bda 100644
--- a/arm_compute/core/utils/misc/MMappedFile.h
+++ b/arm_compute/core/utils/misc/MMappedFile.h
@@ -24,7 +24,7 @@
#ifndef ARM_COMPUTE_MISC_MMAPPED_FILE_H
#define ARM_COMPUTE_MISC_MMAPPED_FILE_H
-#if !defined(BARE_METAL)
+#if !defined(_WIN64) && !defined(BARE_METAL)
#include <string>
#include <utility>
@@ -105,6 +105,6 @@ private:
} // namespace mmap_io
} // namespace utils
} // namespace arm_compute
-#endif // !defined(BARE_METAL)
+#endif // !defined(_WIN64) &&!defined(BARE_METAL)
#endif /* ARM_COMPUTE_MISC_MMAPPED_FILE_H */
diff --git a/src/core/NEON/kernels/convolution/common/padding.cpp b/src/core/NEON/kernels/convolution/common/padding.cpp
index f57706fef6..5960e66968 100644
--- a/src/core/NEON/kernels/convolution/common/padding.cpp
+++ b/src/core/NEON/kernels/convolution/common/padding.cpp
@@ -81,7 +81,7 @@ template void copy_and_pad_tile(
template void copy_and_pad_tile(
unsigned int, unsigned int, unsigned int,
- const float *, unsigned int, unsigned int,
+ float const *, unsigned int, unsigned int,
float *, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, unsigned int, float
);
diff --git a/src/core/NEON/kernels/convolution/common/padding.hpp b/src/core/NEON/kernels/convolution/common/padding.hpp
index b6f95872c0..397d902e29 100644
--- a/src/core/NEON/kernels/convolution/common/padding.hpp
+++ b/src/core/NEON/kernels/convolution/common/padding.hpp
@@ -34,20 +34,20 @@ namespace padding
*/
template <typename T>
void copy_and_pad_tile(
- unsigned int tile_rows,
- unsigned int tile_cols,
- unsigned int n_channels,
- const T *inptr,
- unsigned int in_row_stride,
- unsigned int in_col_stride,
- T* outptr,
- unsigned int out_row_stride,
- unsigned int out_col_stride,
- unsigned int pad_top,
- unsigned int pad_left,
- unsigned int pad_bottom,
- unsigned int pad_right,
- T pad_value=static_cast<T>(0)
+ const unsigned int tile_rows,
+ const unsigned int tile_cols,
+ const unsigned int n_channels,
+ const T * const inptr,
+ const unsigned int in_row_stride,
+ const unsigned int in_col_stride,
+ T* const outptr,
+ const unsigned int out_row_stride,
+ const unsigned int out_col_stride,
+ const unsigned int pad_top,
+ const unsigned int pad_left,
+ const unsigned int pad_bottom,
+ const unsigned int pad_right,
+ const T pad_value=static_cast<T>(0)
);
/** Copy a tile and remove padding elements in the output.
diff --git a/src/core/NEON/kernels/convolution/winograd/padding.cpp b/src/core/NEON/kernels/convolution/winograd/padding.cpp
index 1d44c384d9..aca8448658 100644
--- a/src/core/NEON/kernels/convolution/winograd/padding.cpp
+++ b/src/core/NEON/kernels/convolution/winograd/padding.cpp
@@ -28,23 +28,22 @@
namespace padding
{
-
template <typename T>
void copy_and_pad_tile(
- const unsigned int tile_rows,
- const unsigned int tile_cols,
- const unsigned int n_channels,
- const T* const inptr,
- const unsigned int in_row_stride,
- const unsigned int in_col_stride,
- T* const outptr,
- const unsigned int out_row_stride,
- const unsigned int out_col_stride,
- const unsigned int pad_top,
- const unsigned int pad_left,
- const unsigned int pad_bottom,
- const unsigned int pad_right,
- const T pad_value
+ unsigned int tile_rows,
+ unsigned int tile_cols,
+ unsigned int n_channels,
+ const T *inptr,
+ unsigned int in_row_stride,
+ unsigned int in_col_stride,
+ T* outptr,
+ unsigned int out_row_stride,
+ unsigned int out_col_stride,
+ unsigned int pad_top,
+ unsigned int pad_left,
+ unsigned int pad_bottom,
+ unsigned int pad_right,
+ T pad_value
)
{
for (unsigned int out_i = 0; out_i < tile_rows; out_i++)
diff --git a/support/ToolchainSupport.h b/support/ToolchainSupport.h
index 8ea50ebe15..0557d1d775 100644
--- a/support/ToolchainSupport.h
+++ b/support/ToolchainSupport.h
@@ -297,7 +297,7 @@ inline bfloat16 lowest<bfloat16>()
template <typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
inline bool isfinite(T value)
{
- return std::isfinite(value);
+ return std::isfinite(static_cast<double>(value));
}
inline bool isfinite(half_float::half value)
@@ -310,12 +310,11 @@ inline bool isfinite(bfloat16 value)
return std::isfinite(float(value));
}
-#if !defined(_WIN64)
// std::signbit
template <typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
inline bool signbit(T value)
{
- return std::signbit(value);
+ return std::signbit(static_cast<double>(value));
}
inline bool signbit(half_float::half value)
@@ -327,7 +326,6 @@ inline bool signbit(bfloat16 value)
{
return std::signbit(float(value));
}
-#endif // !defined(_WIN64)
} // namespace cpp11
} // namespace support
} // namespace arm_compute
diff --git a/tests/AssetsLibrary.h b/tests/AssetsLibrary.h
index 80b9ecbd92..bd97cb7bd4 100644
--- a/tests/AssetsLibrary.h
+++ b/tests/AssetsLibrary.h
@@ -725,7 +725,7 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
case DataType::U8:
case DataType::QASYMM8:
{
- std::uniform_int_distribution<uint8_t> distribution_u8(std::numeric_limits<uint8_t>::lowest(), std::numeric_limits<uint8_t>::max());
+ std::uniform_int_distribution<unsigned int> distribution_u8(std::numeric_limits<uint8_t>::lowest(), std::numeric_limits<uint8_t>::max());
fill(tensor, distribution_u8, seed_offset);
break;
}
@@ -734,7 +734,7 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
case DataType::QSYMM8_PER_CHANNEL:
case DataType::QASYMM8_SIGNED:
{
- std::uniform_int_distribution<int8_t> distribution_s8(std::numeric_limits<int8_t>::lowest(), std::numeric_limits<int8_t>::max());
+ std::uniform_int_distribution<int> distribution_s8(std::numeric_limits<int8_t>::lowest(), std::numeric_limits<int8_t>::max());
fill(tensor, distribution_s8, seed_offset);
break;
}
@@ -826,20 +826,20 @@ void AssetsLibrary::fill_tensor_uniform_ranged(T
case DataType::U8:
case DataType::QASYMM8:
{
- const auto converted_pairs = detail::convert_range_pair<uint8_t>(excluded_range_pairs);
- RangedUniformDistribution<uint8_t> distribution_u8(std::numeric_limits<uint8_t>::lowest(),
- std::numeric_limits<uint8_t>::max(),
- converted_pairs);
+ const auto converted_pairs = detail::convert_range_pair<uint32_t>(excluded_range_pairs);
+ RangedUniformDistribution<uint32_t> distribution_u8(std::numeric_limits<uint8_t>::lowest(),
+ std::numeric_limits<uint8_t>::max(),
+ converted_pairs);
fill(tensor, distribution_u8, seed_offset);
break;
}
case DataType::S8:
case DataType::QSYMM8:
{
- const auto converted_pairs = detail::convert_range_pair<int8_t>(excluded_range_pairs);
- RangedUniformDistribution<int8_t> distribution_s8(std::numeric_limits<int8_t>::lowest(),
- std::numeric_limits<int8_t>::max(),
- converted_pairs);
+ const auto converted_pairs = detail::convert_range_pair<int32_t>(excluded_range_pairs);
+ RangedUniformDistribution<int32_t> distribution_s8(std::numeric_limits<int8_t>::lowest(),
+ std::numeric_limits<int8_t>::max(),
+ converted_pairs);
fill(tensor, distribution_s8, seed_offset);
break;
}
@@ -918,7 +918,7 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
case DataType::QASYMM8:
{
ARM_COMPUTE_ERROR_ON(!(std::is_same<uint8_t, D>::value));
- std::uniform_int_distribution<uint8_t> distribution_u8(low, high);
+ std::uniform_int_distribution<uint32_t> distribution_u8(low, high);
fill(tensor, distribution_u8, seed_offset);
break;
}
@@ -927,7 +927,7 @@ void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_t
case DataType::QASYMM8_SIGNED:
{
ARM_COMPUTE_ERROR_ON(!(std::is_same<int8_t, D>::value));
- std::uniform_int_distribution<int8_t> distribution_s8(low, high);
+ std::uniform_int_distribution<int32_t> distribution_s8(low, high);
fill(tensor, distribution_s8, seed_offset);
break;
}
diff --git a/tests/SConscript b/tests/SConscript
index 49bcb8ee1e..8cd13ab914 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -68,7 +68,8 @@ Import("arm_compute_test_framework")
test_env.Append(LIBS = arm_compute_test_framework)
# Disable floating-point expression contraction (e.g. fused multiply-add operations)
-test_env.Append(CXXFLAGS = ['-ffp-contract=off'])
+if not 'windows' in env['os']:
+ test_env.Append(CXXFLAGS = ['-ffp-contract=off'])
# Remove -Wnoexcept from tests
if 'g++' in test_env['CXX'] and '-Wnoexcept' in test_env['CXXFLAGS']:
@@ -84,7 +85,10 @@ if env['os'] in ['android', 'macos', 'bare_metal'] or env['standalone']:
Import("arm_compute_a")
Import("arm_compute_core_a")
Import("arm_compute_graph_a")
- test_env.Append(LIBS = [arm_compute_graph_a, arm_compute_a, arm_compute_core_a])
+ if env['os']=='windows':
+ test_env.Append(LIBS = [arm_compute_graph_a, arm_compute_a])
+ else:
+ test_env.Append(LIBS = [arm_compute_graph_a, arm_compute_a, arm_compute_core_a])
arm_compute_lib = arm_compute_graph_a
else:
Import("arm_compute_graph_so")
@@ -157,7 +161,7 @@ if env['neon']:
extra_link_flags = []
if env['os'] == 'android':
test_env.Append(LIBS = ["log"])
-elif env['os'] not in ['bare_metal', 'macos']:
+elif env['os'] not in ['windows','bare_metal', 'macos']:
test_env.Append(LIBS = ["rt"])
extra_link_flags += ['-fstack-protector-strong']
@@ -173,7 +177,7 @@ bm_link_flags = []
if test_env['linker_script']:
bm_link_flags += ['-Wl,--build-id=none', '-T', env['linker_script']]
-if test_env['reference_openmp'] and env['os'] not in ['bare_metal', 'macos']:
+if test_env['reference_openmp'] and env['os'] not in ['bare_metal', 'macos','windows']:
test_env['CXXFLAGS'].append('-fopenmp')
test_env['LINKFLAGS'].append('-fopenmp')
@@ -300,4 +304,4 @@ if test_env['benchmark_examples']:
Depends(arm_compute_benchmark_examples, arm_compute_test_framework)
Depends(arm_compute_benchmark_examples, arm_compute_lib)
Default(arm_compute_benchmark_examples)
- Export('arm_compute_benchmark_examples') \ No newline at end of file
+ Export('arm_compute_benchmark_examples')
diff --git a/tests/validation/NEON/FillBorder.cpp b/tests/validation/NEON/FillBorder.cpp
index 343ad831e4..928990b2b4 100644
--- a/tests/validation/NEON/FillBorder.cpp
+++ b/tests/validation/NEON/FillBorder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2020, 2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -60,10 +60,10 @@ DATA_TEST_CASE(FillBorder, framework::DatasetMode::ALL, combine(combine(combine(
{
BorderSize border_size{ static_cast<unsigned int>(size) };
- std::mt19937 generator(library->seed());
- std::uniform_int_distribution<uint8_t> distribution_u8(0, 255);
- const uint8_t border_value = distribution_u8(generator);
- const uint8_t tensor_value = distribution_u8(generator);
+ std::mt19937 generator(library->seed());
+ std::uniform_int_distribution<uint32_t> distribution_u8(0, 255);
+ const uint8_t border_value = distribution_u8(generator);
+ const uint8_t tensor_value = distribution_u8(generator);
// Create tensors
Tensor src = create_tensor<Tensor>(shape, data_type);
@@ -77,7 +77,7 @@ DATA_TEST_CASE(FillBorder, framework::DatasetMode::ALL, combine(combine(combine(
validate(src.info()->padding(), padding);
// Fill tensor with constant value
- std::uniform_int_distribution<uint8_t> distribution{ tensor_value, tensor_value };
+ std::uniform_int_distribution<uint32_t> distribution{ tensor_value, tensor_value };
library->fill(Accessor(src), distribution, 0);
// Create and configure kernel
diff --git a/tests/validation/NEON/UNIT/TensorAllocator.cpp b/tests/validation/NEON/UNIT/TensorAllocator.cpp
index d84bcd4a20..0aab9ef9b5 100644
--- a/tests/validation/NEON/UNIT/TensorAllocator.cpp
+++ b/tests/validation/NEON/UNIT/TensorAllocator.cpp
@@ -193,7 +193,7 @@ TEST_CASE(ImportMemoryMallocPadded, framework::DatasetMode::ALL)
ARM_COMPUTE_ASSERT(tensor.info()->is_resizable());
}
-#if !defined(BARE_METAL)
+#if !defined(_WIN64) && !defined(BARE_METAL)
TEST_CASE(ImportMemoryMappedFile, framework::DatasetMode::ALL)
{
const ActivationLayerInfo act_info(ActivationLayerInfo::ActivationFunction::RELU);
@@ -250,7 +250,7 @@ TEST_CASE(ImportMemoryMappedFile, framework::DatasetMode::ALL)
tensor.allocator()->free();
ARM_COMPUTE_ASSERT(tensor.info()->is_resizable());
}
-#endif // !defined(BARE_METAL)
+#endif // !defined(_WIN64) && !defined(BARE_METAL)
TEST_CASE(AlignedAlloc, framework::DatasetMode::ALL)
{
diff --git a/tests/validation/fixtures/ArgMinMaxFixture.h b/tests/validation/fixtures/ArgMinMaxFixture.h
index caa6bb8d9c..2bbce4077e 100644
--- a/tests/validation/fixtures/ArgMinMaxFixture.h
+++ b/tests/validation/fixtures/ArgMinMaxFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2021 Arm Limited.
+ * Copyright (c) 2018-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -80,7 +80,7 @@ protected:
case DataType::QASYMM8:
{
std::pair<int, int> bounds = get_quantized_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<uint8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<uint32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, 0);
break;
@@ -88,7 +88,7 @@ protected:
case DataType::QASYMM8_SIGNED:
{
std::pair<int, int> bounds = get_quantized_qasymm8_signed_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<int8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<int32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, 0);
break;
diff --git a/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h b/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
index ae844332c3..38088b4000 100644
--- a/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
+++ b/tests/validation/fixtures/ConvertFullyConnectedWeightsFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2021 Arm Limited.
+ * Copyright (c) 2018-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -61,7 +61,7 @@ protected:
{
case DataType::QASYMM8:
{
- std::uniform_int_distribution<uint8_t> distribution(0, 10);
+ std::uniform_int_distribution<uint32_t> distribution(0, 10);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/ConvolutionLayerFixture.h b/tests/validation/fixtures/ConvolutionLayerFixture.h
index 0b3f070e9c..bffdc59758 100644
--- a/tests/validation/fixtures/ConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/ConvolutionLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -122,14 +122,14 @@ protected:
case DataType::QASYMM8:
{
std::pair<int, int> bounds = get_quantized_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<uint8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<uint32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, i);
break;
}
case DataType::QASYMM8_SIGNED:
{
std::pair<int, int> bounds = get_quantized_qasymm8_signed_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<int8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<int32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, i);
break;
}
@@ -149,7 +149,7 @@ protected:
max_bound = bounds.second;
}
}
- std::uniform_int_distribution<int8_t> distribution(min_bound, max_bound);
+ std::uniform_int_distribution<int32_t> distribution(min_bound, max_bound);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DeconvolutionLayerFixture.h b/tests/validation/fixtures/DeconvolutionLayerFixture.h
index 14f071eed0..d13eab2f54 100644
--- a/tests/validation/fixtures/DeconvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DeconvolutionLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -75,14 +75,14 @@ protected:
case DataType::QASYMM8:
{
std::pair<int, int> bounds = get_quantized_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<uint8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<uint32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, i);
break;
}
case DataType::QASYMM8_SIGNED:
{
std::pair<int, int> bounds = get_quantized_qasymm8_signed_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<int8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<int32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, i);
break;
}
@@ -102,7 +102,7 @@ protected:
max_bound = bounds.second;
}
}
- std::uniform_int_distribution<int8_t> distribution(min_bound, max_bound);
+ std::uniform_int_distribution<int32_t> distribution(min_bound, max_bound);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DepthConvertLayerFixture.h b/tests/validation/fixtures/DepthConvertLayerFixture.h
index 130b583dc1..53d29b44ba 100644
--- a/tests/validation/fixtures/DepthConvertLayerFixture.h
+++ b/tests/validation/fixtures/DepthConvertLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -61,7 +61,7 @@ protected:
if(is_data_type_quantized(tensor.data_type()))
{
std::pair<int, int> bounds = get_quantized_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<uint8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<uint32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, i);
}
diff --git a/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h b/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
index cecccc87bb..9fd973ad20 100644
--- a/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DepthwiseConvolutionLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -199,14 +199,14 @@ protected:
{
case DataType::QASYMM8:
{
- std::uniform_int_distribution<uint8_t> distribution(0, 15);
+ std::uniform_int_distribution<uint32_t> distribution(0, 15);
library->fill(tensor, distribution, i);
break;
}
case DataType::QASYMM8_SIGNED:
case DataType::QSYMM8_PER_CHANNEL:
{
- std::uniform_int_distribution<int8_t> distribution(-10, 10);
+ std::uniform_int_distribution<int32_t> distribution(-10, 10);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/DirectConvolutionLayerFixture.h b/tests/validation/fixtures/DirectConvolutionLayerFixture.h
index 614aa20753..31186e2b1d 100644
--- a/tests/validation/fixtures/DirectConvolutionLayerFixture.h
+++ b/tests/validation/fixtures/DirectConvolutionLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -112,14 +112,14 @@ protected:
{
case DataType::QASYMM8:
{
- std::uniform_int_distribution<uint8_t> distribution(0, 50);
+ std::uniform_int_distribution<uint32_t> distribution(0, 50);
library->fill(tensor, distribution, i);
break;
}
case DataType::QASYMM8_SIGNED:
{
// Use small input range to avoid all the test results being saturated at the end.
- std::uniform_int_distribution<int8_t> distribution(-25, 25);
+ std::uniform_int_distribution<int32_t> distribution(-25, 25);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/FullyConnectedLayerFixture.h b/tests/validation/fixtures/FullyConnectedLayerFixture.h
index 3048c56f6b..b5efccdf70 100644
--- a/tests/validation/fixtures/FullyConnectedLayerFixture.h
+++ b/tests/validation/fixtures/FullyConnectedLayerFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -92,12 +92,12 @@ protected:
{
if(_data_type == DataType::QASYMM8)
{
- std::uniform_int_distribution<uint8_t> distribution(0, 30);
+ std::uniform_int_distribution<uint32_t> distribution(0, 30);
library->fill(tensor, distribution, i);
}
else if(_data_type == DataType::QASYMM8_SIGNED)
{
- std::uniform_int_distribution<int8_t> distribution(-15, 15);
+ std::uniform_int_distribution<int32_t> distribution(-15, 15);
library->fill(tensor, distribution, i);
}
else if(_data_type == DataType::S32)
@@ -291,7 +291,7 @@ private:
}
else if(_data_type == DataType::QASYMM8)
{
- std::uniform_int_distribution<uint8_t> distribution(0, 30);
+ std::uniform_int_distribution<uint32_t> distribution(0, 30);
library->fill(tensor, distribution, i);
}
else if(_data_type == DataType::S32)
@@ -336,7 +336,7 @@ private:
}
else if(_data_type == DataType::QASYMM8)
{
- constexpr AbsoluteTolerance<uint8_t> tolerance_qasymm8(1);
+ constexpr AbsoluteTolerance<uint32_t> tolerance_qasymm8(1);
validate(AccessorType(target), ref, tolerance_qasymm8);
}
else
diff --git a/tests/validation/fixtures/GEMMLowpFixture.h b/tests/validation/fixtures/GEMMLowpFixture.h
index 3da4c02f6d..5fe7d83efd 100644
--- a/tests/validation/fixtures/GEMMLowpFixture.h
+++ b/tests/validation/fixtures/GEMMLowpFixture.h
@@ -67,13 +67,13 @@ void fill(U &&tensor, int i)
max_bound = bounds.second;
}
}
- std::uniform_int_distribution<int8_t> distribution(min_bound, max_bound);
+ std::uniform_int_distribution<int32_t> distribution(min_bound, max_bound);
library->fill(tensor, distribution, i);
break;
}
case DataType::QASYMM8:
{
- std::uniform_int_distribution<uint8_t> distribution(1, 254);
+ std::uniform_int_distribution<uint32_t> distribution(1, 254);
library->fill(tensor, distribution, i);
break;
}
diff --git a/tests/validation/fixtures/ReductionOperationFixture.h b/tests/validation/fixtures/ReductionOperationFixture.h
index fc422ad35b..c333f1391f 100644
--- a/tests/validation/fixtures/ReductionOperationFixture.h
+++ b/tests/validation/fixtures/ReductionOperationFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -76,14 +76,14 @@ protected:
if(tensor.data_type() == DataType::QASYMM8)
{
std::pair<int, int> bounds = get_quantized_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<uint8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<uint32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, 0);
}
else if(tensor.data_type() == DataType::QASYMM8_SIGNED)
{
std::pair<int, int> bounds = get_quantized_qasymm8_signed_bounds(tensor.quantization_info(), -1.0f, 1.0f);
- std::uniform_int_distribution<int8_t> distribution(bounds.first, bounds.second);
+ std::uniform_int_distribution<int32_t> distribution(bounds.first, bounds.second);
library->fill(tensor, distribution, 0);
}
diff --git a/tests/validation/fixtures/ScaleFixture.h b/tests/validation/fixtures/ScaleFixture.h
index b719a22fdf..c0b44bcb5f 100644
--- a/tests/validation/fixtures/ScaleFixture.h
+++ b/tests/validation/fixtures/ScaleFixture.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -59,8 +59,8 @@ public:
generate_scale(shape);
- std::mt19937 generator(library->seed());
- std::uniform_int_distribution<uint8_t> distribution_u8(0, 255);
+ std::mt19937 generator(library->seed());
+ std::uniform_int_distribution<uint32_t> distribution_u8(0, 255);
_constant_border_value = static_cast<T>(distribution_u8(generator));
_target = compute_target(shape, data_layout);