Finally the winners of the NVIDIA’s CUDA Challenge Europe have been announced and I’m proud to be chosen as the first prize winner (official announcement, German version, Press Release of University). So according to the official announcement I’m “the most innovative graphics processing unit (GPU) programmer” :)
The plugin I wrote for GIMP applies the multiresolution filter I investigated in my diploma thesis to grayscale images. The filter smooths an image while it preserves the details of interest. The filter was implemented using CUDA and runs on the GPU. Compared to a fully parallelized CPU version on a Xeon Quad Core a speedup of 25-35 can be achieved on a graphics card like a GeForce 8800 GTS. For normal CPUs the speedup is even higher. As seen in the screenshot below the size of the filter can be adjusted (geometric spread) and also a threshold value, which determines up to which level details of the images get smoothed (photometric spread):
The source of the plugin can be downloaded here and requires at least CUDA 2.0, the CUDA SDK, as well as gimp and its development libraries. Since kernel templates are currently not supported anymore in CUDA 2.0 I changed the code and use function overloading now, so don’t blame me for the bloated code ;) Tomorrow I will also upload the plugin to the CUDA Zone and to my homepage at work.
