LocalLLaMA가 끌어올린 GreenBoost, NVIDIA GPU memory를 RAM과 NVMe로 확장하는 Linux driver

r/LocalLLaMA에서 높은 반응을 얻은 GreenBoost 이야기는 local LLM 사용자들이 가장 자주 부딪히는 현실적 제약을 정면으로 건드린다. 크롤링 시점 기준으로 이 Reddit thread는 141 upvotes와 38 comments를 기록했다. 기반이 된 Phoronix 기사는 2026년 3월 14일 게시됐고, 핵심은 간단하다. GPU의 dedicated vRAM이 부족해 큰 model을 못 올리는 상황에서, Linux kernel module과 CUDA shim을 이용해 system RAM과 NVMe를 추가 memory tier처럼 활용하겠다는 것이다.

Phoronix에 따르면 GreenBoost는 NVIDIA의 공식 Linux driver를 대체하지 않는다. 대신 별도 kernel module인 greenboost.ko와 user-space shim library를 조합해 CUDA software가 더 넓은 memory pool을 투명하게 쓰도록 유도한다. kernel module은 buddy allocator를 통해 pinned DDR4 page를 잡고 이를 DMA-BUF file descriptor로 내보낸다. 그러면 GPU는 이 page를 CUDA external memory로 import할 수 있다. 기사에는 PCIe 4.0 x16 link를 통해 실제 data movement가 처리되며, sysfs와 watchdog thread로 RAM과 NVMe pressure도 감시한다고 설명돼 있다.

LLM community가 주목한 기술 포인트

작은 allocation은 그대로 통과시키고, KV cache나 넘치는 model weight처럼 큰 allocation만 별도 경로로 보내는 CUDA shim 구조다.

shim은 LD_PRELOAD 방식으로 cudaMalloc 계열과 일부 symbol lookup을 가로채, Ollama 같은 software가 더 큰 memory를 인식하도록 돕는다.

개발자가 예로 든 목표는 GeForce RTX 5070 12GB에서 31.8GB 규모 model을 실행하는 것이었다.

이 아이디어가 흥미로운 이유는, local inference에서 흔한 절충을 다른 방향으로 뒤집기 때문이다. 기존에는 layer offloading이나 더 작은 quantization으로 가야 했고, 그 대가로 token performance 저하나 quality 손실을 감수해야 했다. GreenBoost는 storage hierarchy를 더 적극적으로 활용해, 적어도 일부 workload에서는 그 타협을 완화해 보려는 시도다. 물론 실험적 코드이고 bandwidth, latency, workload 특성에 따라 실제 효용은 크게 달라질 수 있다. 그럼에도 LocalLLaMA가 이 소식을 빠르게 끌어올린 이유는 분명하다. consumer GPU의 memory ceiling은 오늘의 local LLM ecosystem에서 가장 큰 병목 중 하나이기 때문이다.

Source: Phoronix · Code: GitLab · Community discussion: r/LocalLLaMA