Open main menu

CDOT Wiki β

Team Lion

Revision as of 11:05, 5 April 2016 by Byungho Kim (talk | contribs) (Image Processing Performance Using Parallel Programming)

Image Processing Performance Using Parallel Programming

This assignment introduces simple image processing using MPI parallel programming. This assignment also explains about performance comparison from 1 core to 16 cores.


Team Lion Member

Byungho Kim


Basic Concept of Image Processing

  • Convolution between image and filter(kernel)
  • Each processing of pixel independent from another pixels
  • Can be used for Edge finding, Blur and image enhancement.

 


Convolution

 

 


Edge Handling

All pixels in edges need special treatment.

  • Extend
  • Tile
  • Crop

 


False Sharing Consideration

  • Threading each pixel – The worst
  • Threading each row – Good
  • Threading multiple rows band – The best


Test Environment Consideration

  • How to test performance more than 4 cores computer.


Azure VM Environment

  • Cloud service from Microsoft
  • You can rent many kind of Virtual Machines.
  • Access remotely using Windows Remote Desktop Connection.

 

 


Test Result

 

 

 


Conclusion

  • Performance depends on number of cores.
  • OpenMP is easy to use. Much easier than normal(POSIX) Thread method.


Source Code