Skip to content
forked from jlclemon/MEVBench

Parallelization of Face Detection in Software (project for graduate course in parallel programming), using MEVBench

License

Notifications You must be signed in to change notification settings

miwong/MEVBench

 
 

Repository files navigation

Parallelization of Face Detection in Software

This is the code for a project in ECE1747 Parallel Programming.  Various parallelization and optimization techniques were employed to improve performance for the Face Detection benchmark.  These changes are meant to be used with the corresponding changes in the OpenCV repository.

Although any face detection application could have been used as the base of our optimizations, we opted for MEVBench since it aims to provide a benchmark for computer vision applications on mobile devices.  Our optimizations allow for multi-threaded face detection, which is a useful benchmark when comparing performance of different mobile devices.  In addition, computer vision applications such as face detection are becoming increasingly common on mobile devices such as smartphones.  It is our hope that some of the optimizations implemented here can be ported to a mobile device, where the performance speedups are most useful.

Implemented optimizations include:
- Pipelining
- Loop parallellization (synchronized and scheduled using a ticket-like scheme)
- Cache tiling

Report (containing speedup results and implementation details) can be found at:
http://individual.utoronto.ca/miwong/files/FaceDetectionParallelization.pdf

Details on MEVBench can be found at:
http://www.eecs.umich.edu/mevbench/

About

Parallelization of Face Detection in Software (project for graduate course in parallel programming), using MEVBench

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 79.5%
  • C 12.3%
  • Shell 5.4%
  • Assembly 2.8%