Evaluation of different filter operation and different image types (image, cube, buffer) in OpenCL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ImagePyramidEvaluationOpenCL
.gitattributes
.gitignore
LICENSE
PerformanceComparison.nb
README.md

README.md

ImagePyramidFilterEvaluationOpenCL

Evaluation of different filter operations and different storage types (image, cube, buffer, image buffer) in OpenCL. This is the repository for two corresponding blog articles:

Build instruction

  • Install Visual Studio 2015
  • Install OpenCV (e.g. like described in this article)
  • Install the Intel SDK for OpenCL
  • Build and run the solution
    • Start point is the file main.cpp where you can switch between the different image types and set other test settings
    • Use test(pyramid) to test if the implementation works without running any performance tests
    • Use testBatch(pyramid); to start the performance tests

Filter generation

The OpenCL kernel code which implements the filters is generated via a Perl script. Running this script (run generate_kernels.pl in the kernels folder) uses the .base files as basis and generates all different filter sizes as well as single, double and predefined filters. The generated files are included in the filter_images.cl file (when using the image2d_t data type) which is passed to the OpenCL runtime.