YARP
Yet Another Robot Platform
physicresource.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_MANAGER_PHYSICRESOURCE
7 #define YARP_MANAGER_PHYSICRESOURCE
8 
10 #include <yarp/manager/node.h>
11 #include <yarp/manager/utility.h>
13 #include <yarp/manager/resource.h>
14 
15 namespace yarp {
16 namespace manager {
17 
18 
19 class GPU : public GenericResource {
20 
21 public:
22  GPU();
23  GPU(const char* szName);
24  GPU(const GPU &res);
25  ~GPU() override;
26  Node* clone() override;
27  bool satisfy(GenericResource* resource) override;
28 
29  void setCores(size_t n) { cores = n; }
30  void setFrequency(double f) { frequency = f; }
31  void setCompCompatibility(const char* cap) { compCompatibility = cap; }
32  void setGlobalMemory(Capacity c) { globalMemory = c; }
33  void setSharedMemory(Capacity c) { sharedMemory = c; }
34  void setConstantMemory(Capacity c) { constantMemory = c; }
35  void setResgisterPerBlock(size_t val) { registerPerBlock = val; }
36  void setThreadPerBlock(size_t val) { threadPerBlock = val; }
37  void setOverlap(bool flag) { bOverlap = flag;}
38 
39  size_t getCores() { return cores; }
40  double getFrequency() { return frequency; }
41  const char* getCompCompatibility() { return compCompatibility.c_str(); }
42  Capacity getGlobalMemory() { return globalMemory; }
43  Capacity getSharedMemory() { return sharedMemory; }
44  Capacity getConstantMemory() { return constantMemory; }
45  size_t getRegisterPerBlock() { return registerPerBlock; }
46  size_t getThreadPerBlock() { return threadPerBlock; }
47  bool getOverlap() { return bOverlap; }
48 
49 protected:
50 
51 private:
52  size_t cores;
53  double frequency;
54  std::string compCompatibility;
55  Capacity globalMemory;
56  Capacity sharedMemory;
57  Capacity constantMemory;
58  size_t registerPerBlock;
59  size_t threadPerBlock;
60  bool bOverlap;
61 };
62 
63 } // namespace yarp
64 } // namespace manager
65 
66 
67 #endif // __YARP_MANAGER_PHYSICRESOURCE__
void setFrequency(double f)
void setThreadPerBlock(size_t val)
const char * getCompCompatibility()
bool satisfy(GenericResource *resource) override
Capacity getGlobalMemory()
void setOverlap(bool flag)
void setCompCompatibility(const char *cap)
Capacity getSharedMemory()
void setConstantMemory(Capacity c)
Capacity getConstantMemory()
Node * clone() override
size_t getThreadPerBlock()
void setSharedMemory(Capacity c)
void setCores(size_t n)
void setResgisterPerBlock(size_t val)
void setGlobalMemory(Capacity c)
size_t getRegisterPerBlock()
a Node of a Graph
Definition: node.h:65
size_t Capacity
Definition: primresource.h:19
The main, catch-all namespace for YARP.
Definition: dirs.h:16