41 const char*
what()
const noexcept final;
53 size_t maxBytes = std::numeric_limits<size_t>::max());
64#if !defined(__HIPCC__) && !defined(__CUDACC__)
70 void* do_allocate(
size_t bytes,
size_t alignment)
final;
71 void do_deallocate(
void* p,
size_t bytes,
size_t alignment)
final;
74 std::atomic<size_t> mMaxMemory{std::numeric_limits<size_t>::max()};
75 std::atomic<size_t> mCountThrow{0};
76 std::atomic<size_t> mUsedMemory{0};
77 std::atomic<size_t> mPeakUsedMemory{0};
78 std::atomic<size_t> mPeakBaselineMemory{0};
79 std::unique_ptr<std::pmr::memory_resource> mOwnedUpstream;
82#ifdef BOUNDED_MR_STATS
84 std::atomic<size_t> peak{0};
85 std::atomic<size_t> live{0};
86 std::atomic<size_t> nAlloc{0};
87 std::atomic<size_t> nFree{0};
88 std::atomic<size_t> totalAlloc{0};
89 std::atomic<size_t> totalFreed{0};
90 std::atomic<size_t> maxAlign{0};
91 std::atomic<size_t> upstreamFailures{0};