Utils¶
Bits¶
-
namespace
paddle
¶ Functions
- template <class T>
-
constexpr std::enable_if<(std::is_integral<T>::value && std::is_unsigned<T>::value && sizeof(T) <= sizeof(unsigned int)), unsigned int>::type
findLastSet
(T x)¶ From Facebook folly: https://github.com/facebook/folly/blob/master/folly/Bits.h
findLastSet: return the 1-based index of the highest bit set
for x > 0:
\[ findLastSet(x) = 1 + \floor*{\log_{2}x} \]
- template <class T>
-
constexpr std::enable_if<(std::is_integral<T>::value && std::is_unsigned<T>::value && sizeof(T) > sizeof(unsigned int) && sizeof(T) <= sizeof(unsigned long)), unsigned int>::type
findLastSet
(T x)¶
Memory Handle¶
-
namespace
paddle
¶ Typedefs
-
typedef std::shared_ptr<MemoryHandle>
MemoryHandlePtr
¶
-
typedef std::shared_ptr<CpuMemoryHandle>
CpuMemHandlePtr
¶
-
typedef std::shared_ptr<GpuMemoryHandle>
GpuMemHandlePtr
¶
-
class
CpuMemoryHandle
¶ - #include <MemoryHandle.h>
Wrapper class for raw cpu memory handle.
The raw handle will be released at destructor
Inherits from paddle::MemoryHandle
-
class
GpuMemoryHandle
¶ - #include <MemoryHandle.h>
Wrapper class for raw gpu memory handle.
The raw handle will be released at destructor
Inherits from paddle::MemoryHandle
-
class
MemoryHandle
¶ Subclassed by paddle::CpuMemoryHandle, paddle::GpuMemoryHandle
-
typedef std::shared_ptr<MemoryHandle>
-
namespace
paddle
¶ -
class
Allocator
¶ - #include <Allocator.h>
Allocator base class.
This is the base class of all Allocator class.
Subclassed by paddle::CpuAllocator, paddle::CudaHostAllocator, paddle::GpuAllocator
-
class
CpuAllocator
¶ - #include <Allocator.h>
CPU allocator implementation.
Inherits from paddle::Allocator
-
class
CudaHostAllocator
¶ - #include <Allocator.h>
CPU pinned memory allocator implementation.
Inherits from paddle::Allocator
-
class
GpuAllocator
¶ - #include <Allocator.h>
GPU allocator implementation.
Inherits from paddle::Allocator
-
class
-
namespace
paddle
¶ -
class
PoolAllocator
¶ - #include <PoolAllocator.h>
Memory pool allocator implementation.
Public Functions
-
PoolAllocator
(Allocator *allocator, size_t sizeLimit = 0, const std::string &name = "pool")¶ constructor.
- Parameters
allocator
-a Allocator object.
sizeLimit
-The maximum size memory can be managed, if sizeLimit == 0, the pool allocator is a simple wrapper of allocator.
-
~PoolAllocator
()¶ destructor.
-
void *
alloc
(size_t size)¶
-
void
free
(void *ptr, size_t size)¶
-
std::string
getName
()¶
-
-
class
-
namespace
paddle
¶ -
class
StorageEngine
¶ - #include <Storage.h>
Storage manager for multiple devices.
Public Functions
-
PoolAllocator *
getGpuAllocator
(int deviceId)¶ - Return
- return one gpu allocator by deviceId
-
PoolAllocator *
getCpuAllocator
()¶ - Return
- return cpu allocator
Public Static Functions
-
StorageEngine *
singleton
()¶ - Return
- Storage singleton
-
PoolAllocator *
-
class