MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / DevMemAllocImpl

Method DevMemAllocImpl

src/core/impl/comp_node/mem_alloc/impl.cpp:449–467  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

447}
448
449DevMemAllocImpl::DevMemAllocImpl(
450 int device, size_t reserve_size,
451 const std::shared_ptr<mem_alloc::RawAllocator>& raw_allocator,
452 const std::shared_ptr<mem_alloc::DeviceRuntimePolicy>& runtime_policy)
453 : m_device(device),
454 m_raw_allocator(raw_allocator),
455 m_runtime_policy(runtime_policy) {
456 if (reserve_size) {
457 auto ptr = m_raw_allocator->alloc(reserve_size);
458 mgb_throw_if(
459 !ptr, MemAllocError, "failed to reserve memory for %zu bytes",
460 reserve_size);
461 insert_free_unsafe(
462 {MemAddr{true, reinterpret_cast<size_t>(ptr)}, reserve_size});
463
464 m_alloc_from_raw[ptr] = reserve_size;
465 m_tot_allocated_from_raw += reserve_size;
466 }
467}
468
469void DevMemAllocImpl::print_memory_state() {
470 MemAllocImplHelper::print_memory_state();

Callers

nothing calls this directly

Calls 1

allocMethod · 0.45

Tested by

no test coverage detected