View Full Version : Any good candidates for converting to a GPU filter?
wonkey_monkey
4th July 2025, 10:24
More out of boredom and procrastination than anything else, but are there any (preferably fairly simple) filters that would be good candidates for moving from CPU to GPU?
I recently managed to bluff my way through enough Vulkan to run shaders on images so if there's a filter that might benefit, let me know and I might see what I can do with it.
You may try to do MAnalyse on GPU. There were some abandoned CUDA version as some example - https://github.com/pinterf/AviSynthCUDAFilters/tree/master/KTGMC . If you skip inter-blocks predictors at current level - the herarchical search is enough easy task to put on shaders. You simply split each level frame to blocks and run same shader-like search function for each block.
After accelerator finish all blocks processing at the current level - run MVs interpolation to next (finer) level and use as predictors for next level search. Also you can try to gather some (other) predictors to atomic block search shader without making dependencies of neibour blocks output results. It may be input predictors for neibour blocks and previous level MVs. Also some temporal predictors may be used - MVs from the same block (and same level and/or different levels) from previous frame(s).
tormento
5th July 2025, 08:24
are there any (preferably fairly simple) filters that would be good candidates for moving from CPU to GPU?
Porting some VapourSynth filters to AVS+ would be my first choice.
DFTTest (https://github.com/AmusementClub/vs-dfttest2) would be a useful and needs a nice speed bump.
A stable maintenance of BM3DCUDA (https://github.com/WolframRhodium/VapourSynth-BM3DCUDA) would be nice to have too.
In general, denoise filters are easily vectorized and fast on GPU.
There are also BilateralGPU (https://github.com/WolframRhodium/VapourSynth-BilateralGPU) and vs-fgrain-cuda (https://github.com/AmusementClub/vs-fgrain-cuda).
You may try to do MAnalyse on GPU
You saw this (https://forums.developer.nvidia.com/t/nvidia-optical-flow-vapoursynth-plugin-motion-compensation/218981/12)?
"You saw this?"
I see there is no support from NVIDIA hardware developers to open source software users in solving issues with 'magic box' designed by NVIDIA. So the only way left is 'help yourself' and make software on open and standard API (like Vulkan for data compute accelerators). And only in this way developers may have some progress in solving issues.
Also that can mean quality of optical flow solutions from NVIDIA is too poor and can not be fixed and it may be abandoned project in 2025 ? Also some demo of motion estimation running on a clean source may only be applicable to proceessing like frame rate conversion (and deinterlacing) but may run too poor for motion estimation at natural noised sources and can not be used as ME engine for denoisers.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.