xdumengyu / gpufilter

GPU-Efficient Recursive Filtering and Summed-Area Tables

Home Page:http://w3.impa.br/~diego/projects/NehEtAl11

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

****************************************************************************
**                                                                        **
**  gpufilter - GPU-Efficient Recursive Filtering and Summed-Area Tables  **
**                                                                        **
**                              README File                               **
**                                                                        **
****************************************************************************

    gpufilter is an open software: you can redistribute it and/or
    modify it under the terms of the MIT License as published by the
    Massachusetts Institute of Technology (MIT).

    gpufilter is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the MIT
    License for more details.

    You should have received a copy of the MIT License along with this
    program.  If not, see
    <http://www.opensource.org/licenses/mit-license.php>.

Abstract:

The GPU-Efficient Recursive Filtering and Summed-Area Tables
(gpufilter) project is a set of C for CUDA functions to
compute recursive filters and summed-area tables in GPUs.  This
project presents a new algorithmic framework for parallel evaluation.
It partitions the image into 2D blocks, with a small band of data
buffered along each block perimeter.  A remarkable result is that the
image data is read only twice and written just once, independent of
image size, and thus total memory bandwidth is reduced even compared
to the traditional serial algorithm.

Installation:

    gpufilter code was written in C++ and C for CUDA and tested on
    Linux platform using gcc 4.4.4 of the Ubuntu distribution.  The
    library in lib/libgpufilter.a is built before the examples and
    application (see below).

Dependencies:

    The application recursive using the gpufilter library depend on
    the OpenCV library (http://opencv.willowgarage.com) to read and
    write images.  The gpufilter project is based on CMake
    (http://www.cmake.org) and its documentation is based on doxygen
    (www.doxygen.org).  All the GPU code is written in C for CUDA
    (http://developer.nvidia.com/what-cuda).

Build:

    To run a number of examples and applications in this project, do:

    <in project root directory>
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make

    After that, the binaries are created in ../bin and the main
    library (libgpufilter.a) is created in ../lib.  To run the
    examples execute in any order:

    $ ../bin/ex1
    $ ../bin/ex2
    $ ../bin/ex3
    $ ../bin/ex4
    <etc.>

    There is also one application to use in ../bin:

    $ ../bin/recursive

    Additionally the documentation of the gpufilter project in ../doc
    can be built by:

    $ cd ..
    <back in project root directory>
    $ doxygen

About

GPU-Efficient Recursive Filtering and Summed-Area Tables

http://w3.impa.br/~diego/projects/NehEtAl11

License:MIT License


Languages

Language:C++ 66.6%Language:Cuda 32.7%Language:CMake 0.7%