COMPMID-798 Add instrumentation to NEON kernels
Change-Id: I9dbb090cac731d68bd98a7d1c8ab0e1cb0a5c911
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/116746
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Tested-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/core/CPP/ICPPKernel.h b/arm_compute/core/CPP/ICPPKernel.h
index 54717ca..17f2632 100644
--- a/arm_compute/core/CPP/ICPPKernel.h
+++ b/arm_compute/core/CPP/ICPPKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,6 +50,12 @@
* @param[in] info Info about executing thread and CPU.
*/
virtual void run(const Window &window, const ThreadInfo &info) = 0;
+
+ /** Name of the kernel
+ *
+ * @return Kernel name
+ */
+ virtual const char *name() const = 0;
};
} // namespace arm_compute
#endif /*__ARM_COMPUTE_ICPPKERNEL_H__ */
diff --git a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
index 580264e..b89816e 100644
--- a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -40,6 +40,10 @@
class CPPCornerCandidatesKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "CPPCornerCandidatesKernel";
+ }
/** Default constructor */
CPPCornerCandidatesKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
index 9ca7c64..87766a7 100644
--- a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class CPPDetectionWindowNonMaximaSuppressionKernel : public ICPPKernel
{
public:
+ const char *name() const override
+ {
+ return "CPPDetectionWindowNonMaximaSuppressionKernel";
+ }
/** Default constructor */
CPPDetectionWindowNonMaximaSuppressionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/CPP/kernels/CPPPermuteKernel.h b/arm_compute/core/CPP/kernels/CPPPermuteKernel.h
index 0e7c938..3d6b436 100644
--- a/arm_compute/core/CPP/kernels/CPPPermuteKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPPermuteKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class CPPPermuteKernel : public ICPPKernel
{
public:
+ const char *name() const override
+ {
+ return "CPPPermuteKernel";
+ }
/** Default constructor */
CPPPermuteKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
index fddd425..1f16177 100644
--- a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class CPPSortEuclideanDistanceKernel : public ICPPKernel
{
public:
+ const char *name() const override
+ {
+ return "CPPSortEuclideanDistanceKernel";
+ }
/** Default constructor */
CPPSortEuclideanDistanceKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h b/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
index c3cbedf..a859202 100644
--- a/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
+++ b/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEAbsoluteDifferenceKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEAbsoluteDifferenceKernel";
+ }
/** Default constructor */
NEAbsoluteDifferenceKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
index fa8a3be..ad5a16c 100644
--- a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -40,6 +40,10 @@
class NEAccumulateKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEAccumulateKernel";
+ }
/** Set the input and accumulation tensors
*
* @param[in] input Source tensor. Data type supported: U8.
@@ -63,6 +67,10 @@
class NEAccumulateWeightedKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEAccumulateWeightedKernel";
+ }
/** Default constructor */
NEAccumulateWeightedKernel();
/** Set the input and accumulation tensors, and the scale value
@@ -85,6 +93,10 @@
class NEAccumulateWeightedFP16Kernel : public NEAccumulateWeightedKernel
{
public:
+ const char *name() const override
+ {
+ return "NEAccumulateWeightedFP16Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
};
@@ -102,6 +114,10 @@
class NEAccumulateSquaredKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEAccumulateSquaredKernel";
+ }
/** Default constructor */
NEAccumulateSquaredKernel();
/** Set the input and accumulation tensors and the shift value.
diff --git a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
index 1edda84..d3c5382 100644
--- a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -40,6 +40,10 @@
class NEActivationLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEActivationLayerKernel";
+ }
/** Constructor */
NEActivationLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
index b830e02..eedecfb 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NEArithmeticAdditionKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEArithmeticAdditionKernel";
+ }
/** Default constructor */
NEArithmeticAdditionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
index af81d39..73ecfcf 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NEArithmeticSubtractionKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEArithmeticSubtractionKernel";
+ }
/** Default constructor */
NEArithmeticSubtractionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
index f3c5574..f748830 100644
--- a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NEBatchNormalizationLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBatchNormalizationLayerKernel";
+ }
/** Default constructor */
NEBatchNormalizationLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
index 983dbd3..2c5a9e6 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEBitwiseAndKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBitwiseAndKernel";
+ }
/** Default constructor */
NEBitwiseAndKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
index f57d040..ddba225 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEBitwiseNotKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBitwiseNotKernel";
+ }
/** Default constructor */
NEBitwiseNotKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
index f405b73..0cb974a 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEBitwiseOrKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBitwiseOrKernel";
+ }
/** Default constructor */
NEBitwiseOrKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
index 321416e..d464e39 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEBitwiseXorKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBitwiseXorKernel";
+ }
/** Default constructor */
NEBitwiseXorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
index 29248f6..9c13955 100644
--- a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEBox3x3Kernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEBox3x3Kernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8.
@@ -52,6 +56,10 @@
class NEBox3x3FP16Kernel : public NEBox3x3Kernel
{
public:
+ const char *name() const override
+ {
+ return "NEBox3x3FP16Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
};
diff --git a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
index a57c389..401b9e4 100644
--- a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
+++ b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEGradientKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGradientKernel";
+ }
/** Default constructor */
NEGradientKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -87,6 +91,10 @@
class NEGradientFP16Kernel : public NEGradientKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGradientFP16Kernel";
+ }
// Inherited methods overriden:
void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase, int32_t norm_type) override;
};
@@ -104,6 +112,10 @@
class NEEdgeNonMaxSuppressionKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEEdgeNonMaxSuppressionKernel";
+ }
/** Default constructor */
NEEdgeNonMaxSuppressionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -157,6 +169,10 @@
class NEEdgeTraceKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEEdgeTraceKernel";
+ }
/** Default constructor */
NEEdgeTraceKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h b/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
index 4ae5f80..1a88714 100644
--- a/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
+++ b/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEChannelCombineKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEChannelCombineKernel";
+ }
/** Default constructor */
NEChannelCombineKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h b/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
index 8c6977c..e57a3a6 100644
--- a/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
+++ b/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEChannelExtractKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEChannelExtractKernel";
+ }
/** Default constructor */
NEChannelExtractKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NECol2ImKernel.h b/arm_compute/core/NEON/kernels/NECol2ImKernel.h
index 243cc77..9fb493c 100644
--- a/arm_compute/core/NEON/kernels/NECol2ImKernel.h
+++ b/arm_compute/core/NEON/kernels/NECol2ImKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -53,6 +53,10 @@
class NECol2ImKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NECol2ImKernel";
+ }
/** Default constructor */
NECol2ImKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEColorConvertKernel.h b/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
index 1c8799f..608172c 100644
--- a/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
+++ b/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEColorConvertKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEColorConvertKernel";
+ }
/** Default constructor */
NEColorConvertKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEConvolutionKernel.h b/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
index 690c17a..534e0b0 100644
--- a/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -55,6 +55,10 @@
class NEConvolutionKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEConvolutionKernel";
+ }
/** Default constructor */
NEConvolutionKernel();
/** Initialise the kernel's input, output and border mode.
@@ -98,6 +102,10 @@
class NESeparableConvolutionHorKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NESeparableConvolutionHorKernel";
+ }
/** Default constructor */
NESeparableConvolutionHorKernel();
@@ -138,6 +146,10 @@
class NESeparableConvolutionVertKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NESeparableConvolutionVertKernel";
+ }
/** Default constructor */
NESeparableConvolutionVertKernel();
@@ -200,6 +212,10 @@
class NEConvolutionRectangleKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEConvolutionRectangleKernel";
+ }
/** Default constructor */
NEConvolutionRectangleKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h b/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
index e444679..ada07b1 100644
--- a/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
+++ b/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,6 +44,10 @@
class NECumulativeDistributionKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NECumulativeDistributionKernel";
+ }
/** Default constructor */
NECumulativeDistributionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDepthConcatenateLayerKernel.h b/arm_compute/core/NEON/kernels/NEDepthConcatenateLayerKernel.h
index 6029873..67ef529 100644
--- a/arm_compute/core/NEON/kernels/NEDepthConcatenateLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthConcatenateLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEDepthConcatenateLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthConcatenateLayerKernel";
+ }
/** Default constructor */
NEDepthConcatenateLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDepthConvertLayerKernel.h b/arm_compute/core/NEON/kernels/NEDepthConvertLayerKernel.h
index af51ded..50536f2 100644
--- a/arm_compute/core/NEON/kernels/NEDepthConvertLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthConvertLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEDepthConvertLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthConvertLayerKernel";
+ }
/** Default constructor*/
NEDepthConvertLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h b/arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h
index 38e2a5d..a441fb4 100644
--- a/arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h
@@ -35,6 +35,10 @@
class NEDepthwiseConvolutionLayer3x3Kernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthwiseConvolutionLayer3x3Kernel";
+ }
/** Default constructor */
NEDepthwiseConvolutionLayer3x3Kernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -67,4 +71,4 @@
unsigned int _num_elems_written_per_iteration;
};
} // namespace arm_compute
-#endif /* __ARM_COMPUTE_NEDEPTHWISECONVOLUTIONKERNEL3x3_H__ */
\ No newline at end of file
+#endif /* __ARM_COMPUTE_NEDEPTHWISECONVOLUTIONKERNEL3x3_H__ */
diff --git a/arm_compute/core/NEON/kernels/NEDepthwiseIm2ColKernel.h b/arm_compute/core/NEON/kernels/NEDepthwiseIm2ColKernel.h
index fde474d..8d59ba3 100644
--- a/arm_compute/core/NEON/kernels/NEDepthwiseIm2ColKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthwiseIm2ColKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEDepthwiseIm2ColKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthwiseIm2ColKernel";
+ }
/** Default constructor */
NEDepthwiseIm2ColKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDepthwiseVectorToTensorKernel.h b/arm_compute/core/NEON/kernels/NEDepthwiseVectorToTensorKernel.h
index 8b33fae..1900090 100644
--- a/arm_compute/core/NEON/kernels/NEDepthwiseVectorToTensorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthwiseVectorToTensorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -40,6 +40,10 @@
class NEDepthwiseVectorToTensorKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthwiseVectorToTensorKernel";
+ }
/** Default constructor */
NEDepthwiseVectorToTensorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDepthwiseWeightsReshapeKernel.h b/arm_compute/core/NEON/kernels/NEDepthwiseWeightsReshapeKernel.h
index 2e98611..4d23b8b 100644
--- a/arm_compute/core/NEON/kernels/NEDepthwiseWeightsReshapeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthwiseWeightsReshapeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEDepthwiseWeightsReshapeKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDepthwiseWeightsReshapeKernel";
+ }
/** Default constructor */
NEDepthwiseWeightsReshapeKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
index 51c75f8..25383aa 100644
--- a/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEDequantizationLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDequantizationLayerKernel";
+ }
/** Default constructor */
NEDequantizationLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDerivativeKernel.h b/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
index 5d46516..233c423 100644
--- a/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEDerivativeKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDerivativeKernel";
+ }
/** Default constructor */
NEDerivativeKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDilateKernel.h b/arm_compute/core/NEON/kernels/NEDilateKernel.h
index b05c3ad..ad15c62 100644
--- a/arm_compute/core/NEON/kernels/NEDilateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDilateKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEDilateKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDilateKernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8
diff --git a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
index cd482dd..f859f97 100644
--- a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEDirectConvolutionLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDirectConvolutionLayerKernel";
+ }
/** Default constructor */
NEDirectConvolutionLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.h b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.h
index c42e5c4..77711d7 100644
--- a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.h
@@ -36,6 +36,10 @@
class NEDirectConvolutionLayerOutputStageKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEDirectConvolutionLayerOutputStageKernel";
+ }
/** Default constructor */
NEDirectConvolutionLayerOutputStageKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEErodeKernel.h b/arm_compute/core/NEON/kernels/NEErodeKernel.h
index 4d60d64..b1b236c 100644
--- a/arm_compute/core/NEON/kernels/NEErodeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEErodeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEErodeKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEErodeKernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8
diff --git a/arm_compute/core/NEON/kernels/NEFastCornersKernel.h b/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
index dba5e88..1b645c4 100644
--- a/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEFastCornersKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEFastCornersKernel";
+ }
/** Constructor */
NEFastCornersKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEFillArrayKernel.h b/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
index 6b92a8b..62d537d 100644
--- a/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEFillArrayKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEFillArrayKernel";
+ }
/** Default contructor */
NEFillArrayKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEFillBorderKernel.h b/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
index 164158b..dd19b8f 100644
--- a/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
@@ -36,6 +36,10 @@
class NEFillBorderKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEFillBorderKernel";
+ }
/** Default Constructor */
NEFillBorderKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h b/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
index b264bb7..545a265 100644
--- a/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEFillInnerBorderKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEFillInnerBorderKernel";
+ }
/** Default constructor */
NEFillInnerBorderKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEFloorKernel.h b/arm_compute/core/NEON/kernels/NEFloorKernel.h
index a9221d0..b72d052 100644
--- a/arm_compute/core/NEON/kernels/NEFloorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFloorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEFloorKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEFloorKernel";
+ }
/** Set the source, destination of the kernel
*
* @param[in] input Source tensor. Data type supported: F32.
diff --git a/arm_compute/core/NEON/kernels/NEGEMMAssemblyBaseKernel.h b/arm_compute/core/NEON/kernels/NEGEMMAssemblyBaseKernel.h
index 1090dd5..579e8ed 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMAssemblyBaseKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMAssemblyBaseKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGEMMAssemblyBaseKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMAssemblyBaseKernel";
+ }
/** Constructor */
NEGEMMAssemblyBaseKernel()
: _input0(nullptr), _input1(nullptr), _output(nullptr), _workspace(nullptr), _alpha(1.f), _beta(0.f), _is_transposed_0(false), _is_transposed_1(false)
diff --git a/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h b/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
index fd93def..79504fd 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -52,6 +52,10 @@
class NEGEMMInterleave4x4Kernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMInterleave4x4Kernel";
+ }
/* Constructor */
NEGEMMInterleave4x4Kernel();
/** Initialise the kernel's input and output.
diff --git a/arm_compute/core/NEON/kernels/NEGEMMInterleaveBlockedKernel.h b/arm_compute/core/NEON/kernels/NEGEMMInterleaveBlockedKernel.h
index b9bb18d..f5a1121 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMInterleaveBlockedKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMInterleaveBlockedKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEGEMMInterleaveBlockedKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMInterleaveBlockedKernel";
+ }
/* Constructor */
NEGEMMInterleaveBlockedKernel();
/** Initialise the kernel's input and output.
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
index 7435994..354ae21 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,6 +43,10 @@
class NEGEMMLowpMatrixMultiplyKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpMatrixMultiplyKernel";
+ }
/** Constructor */
NEGEMMLowpMatrixMultiplyKernel();
/** Prevent instances of this class from being copied (As this class contains pointers)*/
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.h
index 5319683..7186320 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -46,6 +46,10 @@
class NEGEMMLowpOffsetContributionKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpOffsetContributionKernel";
+ }
/** Constructor */
NEGEMMLowpOffsetContributionKernel();
/** Prevent instances of this class from being copied (As this class contains pointers)*/
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h
index b1dd1fb..030a0c7 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -46,6 +46,10 @@
class NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel";
+ }
/** Constructor */
NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel();
/** Prevent instances of this class from being copied (As this class contains pointers)*/
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h
index 10b3330..84f45b0 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -46,6 +46,10 @@
class NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel";
+ }
/** Constructor */
NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel();
/** Prevent instances of this class from being copied (As this class contains pointers)*/
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpReductionKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpReductionKernel.h
index 38c353e..4eab86d 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpReductionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpReductionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -69,6 +69,10 @@
class NEGEMMLowpMatrixAReductionKernel : public INEGEMMLowpReductionKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpMatrixAReductionKernel";
+ }
/** Initialise the kernel's input and output.
*
* @param[in] mtx_a Input tensor. Data type supported: QASYMM8
@@ -100,6 +104,10 @@
class NEGEMMLowpMatrixBReductionKernel : public INEGEMMLowpReductionKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpMatrixBReductionKernel";
+ }
/** Initialise the kernel's input and output.
*
* @param[in] mtx_b Input tensor. Data type supported: Data type supported: QASYMM8
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
index d5fb675..051b8b7 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -33,6 +33,10 @@
class NEGEMMMatrixAccumulateBiasesKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMMatrixAccumulateBiasesKernel";
+ }
/** Default constructor */
NEGEMMMatrixAccumulateBiasesKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
index 9d5adb6..5e4f8b7 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -41,6 +41,10 @@
class NEGEMMMatrixAdditionKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMMatrixAdditionKernel";
+ }
/** Constructor */
NEGEMMMatrixAdditionKernel();
/** Prevent instances of this class from being copied */
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
index 9923c31..4598e15 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEGEMMMatrixMultiplyKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMMatrixMultiplyKernel";
+ }
/** Constructor */
NEGEMMMatrixMultiplyKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.h
index d844af5..5ea8390 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -33,6 +33,10 @@
class NEGEMMMatrixVectorMultiplyKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMMatrixVectorMultiplyKernel";
+ }
/** Default constructor */
NEGEMMMatrixVectorMultiplyKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h b/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
index 451dce2..fcdd8dd 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -68,6 +68,10 @@
class NEGEMMTranspose1xWKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMTranspose1xWKernel";
+ }
/** Initialise the kernel's input and output.
*
* @param[in] input Input tensor. Data types supported: U8/S8/QS8/QASYMM8/U16/S16/QS16/F16/U32/S32/F32
diff --git a/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h b/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
index 962948c..404f5dd 100644
--- a/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGaussian3x3Kernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGaussian3x3Kernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8
diff --git a/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h b/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
index 95d1f4b..a06326c 100644
--- a/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGaussian5x5HorKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGaussian5x5HorKernel";
+ }
/** Default constructor */
NEGaussian5x5HorKernel();
@@ -57,6 +61,10 @@
class NEGaussian5x5VertKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGaussian5x5VertKernel";
+ }
/** Initialise the kernel's source, destination and border mode.
*
* @param[in] input Source tensor. Data type supported: S16.
diff --git a/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h b/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
index d285011..ac22934 100644
--- a/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGaussianPyramidHorKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGaussianPyramidHorKernel";
+ }
/** Default constructor */
NEGaussianPyramidHorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -66,6 +70,10 @@
class NEGaussianPyramidVertKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGaussianPyramidVertKernel";
+ }
/** Default constructor */
NEGaussianPyramidVertKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h b/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
index 0eae9eb..37d0419 100644
--- a/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEHOGOrientationBinningKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHOGOrientationBinningKernel";
+ }
/** Default constructor */
NEHOGOrientationBinningKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -91,6 +95,10 @@
class NEHOGBlockNormalizationKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHOGBlockNormalizationKernel";
+ }
/** Default constructor */
NEHOGBlockNormalizationKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h b/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
index 838b914..0db1a40 100644
--- a/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEHOGDetectorKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHOGDetectorKernel";
+ }
/** Default constructor */
NEHOGDetectorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
index c3c37e4..8037e41 100644
--- a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -84,6 +84,10 @@
class NEHarrisScoreKernel : public INEHarrisScoreKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHarrisScoreKernel";
+ }
/** Default constructor */
NEHarrisScoreKernel();
// Inherited methods overridden:
@@ -105,6 +109,10 @@
class NEHarrisScoreFP16Kernel : public INEHarrisScoreKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHarrisScoreFP16Kernel";
+ }
/** Default constructor */
NEHarrisScoreFP16Kernel();
// Inherited methods overridden:
diff --git a/arm_compute/core/NEON/kernels/NEHistogramKernel.h b/arm_compute/core/NEON/kernels/NEHistogramKernel.h
index 672472e..086353b 100644
--- a/arm_compute/core/NEON/kernels/NEHistogramKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHistogramKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -40,6 +40,10 @@
class NEHistogramKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHistogramKernel";
+ }
/** Default constructor */
NEHistogramKernel();
/** Default destructor */
diff --git a/arm_compute/core/NEON/kernels/NEIm2ColKernel.h b/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
index bc12b22..6d11fbe 100644
--- a/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
+++ b/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -57,6 +57,10 @@
class NEIm2ColKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEIm2ColKernel";
+ }
/** Default constructor */
NEIm2ColKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h b/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
index 0e86eba..8d34926 100644
--- a/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
+++ b/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEIntegralImageKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEIntegralImageKernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8
diff --git a/arm_compute/core/NEON/kernels/NEL2NormalizeLayerKernel.h b/arm_compute/core/NEON/kernels/NEL2NormalizeLayerKernel.h
index 7aa5116..7fb968e 100644
--- a/arm_compute/core/NEON/kernels/NEL2NormalizeLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEL2NormalizeLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEL2NormalizeLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEL2NormalizeLayerKernel";
+ }
/** Default constructor */
NEL2NormalizeLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
index f65a6c2..f210558 100644
--- a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
+++ b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -51,6 +51,10 @@
class NELKTrackerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NELKTrackerKernel";
+ }
/** Default constructor */
NELKTrackerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
index 593d965..5e3410f 100644
--- a/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NELocallyConnectedMatrixMultiplyKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NELocallyConnectedMatrixMultiplyKernel";
+ }
/** Default constructor */
NELocallyConnectedMatrixMultiplyKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
index 76c6163..522ed54 100644
--- a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEMagnitudePhaseKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMagnitudePhaseKernel";
+ }
/** Default constructor */
NEMagnitudePhaseKernel();
/** Destructor */
@@ -100,6 +104,10 @@
class NEMagnitudePhaseFP16Kernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMagnitudePhaseFP16Kernel";
+ }
/** Default constructor */
NEMagnitudePhaseFP16Kernel();
/** Destructor */
diff --git a/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h b/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
index 5579767..bba6e2a 100644
--- a/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEMeanStdDevKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMeanStdDevKernel";
+ }
/** Default constructor */
NEMeanStdDevKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h b/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
index 769c2c1..2403677 100644
--- a/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEMedian3x3Kernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMedian3x3Kernel";
+ }
/** Set the source, destination and border mode of the kernel
*
* @param[in] input Source tensor. Data type supported: U8
diff --git a/arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h b/arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h
index da4f2c4..592b594 100644
--- a/arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEMinMaxLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMinMaxLayerKernel";
+ }
/** Default constructor */
NEMinMaxLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h b/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
index ef193d1..bf2d207 100644
--- a/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEMinMaxKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMinMaxKernel";
+ }
/** Default constructor */
NEMinMaxKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -102,6 +106,10 @@
class NEMinMaxLocationKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEMinMaxLocationKernel";
+ }
/** Default constructor */
NEMinMaxLocationKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h b/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
index 2ddd58e..42701ef 100644
--- a/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
+++ b/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NENonLinearFilterKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NENonLinearFilterKernel";
+ }
/** Default constructor */
NENonLinearFilterKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
index da8aecf..f122ed1 100644
--- a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NENonMaximaSuppression3x3Kernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NENonMaximaSuppression3x3Kernel";
+ }
/** Default constructor */
NENonMaximaSuppression3x3Kernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -84,6 +88,10 @@
class NENonMaximaSuppression3x3FP16Kernel : public NENonMaximaSuppression3x3Kernel
{
public:
+ const char *name() const override
+ {
+ return "NENonMaximaSuppression3x3FP16Kernel";
+ }
/** Initialise the kernel's sources, destinations and border mode.
*
* @param[in] input Source tensor. Data types supported: U8/F32.
diff --git a/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h b/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
index 405daf1..b835ca7 100644
--- a/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NENormalizationLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NENormalizationLayerKernel";
+ }
/** Default constructor */
NENormalizationLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
index 10f990e..2a82d6e 100644
--- a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NEPixelWiseMultiplicationKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEPixelWiseMultiplicationKernel";
+ }
/** Default constructor */
NEPixelWiseMultiplicationKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
index 19c4656..0b17b76 100644
--- a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
@@ -34,6 +34,10 @@
class NEPoolingLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEPoolingLayerKernel";
+ }
/** Default constructor */
NEPoolingLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
index e80f9eb..9642ac5 100644
--- a/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NEQuantizationLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEQuantizationLayerKernel";
+ }
/** Default constructor */
NEQuantizationLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h b/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
index dc604fc..5d9a7cf 100644
--- a/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NEROIPoolingLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEROIPoolingLayerKernel";
+ }
/** Default constructor */
NEROIPoolingLayerKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h b/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
index 9be8943..a5ddd06 100644
--- a/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEReductionOperationKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEReductionOperationKernel";
+ }
/** Default constructor */
NEReductionOperationKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NERemapKernel.h b/arm_compute/core/NEON/kernels/NERemapKernel.h
index 7aa5de7..8a4ecd4 100644
--- a/arm_compute/core/NEON/kernels/NERemapKernel.h
+++ b/arm_compute/core/NEON/kernels/NERemapKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NERemapKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NERemapKernel";
+ }
/** Default constructor */
NERemapKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEReshapeLayerKernel.h b/arm_compute/core/NEON/kernels/NEReshapeLayerKernel.h
index 062a6e1..cd70198 100644
--- a/arm_compute/core/NEON/kernels/NEReshapeLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEReshapeLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEReshapeLayerKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NEReshapeLayerKernel";
+ }
/** Set the input and output of the kernel
*
* @param[in] input Source tensor. Data type supported: U8/S8/QS8/U16/S16/QS16/U32/S32/F16/F32
diff --git a/arm_compute/core/NEON/kernels/NEScaleKernel.h b/arm_compute/core/NEON/kernels/NEScaleKernel.h
index ac154d4..eb47409 100644
--- a/arm_compute/core/NEON/kernels/NEScaleKernel.h
+++ b/arm_compute/core/NEON/kernels/NEScaleKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NEScaleKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEScaleKernel";
+ }
/** Default constructor */
NEScaleKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h b/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
index 01c4c90..9040341 100644
--- a/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,6 +43,10 @@
class NEScharr3x3Kernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEScharr3x3Kernel";
+ }
/** Default constructor */
NEScharr3x3Kernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h b/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
index 46e8032..21e8748 100644
--- a/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,6 +43,10 @@
class NESobel3x3Kernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NESobel3x3Kernel";
+ }
/** Default constructor */
NESobel3x3Kernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h b/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
index 9770c2c..361a194 100644
--- a/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NESobel5x5HorKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NESobel5x5HorKernel";
+ }
/** Default constructor */
NESobel5x5HorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -79,6 +83,10 @@
class NESobel5x5VertKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NESobel5x5VertKernel";
+ }
/** Default constructor */
NESobel5x5VertKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h b/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
index 5683f7c..a5cc86d 100644
--- a/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,6 +36,10 @@
class NESobel7x7HorKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NESobel7x7HorKernel";
+ }
/** Default constructor */
NESobel7x7HorKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -79,6 +83,10 @@
class NESobel7x7VertKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NESobel7x7VertKernel";
+ }
/** Default constructor */
NESobel7x7VertKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h b/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
index 0fecfac..bd0e642 100644
--- a/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NELogits1DMaxKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NELogits1DMaxKernel";
+ }
/** Default constructor */
NELogits1DMaxKernel();
/** Set the input and output tensors.
@@ -68,6 +72,10 @@
class NELogits1DShiftExpSumKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NELogits1DShiftExpSumKernel";
+ }
/** Default constructor */
NELogits1DShiftExpSumKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
@@ -120,6 +128,10 @@
class NELogits1DNormKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NELogits1DNormKernel";
+ }
/** Default constructor */
NELogits1DNormKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NETableLookupKernel.h b/arm_compute/core/NEON/kernels/NETableLookupKernel.h
index 46eefc9..9bc4a44 100644
--- a/arm_compute/core/NEON/kernels/NETableLookupKernel.h
+++ b/arm_compute/core/NEON/kernels/NETableLookupKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,10 @@
class NETableLookupKernel : public INESimpleKernel
{
public:
+ const char *name() const override
+ {
+ return "NETableLookupKernel";
+ }
/** Default constructor */
NETableLookupKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEThresholdKernel.h b/arm_compute/core/NEON/kernels/NEThresholdKernel.h
index 8fd561b..9993780 100644
--- a/arm_compute/core/NEON/kernels/NEThresholdKernel.h
+++ b/arm_compute/core/NEON/kernels/NEThresholdKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,6 +39,10 @@
class NEThresholdKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEThresholdKernel";
+ }
/** Constructor
* Initialize all the pointers to nullptr and parameters to zero.
*/
diff --git a/arm_compute/core/NEON/kernels/NETransposeKernel.h b/arm_compute/core/NEON/kernels/NETransposeKernel.h
index 855d270..dc7ef8f 100644
--- a/arm_compute/core/NEON/kernels/NETransposeKernel.h
+++ b/arm_compute/core/NEON/kernels/NETransposeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,6 +38,10 @@
class NETransposeKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NETransposeKernel";
+ }
/** Default constructor */
NETransposeKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEWarpKernel.h b/arm_compute/core/NEON/kernels/NEWarpKernel.h
index d7cb82f..a147d57 100644
--- a/arm_compute/core/NEON/kernels/NEWarpKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWarpKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -98,6 +98,10 @@
class NEWarpAffineKernel : public INEWarpKernel
{
private:
+ const char *name() const override
+ {
+ return "NEWarpAffineKernel";
+ }
// Inherited methods overridden:
void warp_undefined(const Window &window) override;
void warp_constant(const Window &window) override;
@@ -111,6 +115,10 @@
class NEWarpPerspectiveKernel : public INEWarpKernel
{
private:
+ const char *name() const override
+ {
+ return "NEWarpPerspectiveKernel";
+ }
// Inherited methods overridden:
void warp_undefined(const Window &window) override;
void warp_constant(const Window &window) override;
diff --git a/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h b/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
index 84ec736..e92829c 100644
--- a/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -56,6 +56,10 @@
class NEWeightsReshapeKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEWeightsReshapeKernel";
+ }
/** Constructor.*/
NEWeightsReshapeKernel();
/** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/arm_compute/core/NEON/kernels/NEWinogradLayerKernel.h b/arm_compute/core/NEON/kernels/NEWinogradLayerKernel.h
index 78ac564..b85f372 100644
--- a/arm_compute/core/NEON/kernels/NEWinogradLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWinogradLayerKernel.h
@@ -79,6 +79,10 @@
class NEWinogradLayerKernel : public INEKernel
{
public:
+ const char *name() const override
+ {
+ return "NEWinogradLayerKernel";
+ }
/** Constructor */
NEWinogradLayerKernel();
diff --git a/arm_compute/core/NEON/kernels/arm32/NEGEMMAArch32Kernel.h b/arm_compute/core/NEON/kernels/arm32/NEGEMMAArch32Kernel.h
index 7564f6a..4868f83 100644
--- a/arm_compute/core/NEON/kernels/arm32/NEGEMMAArch32Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm32/NEGEMMAArch32Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGEMMAArch32Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMAArch32Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
diff --git a/arm_compute/core/NEON/kernels/arm64/NEGEMMAArch64Kernel.h b/arm_compute/core/NEON/kernels/arm64/NEGEMMAArch64Kernel.h
index 5c29a82..5252378 100644
--- a/arm_compute/core/NEON/kernels/arm64/NEGEMMAArch64Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm64/NEGEMMAArch64Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEGEMMAArch64Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMAArch64Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
diff --git a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64A53Kernel.h b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64A53Kernel.h
index 8e97837..83c209d 100644
--- a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64A53Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64A53Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEGEMMLowpAArch64A53Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpAArch64A53Kernel";
+ }
/** Default constructor */
NEGEMMLowpAArch64A53Kernel();
// Inherited methods overridden:
diff --git a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64Kernel.h b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64Kernel.h
index 3829d5e..f813242 100644
--- a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEGEMMLowpAArch64Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpAArch64Kernel";
+ }
/** Default constructor */
NEGEMMLowpAArch64Kernel();
diff --git a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64V8P4Kernel.h b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64V8P4Kernel.h
index b944993..b854d3a 100644
--- a/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64V8P4Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm64/NEGEMMLowpAArch64V8P4Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,10 @@
class NEGEMMLowpAArch64V8P4Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEGEMMLowpAArch64V8P4Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
/** Static function to check if given info will lead to a valid configuration of @ref NEGEMMAssemblyBaseKernel
diff --git a/arm_compute/core/NEON/kernels/arm64/NEHGEMMAArch64FP16Kernel.h b/arm_compute/core/NEON/kernels/arm64/NEHGEMMAArch64FP16Kernel.h
index 5671d99..75c4dbd 100644
--- a/arm_compute/core/NEON/kernels/arm64/NEHGEMMAArch64FP16Kernel.h
+++ b/arm_compute/core/NEON/kernels/arm64/NEHGEMMAArch64FP16Kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,6 +34,10 @@
class NEHGEMMAArch64FP16Kernel : public NEGEMMAssemblyBaseKernel
{
public:
+ const char *name() const override
+ {
+ return "NEHGEMMAArch64FP16Kernel";
+ }
// Inherited methods overridden:
void run(const Window &window, const ThreadInfo &info) override;
diff --git a/arm_compute/runtime/Scheduler.h b/arm_compute/runtime/Scheduler.h
index 21f944b..524622f 100644
--- a/arm_compute/runtime/Scheduler.h
+++ b/arm_compute/runtime/Scheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,7 +44,7 @@
*
* @param[in] scheduler A shared pointer to a custom scheduler implemented by the user.
*/
- static void set(std::shared_ptr<IScheduler> &scheduler);
+ static void set(std::shared_ptr<IScheduler> scheduler);
/** Access the scheduler singleton.
*
* @return A reference to the scheduler object.
diff --git a/src/runtime/Scheduler.cpp b/src/runtime/Scheduler.cpp
index 505c4a3..8925acf 100644
--- a/src/runtime/Scheduler.cpp
+++ b/src/runtime/Scheduler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -142,8 +142,8 @@
std::shared_ptr<IScheduler> Scheduler::_custom_scheduler = nullptr;
-void Scheduler::set(std::shared_ptr<IScheduler> &scheduler)
+void Scheduler::set(std::shared_ptr<IScheduler> scheduler)
{
- _custom_scheduler = scheduler;
+ _custom_scheduler = std::move(scheduler);
set(Type::CUSTOM);
}
diff --git a/tests/SConscript b/tests/SConscript
index 4261331..a128d39 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -29,9 +29,10 @@
# vars is imported from arm_compute:
variables = [
+ #FIXME: Remove before release!
+ BoolVariable("benchmark_examples", "Build benchmark examples programs", True),
BoolVariable("validation_tests", "Build validation test programs", True),
BoolVariable("benchmark_tests", "Build benchmark test programs", True),
- BoolVariable("benchmark_examples", "Build benchmark examples programs", True),
("test_filter", "Pattern to specify the tests' filenames to be compiled", "*.cpp")
]
@@ -164,6 +165,7 @@
Default(arm_compute_validation)
Export('arm_compute_validation')
+#FIXME: Remove before release!
if test_env['benchmark_examples']:
files_benchmark_examples = test_env.Object('benchmark_examples/RunExample.cpp')
arm_compute_benchmark_examples = []
diff --git a/tests/framework/Framework.cpp b/tests/framework/Framework.cpp
index 79a77d9..3091b66 100644
--- a/tests/framework/Framework.cpp
+++ b/tests/framework/Framework.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -41,6 +41,9 @@
_available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::NONE), Instrument::make_instrument<WallClockTimer, ScaleFactor::NONE>);
_available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::TIME_MS), Instrument::make_instrument<WallClockTimer, ScaleFactor::TIME_MS>);
_available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::TIME_S), Instrument::make_instrument<WallClockTimer, ScaleFactor::TIME_S>);
+ _available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::NONE), Instrument::make_instrument<SchedulerTimer, ScaleFactor::NONE>);
+ _available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::TIME_MS), Instrument::make_instrument<SchedulerTimer, ScaleFactor::TIME_MS>);
+ _available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::TIME_S), Instrument::make_instrument<SchedulerTimer, ScaleFactor::TIME_S>);
#ifdef PMU_ENABLED
_available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::PMU, ScaleFactor::NONE), Instrument::make_instrument<PMUCounter, ScaleFactor::NONE>);
_available_instruments.emplace(std::pair<InstrumentType, ScaleFactor>(InstrumentType::PMU, ScaleFactor::SCALE_1K), Instrument::make_instrument<PMUCounter, ScaleFactor::SCALE_1K>);
diff --git a/tests/framework/instruments/Instruments.cpp b/tests/framework/instruments/Instruments.cpp
index 641e630..64e87f9 100644
--- a/tests/framework/instruments/Instruments.cpp
+++ b/tests/framework/instruments/Instruments.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,6 +44,9 @@
{ "wall_clock_timer", std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::NONE) },
{ "wall_clock_timer_ms", std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::TIME_MS) },
{ "wall_clock_timer_s", std::pair<InstrumentType, ScaleFactor>(InstrumentType::WALL_CLOCK_TIMER, ScaleFactor::TIME_S) },
+ { "scheduler_timer", std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::NONE) },
+ { "scheduler_timer_ms", std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::TIME_MS) },
+ { "scheduler_timer_s", std::pair<InstrumentType, ScaleFactor>(InstrumentType::SCHEDULER_TIMER, ScaleFactor::TIME_S) },
{ "pmu", std::pair<InstrumentType, ScaleFactor>(InstrumentType::PMU, ScaleFactor::NONE) },
{ "pmu_k", std::pair<InstrumentType, ScaleFactor>(InstrumentType::PMU, ScaleFactor::SCALE_1K) },
{ "pmu_m", std::pair<InstrumentType, ScaleFactor>(InstrumentType::PMU, ScaleFactor::SCALE_1M) },
diff --git a/tests/framework/instruments/Instruments.h b/tests/framework/instruments/Instruments.h
index 651f0f5..fe4c719 100644
--- a/tests/framework/instruments/Instruments.h
+++ b/tests/framework/instruments/Instruments.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -27,6 +27,7 @@
#include "MaliCounter.h"
#include "OpenCLTimer.h"
#include "PMUCounter.h"
+#include "SchedulerTimer.h"
#include "WallClockTimer.h"
#include <sstream>
@@ -48,6 +49,7 @@
PMU_INSTRUCTION_COUNTER = 0x0202,
MALI = 0x0300,
OPENCL_TIMER = 0x0400,
+ SCHEDULER_TIMER = 0x0500,
};
using InstrumentsDescription = std::pair<InstrumentType, ScaleFactor>;
@@ -82,6 +84,22 @@
throw std::invalid_argument("Unsupported instrument scale");
}
break;
+ case InstrumentType::SCHEDULER_TIMER:
+ switch(instrument.second)
+ {
+ case ScaleFactor::NONE:
+ stream << "SCHEDULER_TIMER";
+ break;
+ case ScaleFactor::TIME_MS:
+ stream << "SCHEDULER_TIMER_MS";
+ break;
+ case ScaleFactor::TIME_S:
+ stream << "SCHEDULER_TIMER_S";
+ break;
+ default:
+ throw std::invalid_argument("Unsupported instrument scale");
+ }
+ break;
case InstrumentType::PMU:
switch(instrument.second)
{
diff --git a/tests/framework/instruments/SchedulerTimer.cpp b/tests/framework/instruments/SchedulerTimer.cpp
new file mode 100644
index 0000000..e42cebd
--- /dev/null
+++ b/tests/framework/instruments/SchedulerTimer.cpp
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2017-2018 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#include "SchedulerTimer.h"
+
+#include "WallClockTimer.h"
+#include "arm_compute/core/CPP/ICPPKernel.h"
+
+namespace arm_compute
+{
+namespace test
+{
+namespace framework
+{
+std::string SchedulerTimer::id() const
+{
+ return "SchedulerTimer";
+}
+
+class Interceptor final : public IScheduler
+{
+public:
+ /** Default constructor. */
+ Interceptor(std::list<SchedulerTimer::kernel_info> &kernels, IScheduler &real_scheduler, ScaleFactor scale_factor)
+ : _kernels(kernels), _real_scheduler(real_scheduler), _timer(scale_factor)
+ {
+ }
+
+ void set_num_threads(unsigned int num_threads) override
+ {
+ _real_scheduler.set_num_threads(num_threads);
+ }
+
+ unsigned int num_threads() const override
+ {
+ return _real_scheduler.num_threads();
+ }
+
+ void schedule(ICPPKernel *kernel, unsigned int split_dimension) override
+ {
+ _timer.start();
+ _real_scheduler.schedule(kernel, split_dimension);
+ _timer.stop();
+
+ SchedulerTimer::kernel_info info;
+ info.name = kernel->name();
+ info.measurements = _timer.measurements();
+ _kernels.push_back(std::move(info));
+ }
+
+private:
+ std::list<SchedulerTimer::kernel_info> &_kernels;
+ IScheduler &_real_scheduler;
+ WallClockTimer _timer;
+};
+
+SchedulerTimer::SchedulerTimer(ScaleFactor scale_factor)
+ : _kernels(), _real_scheduler(nullptr), _real_scheduler_type(), _scale_factor(scale_factor)
+{
+}
+
+void SchedulerTimer::start()
+{
+ ARM_COMPUTE_ERROR_ON(_real_scheduler != nullptr);
+ _real_scheduler_type = Scheduler::get_type();
+ //Note: We can't currently replace a custom scheduler
+ if(_real_scheduler_type != Scheduler::Type::CUSTOM)
+ {
+ _real_scheduler = &Scheduler::get();
+ auto interceptor = std::make_shared<Interceptor>(_kernels, *_real_scheduler, _scale_factor);
+ Scheduler::set(std::static_pointer_cast<IScheduler>(interceptor));
+ }
+ _kernels.clear();
+}
+
+void SchedulerTimer::stop()
+{
+ // Restore real scheduler
+ Scheduler::set(_real_scheduler_type);
+ _real_scheduler = nullptr;
+}
+
+Instrument::MeasurementsMap SchedulerTimer::measurements() const
+{
+ MeasurementsMap measurements;
+ unsigned int kernel_number = 0;
+ for(auto kernel : _kernels)
+ {
+ measurements.emplace(kernel.name + " #" + support::cpp11::to_string(kernel_number++), kernel.measurements.begin()->second);
+ }
+
+ return measurements;
+}
+} // namespace framework
+} // namespace test
+} // namespace arm_compute
diff --git a/tests/framework/instruments/SchedulerTimer.h b/tests/framework/instruments/SchedulerTimer.h
new file mode 100644
index 0000000..446506a
--- /dev/null
+++ b/tests/framework/instruments/SchedulerTimer.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2017-2018 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef ARM_COMPUTE_TEST_SCHEDULER_TIMER
+#define ARM_COMPUTE_TEST_SCHEDULER_TIMER
+
+#include "Instrument.h"
+#include "arm_compute/runtime/Scheduler.h"
+#include <list>
+
+namespace arm_compute
+{
+namespace test
+{
+namespace framework
+{
+/** Instrument creating measurements based on the information returned by clGetEventProfilingInfo for each OpenCL kernel executed*/
+class SchedulerTimer : public Instrument
+{
+public:
+ SchedulerTimer(const SchedulerTimer &) = delete;
+ SchedulerTimer &operator=(const SchedulerTimer &) = delete;
+ SchedulerTimer(ScaleFactor scale_factor);
+ std::string id() const override;
+ void start() override;
+ void stop() override;
+ Instrument::MeasurementsMap measurements() const override;
+ struct kernel_info
+ {
+ Instrument::MeasurementsMap measurements{}; /**< Time it took the kernel to run */
+ std::string name{}; /**< Kernel name */
+ };
+
+private:
+ std::list<kernel_info> _kernels;
+ IScheduler *_real_scheduler;
+ Scheduler::Type _real_scheduler_type;
+ ScaleFactor _scale_factor;
+};
+} // namespace framework
+} // namespace test
+} // namespace arm_compute
+#endif /* ARM_COMPUTE_TEST_SCHEDULER_TIMER */