SkePU  1.2
 All Classes Namespaces Files Functions Variables Enumerations Friends Macros Groups Pages
SkePU Documentation

General Information

This is a template library with all objects being either templated or in some cases inlined. Therefore there is no need to link against any precompile libraries, just simply add the library to the compilers include path and include the header files of choice.

Basic Structure

SkePU consists of a few main classes that constitutes its functionality and interface.

Apart from these, SkePU also uses a few other internally as helpers.

Compilation and Preprocessor Symbols.

Since SkePU is a multi-backend library, it shields parts of the code with the help of preprocessor directives. Entities whose name ends in _CL are only included in the compilation if SKEPU_OPENCL is defined for the preprocessor. In a similar way entities ending in _CU are only included if SKEPU_CUDA is defined and _OMP for SKEPU_OPENMP. This way SkePU can be compiled even though you are missing some of the backends. CPU backend is always compiled.

New Features.

In version 1.2, support for streaming in CUDA execution of skeletons has been added. The MultiVector container has been added to support passing an arbitrary number of operands to (MapArray) skeleton calls. Several new SkePU example applications have been added, including examples for using MultiStream and MultiVector, and a Median Filtering example. A number of minor issues in memory management have been fixed.

Please see the 'CHANGES' file and examples/tests provided with the source code for more description.