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>
diff --git a/src/core/Helpers.cpp b/src/core/Helpers.cpp
index e692cc1..28e7f4c 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 @@
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