Skip to content
Base code and optimized code for the benchmarks used in the PolyMage paper published at ASPLOS 2015
C++ Python Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

=================== PolyMage Benchmarks


  1. Python 2.x

  2. OpenCV 2.4.7 or higher (with QT/GTK support, video codec support for the video demo), Python bindings for OpenCV. On a Fedora Linux system, these can be installed with

$ sudo yum -y install opencv python-opencv

  1. g++ (GNU C++ compiler) version 4.8 or higher or Intel C/C++ compiler (icpc) 12.0 or higher (recommended: icpc 14.0 or higher)

How to run the benchmarks

All seven benchmarks are in the apps/ dir. For any of the benchmarks, say camera_pipe/, refers to the fully optimized Polymage code. refers to the base code (naive C code parallelized and vectorized) and corresponds to PolyMage (base+vec) from the paper.

Set the enviroment variable GOMP_CPU_AFFINITY=0-{NUM_THREADS} for pinning threads to reduce variance between runs

$ make camera_pipe

will build and run the optimized PolyMage code

$ make camera_pipe_naive

will build and run the base code.

$ make graph

will generate a PNG file with the pipeline diagram.

For the video demos, please see video_demo/README.txt

You can’t perform that action at this time.