From b5df773e92051004158046b0ed2c7b802198de6e Mon Sep 17 00:00:00 2001 From: Tim Hall Date: Wed, 4 May 2022 16:20:43 +0100 Subject: Revert "MLBEDSW-6263: Use separate tensors for double buffering" This reverts commit cc5f4de1c35ba44fca7ff6295c6ae846f8242344. Signed-off-by: Tim Hall Change-Id: I0fa5babfe9ad9ec668720d04fe1c16d9a9092131 --- ethosu/vela/weight_compressor.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'ethosu/vela/weight_compressor.py') 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 -- cgit v1.2.1