enum Residency Fields
RAM | | Host memory, walked by host threads. |
|---|---|---|
VRAM | | Device memory, walked by device streams. |
NVME | | NVMe drives, read through host submission rings into host memory. |
Where the payload lives is the constructor’s name, as in the C lifecycle verbs, so a residency an index lacks has no constructor to call. Each takes only the placement its own hardware has, one shard per memory domain, device or path, and an empty list derives the placement: every NUMA node, one free device, or wherever the manifest points.
DenseIndex inRam = DenseIndex.initRam(options, new int[] {0, 1}); // one graph per socket
DenseIndex inVram = DenseIndex.initVram(options, new int[] {0, 1, 2, 3}); // sharded, never replicated
DenseIndex copied = DenseIndex.loadRam("index.safegraphs", pool, new int[0], null, 0);
DenseIndex uploaded = DenseIndex.loadVram("index.safegraphs", gpu, new int[] {0}, 0);
DenseIndex mapped = DenseIndex.viewRam("index.safegraphs");
DenseIndex served = DenseIndex.viewNvme("index.safegraphs.json", disks, new String[] {"/mnt/nvme0"}, null);initRam and initVram create an empty, mutable index, and the load family copies a checkpoint in, each taking the executor its read fans out over, or null for the calling thread. viewRam serves a checkpoint in place through a memory mapping, and viewNvme from NVMe drives.
A served handle is read-only, so every mutating verb on it fails with Status.READ_ONLY.
Until NVMe checkpoints carry keys, viewNvme answers Status.UNSUPPORTED.
ResidencyWhere an executor computes, and so where the arenas it makes keep their memory: host pages for RAM and NVMe, device memory for VRAM.enum Residency RAM | | Host memory, walked by host threads. |
|---|---|---|
VRAM | | Device memory, walked by device streams. |
NVME | | NVMe drives, read through host submission rings into host memory. |