ARCHIVE 01 · AI & SYSTEMS COMPUTING
ScaleUp — Local Batch AI Image Upscaler
ScaleUp is a self-hosted, privacy-first local image enhancement and batch super-resolution application. Built for Linux desktop environments (Arch Linux + Hyprland), it harnesses NCNN-Vulkan C++ compute to execute hardware-accelerated deep learning models directly on integrated and discrete AMD GPUs via Mesa's RADV driver. By bypassing heavy PyTorch runtimes, ScaleUp operates with a low memory footprint (≤ 120 MB API process RSS, dynamic tile clamping keeping GPU memory ≤ 600 MB UMA), avoiding VRAM exhaustion and session lockups.
Problem
Cloud image upscaling compromises privacy and incurs API fees, while PyTorch desktop tools cause high VRAM usage and desktop session crashes on Linux.
Built
Self-hosted local super-resolution tool using C++ NCNN-Vulkan compute and dynamic tile clamping on Mesa RADV, paired with FastAPI and React.
Outcome
Low memory footprint (≤ 120 MB API process RSS, dynamic tile clamping keeping GPU memory ≤ 600 MB UMA) tested for Linux desktop stability under Wayland/Hyprland.
Key features
- NCNN-Vulkan C++ inference engine for hardware-accelerated deep learning super-resolution
- Dynamic tile clamping maintaining GPU UMA memory allocation ≤ 600 MB to prevent VRAM exhaustion
- Lean FastAPI asynchronous backend operating at ≤ 120 MB process RSS, eliminating PyTorch overhead
- High-throughput batch processing queue with real-time progress telemetry and image preview
- Tested on Arch Linux + Hyprland desktop environments for session stability during batch compute
Architecture
- Compute Engine: NCNN C++ compute with Vulkan 1.4 shaders targeting Mesa RADV drivers
- Backend: FastAPI asynchronous service managing batch job queues and image I/O
- Frontend: React + Vite modern interface with batch configuration controls
- Containerization: Docker container setup with Vulkan ICD hardware passthrough
Vulkan 1.4 · FastAPI · React · Vite · Docker · C++ NCNN · RADV