diff options
author | Dominic Symes <dominic.symes@arm.com> | 2023-04-24 17:08:02 +0100 |
---|---|---|
committer | Dominic Symes <dominic.symes@arm.com> | 2023-04-27 14:52:30 +0100 |
commit | bc72ba8ec128dc8c851455300085961d6e716959 (patch) | |
tree | 1c269fc0ea90243b2028e5ef7da58c417020c429 /chapters/introduction.adoc | |
parent | 211c5f5294cd08ebbf61278823e5195fef181dd7 (diff) | |
download | specification-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.adoc | 10 |
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 |