aboutsummaryrefslogtreecommitdiff
path: root/chapters/introduction.adoc
diff options
context:
space:
mode:
authorDominic Symes <dominic.symes@arm.com>2023-04-24 17:08:02 +0100
committerDominic Symes <dominic.symes@arm.com>2023-04-27 14:52:30 +0100
commitbc72ba8ec128dc8c851455300085961d6e716959 (patch)
tree1c269fc0ea90243b2028e5ef7da58c417020c429 /chapters/introduction.adoc
parent211c5f5294cd08ebbf61278823e5195fef181dd7 (diff)
downloadspecification-bc72ba8ec128dc8c851455300085961d6e716959.tar.gz
Move the tensor size limit into the level range definition
The tensor size in bytes must fit within the level defined size range. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I131e3aa7e8666b4d0093ae8198367f243081da51
Diffstat (limited to 'chapters/introduction.adoc')
-rw-r--r--chapters/introduction.adoc10
1 files changed, 6 insertions, 4 deletions
diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc
index b1d92d9..f3a6454 100644
--- a/chapters/introduction.adoc
+++ b/chapters/introduction.adoc
@@ -331,11 +331,13 @@ Tensor elements are addressed using dim_t values, where each element of the vect
==== Tensor size limit
-The tensor overall size in elements is limited by the data type size_t.
-In this version of the specification, size_t is defined as an unsigned 32-bit integer representing size from 1 to (1<<32) - 1.
+The tensor overall size is limited by the data type size_t.
+This type must be able to hold integers in the range 0 to (1++<<++(MAX_LOG2_SIZE+1)) - 1 where MAX_LOG2_SIZE is defined in <<Levels>>.
+For each tensor, the number of tensor elements multiplied by the element size in bytes (which is taken to be 1 for elements smaller than a 8-bit) must be less than or equal to (1<<(MAX_LOG2_SIZE+1)) - 1.
+
The size of tensors along each of their dimensions is limited by the data type index_t.
-In this version of the specification, index_t is defined as a signed 32-bit integer.
-This means that the maximum size of a tensor along each dimension is (1<<31) - 1 and therefore the maximum coordinate value is (1<<31) - 2.
+This type must be able to hold integers in the range 0 to (1++<<++MAX_LOG2_SIZE) - 1 where MAX_LOG2_SIZE is defined in <<Levels>>.
+This means that the maximum size of a tensor along each dimension is (1<<MAX_LOG2_SIZE) - 1 and therefore the maximum coordinate value is (1<<MAX_LOG2_SIZE) - 2.
Indices used to access tensors must be non-negative.
==== Data Layouts