aboutsummaryrefslogtreecommitdiff
path: root/src/core/Helpers.cpp
diff options
context:
space:
mode:
authorGiorgio Arena <giorgio.arena@arm.com>2021-10-06 12:54:29 +0100
committerGiorgio Arena <giorgio.arena@arm.com>2021-10-07 11:34:26 +0000
commitc9fe9fc3fc8c58a9d724776f75831ab35f07b253 (patch)
tree3d0ca5dfa67fc62bd063925dc0bc179ad0d08c5a /src/core/Helpers.cpp
parentb6af482bc5d8e4f03f876e17909c561de198c4d3 (diff)
downloadComputeLibrary-c9fe9fc3fc8c58a9d724776f75831ab35f07b253.tar.gz
Add support for 5D data layout indexing
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com> Change-Id: Ib346bb6b90d2220ec5934c83a9a1f0cd540b8731 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6377 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/Helpers.cpp')
-rw-r--r--src/core/Helpers.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/core/Helpers.cpp b/src/core/Helpers.cpp
index e692cc1e7c..28e7f4c1e5 100644
--- a/src/core/Helpers.cpp
+++ b/src/core/Helpers.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -100,4 +100,23 @@ ValidRegion calculate_valid_region_scale(const ITensorInfo &src_info, const Tens
return valid_region;
}
+
+const std::map<DataLayout, std::vector<DataLayoutDimension>> &get_layout_map()
+{
+ constexpr DataLayoutDimension W = DataLayoutDimension::WIDTH;
+ constexpr DataLayoutDimension H = DataLayoutDimension::HEIGHT;
+ constexpr DataLayoutDimension C = DataLayoutDimension::CHANNEL;
+ constexpr DataLayoutDimension D = DataLayoutDimension::DEPTH;
+ constexpr DataLayoutDimension N = DataLayoutDimension::BATCHES;
+
+ static const std::map<DataLayout, std::vector<DataLayoutDimension>> layout_map =
+ {
+ { DataLayout::NDHWC, { C, W, H, D, N } },
+ { DataLayout::NCDHW, { W, H, D, C, N } },
+ { DataLayout::NHWC, { C, W, H, N } },
+ { DataLayout::NCHW, { W, H, C, N } }
+ };
+
+ return layout_map;
+}
} // namespace arm_compute \ No newline at end of file