From fd627ffaec8fd8801d980b4c91ee7c0607ab6aaf Mon Sep 17 00:00:00 2001 From: Jan Eilers Date: Thu, 25 Feb 2021 17:44:00 +0000 Subject: IVGCVSW-5687 Update Doxygen Docu * Update Doxygen Documentation for 21.02 release Signed-off-by: Jan Eilers Change-Id: I9ed2f9caab038836ea99d7b378d7899fe431a4e5 --- 21.02/_buffer_manager_8hpp_source.xhtml | 130 ++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 21.02/_buffer_manager_8hpp_source.xhtml (limited to '21.02/_buffer_manager_8hpp_source.xhtml') diff --git a/21.02/_buffer_manager_8hpp_source.xhtml b/21.02/_buffer_manager_8hpp_source.xhtml new file mode 100644 index 0000000000..21920c5610 --- /dev/null +++ b/21.02/_buffer_manager_8hpp_source.xhtml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + +ArmNN: src/profiling/BufferManager.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  21.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BufferManager.hpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2019 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "IBufferManager.hpp"
9 #include "IConsumer.hpp"
10 
11 #include <condition_variable>
12 #include <mutex>
13 #include <vector>
14 #include <queue>
15 
16 namespace armnn
17 {
18 
19 namespace profiling
20 {
21 
23 {
24 public:
25  BufferManager(unsigned int numberOfBuffers = 5, unsigned int maxPacketSize = 4096);
26 
28 
29  IPacketBufferPtr Reserve(unsigned int requestedSize, unsigned int& reservedSize) override;
30 
31  void Reset();
32 
33  void Commit(IPacketBufferPtr& packetBuffer, unsigned int size, bool notifyConsumer = true) override;
34 
35  void Release(IPacketBufferPtr& packetBuffer) override;
36 
38 
39  void MarkRead(IPacketBufferPtr& packetBuffer) override;
40 
41  /// Set Consumer on the buffer manager to be notified when there is a Commit
42  /// Can only be one consumer
43  void SetConsumer(IConsumer* consumer) override;
44 
45  /// Notify the Consumer buffer can be read
46  void FlushReadList() override;
47 
48 private:
49  void Initialize();
50 
51  // Maximum buffer size
52  unsigned int m_MaxBufferSize;
53  // Number of buffers
54  const unsigned int m_NumberOfBuffers;
55  const unsigned int m_MaxNumberOfBuffers;
56  unsigned int m_CurrentNumberOfBuffers;
57 
58  // List of available packet buffers
59  std::vector<IPacketBufferPtr> m_AvailableList;
60 
61  // List of readable packet buffers
62  std::queue<IPacketBufferPtr> m_ReadableList;
63 
64  // Mutex for available packet buffer list
65  std::mutex m_AvailableMutex;
66 
67  // Mutex for readable packet buffer list
68  std::mutex m_ReadableMutex;
69 
70  // Consumer thread to notify packet is ready to read
71  IConsumer* m_Consumer = nullptr;
72 };
73 
74 } // namespace profiling
75 
76 } // namespace armnn
+ +
void SetConsumer(IConsumer *consumer) override
Set Consumer on the buffer manager to be notified when there is a Commit Can only be one consumer...
+
Copyright (c) 2021 ARM Limited and Contributors.
+ +
BufferManager(unsigned int numberOfBuffers=5, unsigned int maxPacketSize=4096)
+
void FlushReadList() override
Notify the Consumer buffer can be read.
+ +
void Commit(IPacketBufferPtr &packetBuffer, unsigned int size, bool notifyConsumer=true) override
+
IPacketBufferPtr Reserve(unsigned int requestedSize, unsigned int &reservedSize) override
+
IPacketBufferPtr GetReadableBuffer() override
+
void MarkRead(IPacketBufferPtr &packetBuffer) override
+ + + +
std::unique_ptr< IPacketBuffer > IPacketBufferPtr
+
void Release(IPacketBufferPtr &packetBuffer) override
+
+
+ + + + -- cgit v1.2.1