diff options
author | Tim Hall <tim.hall@arm.com> | 2022-05-04 16:20:43 +0100 |
---|---|---|
committer | Tim Hall <tim.hall@arm.com> | 2022-05-04 16:26:09 +0100 |
commit | b5df773e92051004158046b0ed2c7b802198de6e (patch) | |
tree | 7d738a28a63b66a20f379acbdfc6c3e7c4a98a61 /ethosu/vela/weight_compressor.py | |
parent | 95b07c1c0fed6a985607131e59a593786d40b389 (diff) | |
download | ethos-u-vela-b5df773e92051004158046b0ed2c7b802198de6e.tar.gz |
Revert "MLBEDSW-6263: Use separate tensors for double buffering"
This reverts commit cc5f4de1c35ba44fca7ff6295c6ae846f8242344.
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: I0fa5babfe9ad9ec668720d04fe1c16d9a9092131
Diffstat (limited to 'ethosu/vela/weight_compressor.py')
-rw-r--r-- | ethosu/vela/weight_compressor.py | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/ethosu/vela/weight_compressor.py b/ethosu/vela/weight_compressor.py index 78c43511..86b424a4 100644 --- a/ethosu/vela/weight_compressor.py +++ b/ethosu/vela/weight_compressor.py @@ -68,19 +68,12 @@ class NpuWeightTensor(Tensor): def __init__(self, name): Tensor.__init__(self, None, None, name + "_npu_encoded_weights") self.buffer = [] - self.double_buffer_sizes = [0, 0] # Required sizes if double buffering is used + self.max_range_bytes = 0 self.encoded_ranges = OrderedDict() self.hw_traversal = NpuBlockTraversal.DEPTH_FIRST self.dtype = DataType.uint8 self.scale_compression_config = None - def max_range_bytes(self): - return max(self.double_buffer_sizes) - - def double_buffer_size(self): - """Return total required size for double buffering""" - return sum(self.double_buffer_sizes) - class CompressedWeightCache: """Global tensor weight compression cache""" @@ -364,7 +357,7 @@ def encode_weight_and_scale_tensor( weights = np.flip(weights, axis=(0, 1)) encoded_stream = bytearray() - double_buffer_sizes = [0, 0] + max_single_buffer_len = 0 is_depthwise = npu_block_type == NpuBlockType.ConvolutionDepthWise # Bias & scale @@ -442,11 +435,11 @@ def encode_weight_and_scale_tensor( npu_tensor.encoded_ranges[key] = weight_range # Remember maximum encoded length for DoubleBuffering - double_buffer_sizes[idx % 2] = max(double_buffer_sizes[idx % 2], len(encoded_stream) - buffer_start_offset) + max_single_buffer_len = max(max_single_buffer_len, len(encoded_stream) - buffer_start_offset) # Attach buffer to tensor npu_tensor.buffer = encoded_stream - npu_tensor.double_buffer_sizes = double_buffer_sizes + npu_tensor.max_range_bytes = max_single_buffer_len npu_tensor.set_all_shapes([1, 1, 1, len(encoded_stream)]) npu_tensor.format = TensorFormat.WeightsCompressed |