| 58 | HandleImpl::~HandleImpl() noexcept = default; |
| 59 | |
| 60 | void* HandleImpl::alloc(size_t size) { |
| 61 | auto mem_mgr = megcore_context().mem_mgr; |
| 62 | if (size <= 0) { |
| 63 | return nullptr; |
| 64 | } |
| 65 | if (mem_mgr) { |
| 66 | return mem_mgr->alloc(size); |
| 67 | } else { |
| 68 | void* ptr = nullptr; |
| 69 | cnrt_check(cnrtSetDevice(device_id())); |
| 70 | cnrt_check(cnrtMalloc(&ptr, size)); |
| 71 | return ptr; |
| 72 | } |
| 73 | } |
| 74 | |
| 75 | void HandleImpl::free(void* ptr) { |
| 76 | auto mem_mgr = megcore_context().mem_mgr; |
no outgoing calls
no test coverage detected