diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-10-09 15:13:12 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:55:45 +0000 |
commit | ecae3a14746fc7f678735b1a82347bd03f9a397f (patch) | |
tree | 4c02d64cb9cbee8d270e2c498cc8ff1655bcdb36 /src/runtime/CPUUtils.cpp | |
parent | df3b5bb87296fdcde8ef88153f6365d693e80295 (diff) | |
download | ComputeLibrary-ecae3a14746fc7f678735b1a82347bd03f9a397f.tar.gz |
COMPMID-1451: Enable dot kernels in NEGEMMAssembly functions
Change-Id: I9dd26b80025ea3a4c66f5f0bf41b7a98dd0d3aa4
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/152549
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Diffstat (limited to 'src/runtime/CPUUtils.cpp')
-rw-r--r-- | src/runtime/CPUUtils.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/runtime/CPUUtils.cpp b/src/runtime/CPUUtils.cpp index f8feb33838..d81337c2b8 100644 --- a/src/runtime/CPUUtils.cpp +++ b/src/runtime/CPUUtils.cpp @@ -339,17 +339,18 @@ void get_cpu_configuration(CPUInfo &cpuinfo) populate_models_cpuinfo(percpu); } int j(0); - // Update dot product and FP16 support if all CPUs support these features: - bool all_support_dot = true; - bool all_support_fp16 = true; + // Update dot product and FP16 support if one of the CPUs support these features + // We assume that the system does not have mixed architectures + bool one_supports_dot = false; + bool one_supports_fp16 = false; for(const auto &v : percpu) { - all_support_dot &= model_supports_dot(v); - all_support_fp16 &= model_supports_fp16(v); + one_supports_dot |= model_supports_dot(v); + one_supports_fp16 |= model_supports_fp16(v); cpuinfo.set_cpu_model(j++, v); } - cpuinfo.set_dotprod(all_support_dot || hwcaps_dot_support); - cpuinfo.set_fp16(all_support_fp16 || hwcaps_fp16_support); + cpuinfo.set_dotprod(one_supports_dot || hwcaps_dot_support); + cpuinfo.set_fp16(one_supports_fp16 || hwcaps_fp16_support); #else /* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */ ARM_COMPUTE_UNUSED(cpuinfo); #endif /* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */ |