3#include <AMReX_Config.H>
30 [[nodiscard]]
void*
alloc (std::size_t nbytes)
final;
31 void free (
void*
p)
final;
36 [[nodiscard]]
bool isManaged () const final;
37 [[nodiscard]]
bool isDevice () const final;
38 [[nodiscard]]
bool isPinned () const final;
46#ifdef AMREX_GPU_STREAM_ALLOC_SUPPORT
53 uint64_t m_old_release_threshold;,
54 cuuint64_t m_old_release_threshold;
Memory arena base class and global arena accessors.
#define AMREX_HIP_OR_CUDA(a, b)
Definition AMReX_GpuControl.H:17
while parser_exe_t p
Definition AMReX_Parser_Exe_Body.H:33
PArena & operator=(const PArena &rhs)=delete
void * alloc(std::size_t nbytes) final
Allocate sz bytes from this arena.
Definition AMReX_PArena.cpp:48
PArena(Long release_threshold)
Definition AMReX_PArena.cpp:6
void streamOrderedFree(void *p, gpuStream_t stream) override
Definition AMReX_PArena.cpp:103
~PArena() override
Definition AMReX_PArena.cpp:33
bool isManaged() const final
Check whether it is managed GPU memory.
Definition AMReX_PArena.cpp:157
bool isStreamOrderedArena() const final
Is this CUDA stream ordered memory allocator?
Definition AMReX_PArena.H:42
void free(void *p) final
Free a previously allocated block pointed to by pt.
Definition AMReX_PArena.cpp:75
bool isPinned() const final
Check whether it is pinned host memory.
Definition AMReX_PArena.cpp:191
bool isDeviceAccessible() const final
Definition AMReX_PArena.cpp:123
PArena(PArena &&rhs)=delete
bool isHostAccessible() const final
Definition AMReX_PArena.cpp:140
PArena(const PArena &rhs)=delete
bool isDevice() const final
Check whether it is non-managed GPU device memory.
Definition AMReX_PArena.cpp:174
amrex_long Long
Definition AMReX_INT.H:30
Definition AMReX_Amr.cpp:50
cudaStream_t gpuStream_t
Definition AMReX_GpuControl.H:79