Xmipp  v3.23.11-Nereus
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
HW Class Referenceabstract

#include <hw.h>

Inheritance diagram for HW:
Inheritance graph
[legend]

Public Member Functions

 HW (unsigned parallelUnits)
 
virtual ~HW ()
 
unsigned noOfParallUnits () const
 
virtual void synch () const =0
 
virtual void synchAll () const =0
 
virtual void set ()
 
virtual void updateMemoryInfo ()=0
 
virtual size_t lastFreeBytes () const
 
virtual size_t totalBytes () const
 
virtual size_t lastUsedBytes () const
 
virtual std::string getUUID () const
 
virtual void lockMemory (const void *h_mem, size_t bytes)=0
 
virtual void unlockMemory (const void *h_mem)=0
 
virtual bool isMemoryLocked (const void *h_mem)=0
 

Protected Member Functions

virtual void obtainUUID ()=0
 

Protected Attributes

unsigned m_parallUnits
 
size_t m_totalBytes
 
size_t m_lastFreeBytes
 
std::string m_uuid
 

Detailed Description

Definition at line 35 of file hw.h.

Constructor & Destructor Documentation

◆ HW()

HW::HW ( unsigned  parallelUnits)
inlineexplicit

Definition at line 37 of file hw.h.

37  :
38  m_parallUnits(parallelUnits),
39  m_lastFreeBytes(0),
40  m_totalBytes(0) {}
unsigned m_parallUnits
Definition: hw.h:79
size_t m_totalBytes
Definition: hw.h:80
size_t m_lastFreeBytes
Definition: hw.h:81

◆ ~HW()

virtual HW::~HW ( )
inlinevirtual

Definition at line 42 of file hw.h.

42 {};

Member Function Documentation

◆ getUUID()

virtual std::string HW::getUUID ( ) const
inlinevirtual

Reimplemented in GPU.

Definition at line 69 of file hw.h.

69  {
70  return m_uuid;
71  }
std::string m_uuid
Definition: hw.h:82

◆ isMemoryLocked()

virtual bool HW::isMemoryLocked ( const void *  h_mem)
pure virtual

Implemented in GPU, and CPU.

◆ lastFreeBytes()

virtual size_t HW::lastFreeBytes ( ) const
inlinevirtual

Reimplemented in GPU.

Definition at line 57 of file hw.h.

57  {
58  return m_lastFreeBytes;
59  }
size_t m_lastFreeBytes
Definition: hw.h:81

◆ lastUsedBytes()

virtual size_t HW::lastUsedBytes ( ) const
inlinevirtual

Reimplemented in GPU.

Definition at line 65 of file hw.h.

65  {
67  }
size_t m_totalBytes
Definition: hw.h:80
size_t m_lastFreeBytes
Definition: hw.h:81

◆ lockMemory()

virtual void HW::lockMemory ( const void *  h_mem,
size_t  bytes 
)
pure virtual

Implemented in GPU, and CPU.

◆ noOfParallUnits()

unsigned HW::noOfParallUnits ( ) const
inline

Definition at line 44 of file hw.h.

44  {
45  return m_parallUnits;
46  }
unsigned m_parallUnits
Definition: hw.h:79

◆ obtainUUID()

virtual void HW::obtainUUID ( )
protectedpure virtual

Implemented in CPU.

◆ set()

virtual void HW::set ( )
inlinevirtual

Reimplemented in GPU.

Definition at line 50 of file hw.h.

50  {
52  obtainUUID();
53  }
virtual void obtainUUID()=0
virtual void updateMemoryInfo()=0

◆ synch()

virtual void HW::synch ( ) const
pure virtual

Implemented in GPU, and CPU.

◆ synchAll()

virtual void HW::synchAll ( ) const
pure virtual

Implemented in GPU, and CPU.

◆ totalBytes()

virtual size_t HW::totalBytes ( ) const
inlinevirtual

Reimplemented in GPU.

Definition at line 61 of file hw.h.

61  {
62  return m_totalBytes;
63  }
size_t m_totalBytes
Definition: hw.h:80

◆ unlockMemory()

virtual void HW::unlockMemory ( const void *  h_mem)
pure virtual

Implemented in GPU, and CPU.

◆ updateMemoryInfo()

virtual void HW::updateMemoryInfo ( )
pure virtual

Implemented in GPU, and CPU.

Member Data Documentation

◆ m_lastFreeBytes

size_t HW::m_lastFreeBytes
protected

Definition at line 81 of file hw.h.

◆ m_parallUnits

unsigned HW::m_parallUnits
protected

Definition at line 79 of file hw.h.

◆ m_totalBytes

size_t HW::m_totalBytes
protected

Definition at line 80 of file hw.h.

◆ m_uuid

std::string HW::m_uuid
protected

Definition at line 82 of file hw.h.


The documentation for this class was generated from the following file: