Template Class SimpleAllocator¶
Defined in File multiarch_allocator.hpp
Class Documentation¶
-
template<AllocArch
Arch
, typenameLockingPolicy
= Spinlock>
classripple
::
SimpleAllocator
¶ Defines a simple allocator for either the cpu or the gpu.
- Template Parameters
Arch
: The architecture to allocate for.LockingPolicy
: The locking policy for the allocator.
Public Functions
-
template<AllocArch
ArchType
= Arch, std::enable_if_t<ArchType == AllocArch::cpu, int> = 0>SimpleAllocator
() noexcept¶ Constructor to set the device id for the allocator.
- Parameters
dev_id
: The id of the device to allocate for.
-
template<AllocArch
ArchType
= Arch, std::enable_if_t<ArchType == AllocArch::gpu, int> = 0>SimpleAllocator
(size_t dev_id) noexcept¶ Constructor to set the device id for the allocator.
- Parameters
dev_id
: The id of the device to allocate for.
-
auto
reserve
(size_t bytes) -> void¶ Reserves The given number of bytes for the allocator.
- Parameters
bytes
: The number of bytes to reserve.
-
auto
alloc
(size_t size, size_t alignment) -> void*¶ Allocates the given amount of memory.
- Return
A pointer to the new memory.
- Parameters
size
: The number of bytes to allocate.
-
auto
free
(void *ptr) -> void¶ Frees the memory pointed to by the pointer.
This does nothing as of right now, this allocator can only reset.
- Parameters
ptr
: The pointer to free.
-
auto
reset
() noexcept -> void¶ Resets the allocator.