From 6940dd720ebb6b3d1df8ca203ab696daefe58189 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Fri, 20 Mar 2020 12:25:56 +0000 Subject: renamed Documentation folder 20.02 and added .nojekyll file Signed-off-by: Jim Flynn --- 20.02/_buffer_manager_8hpp_source.xhtml | 130 ++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 20.02/_buffer_manager_8hpp_source.xhtml (limited to '20.02/_buffer_manager_8hpp_source.xhtml') diff --git a/20.02/_buffer_manager_8hpp_source.xhtml b/20.02/_buffer_manager_8hpp_source.xhtml new file mode 100644 index 0000000000..fc8daf8d41 --- /dev/null +++ b/20.02/_buffer_manager_8hpp_source.xhtml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + +ArmNN: src/profiling/BufferManager.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.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 
15 namespace armnn
16 {
17 
18 namespace profiling
19 {
20 
22 {
23 public:
24  BufferManager(unsigned int numberOfBuffers = 5, unsigned int maxPacketSize = 4096);
25 
27 
28  IPacketBufferPtr Reserve(unsigned int requestedSize, unsigned int& reservedSize) override;
29 
30  void Reset();
31 
32  void Commit(IPacketBufferPtr& packetBuffer, unsigned int size, bool notifyConsumer = true) override;
33 
34  void Release(IPacketBufferPtr& packetBuffer) override;
35 
37 
38  void MarkRead(IPacketBufferPtr& packetBuffer) override;
39 
40  /// Set Consumer on the buffer manager to be notified when there is a Commit
41  /// Can only be one consumer
42  void SetConsumer(IConsumer* consumer) override;
43 
44  /// Notify the Consumer buffer can be read
45  void FlushReadList() override;
46 
47 private:
48  void Initialize();
49 
50  // Maximum buffer size
51  unsigned int m_MaxBufferSize;
52  // Number of buffers
53  unsigned int m_NumberOfBuffers;
54 
55  // List of available packet buffers
56  std::vector<IPacketBufferPtr> m_AvailableList;
57 
58  // List of readable packet buffers
59  std::vector<IPacketBufferPtr> m_ReadableList;
60 
61  // Mutex for available packet buffer list
62  std::mutex m_AvailableMutex;
63 
64  // Mutex for readable packet buffer list
65  std::mutex m_ReadableMutex;
66 
67  // Consumer thread to notify packet is ready to read
68  IConsumer* m_Consumer = nullptr;
69 };
70 
71 } // namespace profiling
72 
73 } // 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) 2020 ARM Limited.
+ +
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