/harris-corner-implementations

Different implementations of Harris Corner Detection using OpenMP

Primary LanguageC++

The project presents different implementations of Harris's Corner Detection
Algorithm.

- bench_source/ contains the source files and the python top-level benchmarking
suite from https://github.com/bondhugula/polymage-benchmarks.git ( Ravi Teja
Mullapudi, Vinay Vasista, CSA Indian Institute of Science).

- backups/ contains mostly previous versions of "dyntile" ( dynamic task scheduling
into the static overlapping tiles), and other code backups.

- logs/ contains test logs and small performance measures

- profiling/ ( on branch profiling-records) contains profiles from two tools :
Intel VTune Amplifier XE 2015 and perf

- the parent directory contains the C++ top-level ( not working with all
versions of the algorithm).


--------------------------------------------------------------------------------
##Make :
  #CXX
  Default compiler is gcc, you can use icpc by specifying CXX=icpc

  #Libs
  make [T=libname] libs -> compile the library corresponding to the 
  harris_libname.cpp source file
  By default, all libraries are compiled except aligned version.

  To use the implementations with aligned memory and no overlap, use T=aligned
  both when compiling the library and the test file.

  #Test file
  make [T=library] [CXX=compiler] mtest
  --> Use T=aligned if you have compiled the library using memory alignment
  Other macros you can pass as options to make:
  CHECK_FINAL_RESULT : display the final image
  CHECK_LOADING_DATA : display the initial image, as input data of the pipeline

  make [T=library] [CXX=compiler] [IMAGE=] [NRUNS=pipeline_runs] run
  --> makes mtest, and then runs a test with a default image and 10 runs.

==> Run a test : ./mtest (IMAGE) (NRUNS)

  #Profiling
  - profiling with vtune
    make  [BENCH_RESULT=result_directory] 
          [IMAGE=image/..] 
          [RUNS=no_pipeline_runs] vtune