Skip to content

Add an absolute GPU-memory budget for unified-memory systems #8

Description

@randomvariable

Objective

Add an optional absolute GPU-memory budget in GiB for unified-memory systems, alongside gpu_memory_utilization.

Target hardware

  • NVIDIA DGX Spark / GB10 / SM121 unified memory
  • AMD Strix Halo / gfx1151 unified memory

Motivation

A fraction of device-visible memory is unstable when CPU and GPU share one moving memory pool. A fixed GiB ceiling may make vLLM allocation easier to bound under host-memory pressure; this issue must validate whether it improves stability.

The fork currently has fractional gpu_memory_utilization and absolute kv_cache_memory_bytes, but no whole-engine absolute budget. kv_cache_memory_bytes is not equivalent because it only overrides KV-cache sizing; graph reservations, profiling, validation, and OOM diagnostics still reason from the fractional engine budget.

Reference

Proposed work

  • Add a nullable absolute-GiB field and CLI argument using vLLM config conventions.
  • Define precedence and mutual-exclusion behavior relative to gpu_memory_utilization.
  • Thread the effective budget through memory profiling, graph-capture estimates, KV allocation, usage reporting, validation, and OOM errors.
  • Keep behavior unchanged when the option is unset.
  • Cover CUDA and ROCm integrated-GPU paths without platform-specific branches in generic config code.

Acceptance criteria

  • Config and CLI tests cover unset, valid, invalid, and conflicting values.
  • Profiling and allocation use the same effective byte budget.
  • Error messages report the active absolute budget.
  • On a documented model/config, perturb host free memory across a recorded range and report process RSS, device-visible usage, OOM outcome, and peak overshoot above the requested budget.
  • No throughput or capacity regression when the feature is unset.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ideaOptimization idea candidate for evaluation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions