Skip to content

A photo-editing program developed in C language. The program is able to apply a blur filter onto an image using a similar approach to Gaussian Blur in Photoshop. The user is able to specify the brush size and how much blurriness they want to achieve with the program.

Notifications You must be signed in to change notification settings

JIMOHMA/HighRes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HighRes

ORIGINAL IMAGE fox

EDITED IMAGE EDITED

HOW TO RUN CODE ON A LINUX SERVER OR COMMAND LINE GIVEN YOU HAVE ENOUGH GPU RESOURCES How To Run

SUMMARY OF RUN TIME WITH INCREASING RADIUS BRUSHES

gpu vs opemmp vs cpu

  1. Sequential Execution Plot

sequential

  1. GPU (Using CUDA) vs OpenMP

GPU

ANALYSIS OF RESULT

`The longest time taken for the execution of HighRes was about 9 seconds for a radius brush of 40 with GPU programming. This is a significant decrease in time compared to the sequential execution which took almost 26 minutes for the same radius brush of 40. It is noticeable here that the GPU parallelization technique offers a great improvement to running programs that might require lots of memory and CPU time. One thing to note however was the execution time at a radius brush of 0; the execution time for the sequential program was a tiny bit faster than that of the GPU program, however, this is due to the fact that lots of blocks and threads (non-useful due to brush size of 0) were created for the GPU execution whereas the sequential execution just ran the skeleton program. But we see a better improvement when the brush size increases slightly to 10. The GPU execution time was a lot faster than the sequential execution and likewise for a radial brush of 20. The openMP execution is still better with its timing relative to the sequential execution but the GPU execution showed the fastest speed among all three different techniques. In conclusion, GPU execution > OpenMP execution > sequential execution in terms of the time they take to run programs that require lots of CPU time.

About

A photo-editing program developed in C language. The program is able to apply a blur filter onto an image using a similar approach to Gaussian Blur in Photoshop. The user is able to specify the brush size and how much blurriness they want to achieve with the program.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published