SkePU
1.2
|
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.
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.
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.
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.