Entropic 2.11.1
Local-first agentic inference engine
Loading...
Searching...
No Matches
device_memory.cpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
8#include "device_memory.h"
9
11
12#include <ggml-backend.h>
13
14namespace {
15auto logger = entropic::log::get("inference.device_memory");
16} // namespace
17
18namespace entropic {
19
33 ggml_backend_dev_t device =
34 ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_GPU);
35 if (device == nullptr) {
36 logger->info("[residency] no GPU device registered — "
37 "VRAM budget unknown, admission gate disabled");
38 return 0;
39 }
40 size_t free_bytes = 0;
41 size_t total_bytes = 0;
42 ggml_backend_dev_memory(device, &free_bytes, &total_bytes);
43 logger->info("[residency] device '{}' reports {} MiB free of {} MiB total",
44 ggml_backend_dev_name(device),
45 free_bytes / (1024 * 1024), total_bytes / (1024 * 1024));
46 return static_cast<uint64_t>(free_bytes);
47}
48
49} // namespace entropic
gh#142: ask the GPU how much VRAM is actually free.
spdlog initialization and logger access.
ENTROPIC_EXPORT std::shared_ptr< spdlog::logger > get(const std::string &name)
Get or create a named logger.
Definition logging.cpp:211
Activate model on GPU (WARM → ACTIVE).
uint64_t query_device_free_vram_bytes()
Free VRAM on the first GPU device ggml reports, in bytes.