#include <AMReX_FabArrayBase.H>
Public Member Functions | |
| SingleChunkArena (Arena *a_arena, std::size_t a_size) | |
| ~SingleChunkArena () override | |
| SingleChunkArena ()=delete | |
| SingleChunkArena (const SingleChunkArena &rhs)=delete | |
| SingleChunkArena (SingleChunkArena &&rhs)=delete | |
| SingleChunkArena & | operator= (const SingleChunkArena &rhs)=delete |
| SingleChunkArena & | operator= (SingleChunkArena &&rhs)=delete |
| void * | alloc (std::size_t sz) override |
| void | free (void *pt) override |
| A pure virtual function for deleting the arena pointed to by pt. | |
| bool | isDeviceAccessible () const override |
| bool | isHostAccessible () const override |
| bool | isManaged () const override |
| bool | isDevice () const override |
| bool | isPinned () const override |
| void * | data () const noexcept |
Public Member Functions inherited from amrex::Arena | |
| virtual | ~Arena ()=default |
| Arena () noexcept=default | |
| Arena (const Arena &rhs)=delete | |
| Arena (Arena &&rhs)=delete | |
| Arena & | operator= (const Arena &rhs)=delete |
| Arena & | operator= (Arena &&rhs)=delete |
| virtual std::pair< void *, std::size_t > | alloc_in_place (void *, std::size_t, std::size_t szmax) |
| virtual void * | shrink_in_place (void *, std::size_t sz) |
| virtual std::size_t | freeUnused () |
| Free unused memory back to the system. Return value is the amount memory freed. | |
| virtual bool | hasFreeDeviceMemory (std::size_t sz) |
| Does the device have enough free memory for allocating this much memory? For CPU builds, this always return true. This is not a const function because it may attempt to release memory back to the system. | |
| void | registerForProfiling (const std::string &memory_name) |
| Add this Arena to the list of Arenas that are profiled by TinyProfiler. | |
| void | deregisterFromProfiling () |
| Remove this Arena from the list of Arenas that are profiled by TinyProfiler. This is equivalent to destructing and re-constructing the Arena. | |
| virtual bool | isStreamOrderedArena () const |
| Is this GPU stream ordered memory allocator? | |
| const ArenaInfo & | arenaInfo () const |
| Return the ArenaInfo object for querying. | |
| virtual void | ResetMaxUsageCounter () |
Private Attributes | |
| DataAllocator | m_dallocator |
| char * | m_root = nullptr |
| char * | m_free = nullptr |
| std::size_t | m_size = 0 |
Additional Inherited Members | |
Static Public Member Functions inherited from amrex::Arena | |
| static std::size_t | align (std::size_t sz) |
| Given a minimum required arena size of sz bytes, this returns the next largest arena size that will align to align_size bytes. | |
| static void | Initialize (bool minimal) |
| static void | PrintUsage (bool print_max_usage=false) |
| static void | PrintUsageToFiles (std::string const &filename, std::string const &message) |
| static void | Finalize () |
Static Public Attributes inherited from amrex::Arena | |
| static const std::size_t | align_size = 16 |
Protected Member Functions inherited from amrex::Arena | |
| virtual std::size_t | freeUnused_protected () |
| void * | allocate_system (std::size_t nbytes) |
| void | deallocate_system (void *p, std::size_t nbytes) |
Protected Attributes inherited from amrex::Arena | |
| ArenaInfo | arena_info |
| struct amrex::Arena::ArenaProfiler | m_profiler |
| amrex::detail::SingleChunkArena::SingleChunkArena | ( | Arena * | a_arena, |
| std::size_t | a_size | ||
| ) |
|
override |
|
delete |
|
delete |
|
delete |
|
overridevirtual |
Allocate a dynamic memory arena
| sz | size of the memory request |
Implements amrex::Arena.
|
inlinenoexcept |
|
overridevirtual |
A pure virtual function for deleting the arena pointed to by pt.
Implements amrex::Arena.
|
overridevirtual |
Reimplemented from amrex::Arena.
|
overridevirtual |
Reimplemented from amrex::Arena.
|
overridevirtual |
Reimplemented from amrex::Arena.
|
overridevirtual |
Reimplemented from amrex::Arena.
|
overridevirtual |
Reimplemented from amrex::Arena.
|
delete |
|
delete |
|
private |
|
private |
|
private |
|
private |