// the find
nihui/realsr-ncnn-vulkan
RealSR super resolution implemented with ncnn library
A Vulkan port of RealSR, the NTIRE 2020 real-world super-resolution winner, built on Tencent's ncnn inference framework. It is a command-line tool for upscaling photos and screenshots on whatever GPU you have, including Intel and AMD, without installing CUDA or a Python stack.
- The release binaries are self-contained. Models are included, there is no CUDA or Caffe runtime, and there are builds for Windows, Linux and macOS. For a vendor-neutral upscaler, that portability is the main reason to use it.
- Throughput is tunable in ways most tools skip. -j sets separate thread counts for decode, GPU inference and encode, -t trades GPU memory against speed through tile size, and comma-separated -g values split work across several GPUs.
- The GPU path is small. It is four GLSL compute shaders (pre- and post-processing, each with a TTA variant) on top of ncnn, and image I/O is split per platform across stb, libwebp and WIC, so the whole thing is readable in one sitting.
- The last push was March 2023 and the README still cites the 2020 paper. Treat this as a finished tool, not a maintained one.
- Scale is fixed at 4x. The usage text lists 4 as the only option and both bundled models are x4. The only comparison in the README is one photo against ImageMagick Lanczos and srmd, so there are no quality numbers to judge it by.
- The README's first answer to any crash is to upgrade your GPU driver. That is the usual Vulkan cross-vendor story, and it means the failure modes are driver-shaped and not something the tool itself can fix.
- Building from source needs the Vulkan SDK and a clone with submodules. ncnn and libwebp are vendored as submodules, so a plain git clone builds nothing. There are no library packaging or bindings in the repo, so embedding it in another program means wrapping the binary.