GrPPI
0.2
Generic and Reusable Parallel Pattern Interface
|
GrPPI is a header-only library. Consequently no build process is required for the library itself.
However, GrPPI includes CMake scripts for supporting the following actions:
To setup the build scripts we recommend that you create an out-of-source directory under the GrPPI root directory:
Then, you may generate the scripts by just doing:
Important Note: Be sure to invoke make once before modifying you CMakeCache.txt
file. This will allow CMake to compile and setup dependent libraries (e.g. GoogleTest).
To build the unit tests, you need to set configuration variable GRPPI_UNIT_TEST_ENABLE
to ON
. You can do so be using the CMake GUI or by typing:
Then, you can build the unit tests by typing:
You may want to disable specific back ends. GrPPI offers specific variables to control this issue:
GRPPI_OMP_ENABLE
: Enable/disable OpenMP back end.GRPPI_TBB_ENABLE
: Enable/disable TBB back end.To run all the unit tests you can do:
or alternatively:
To perform a coverage analysis type:
The coverage HTML reports are generated under unit_tests/mycov/index.html
.
Documentation generation is disabled by default. However, if you wish to build the documentation yourself, you may enable the option:
This will generate a doc directory under your build tree with the generated documentation.
Note: You will need a doxygen in your system to make use of this option. You will also need graphviz.
GrPPI includes a number of example programs under directory samples. To build all samples you may use:
If you want to install GrPPI in your system you can select to install in the default directory:
This will install the header files under /usr/local/include/grppi
You can specify a different install directory to CMake:
For using GrPPI you need a C++14 compliant compiler.
GrPPI has been tested with the following compilers:
If you want to use a different compiler than the default one, you can specify it by doing:
Miminal support of GrPPI requires the following libraries.
In order to use the Intel Threading Building Blocks (TBB) back-end you need to install the following library:
For unit testing GrPPI uses the GoogleTest framework. However you do not need to install it yourself. The framework is locally downloaded and compiled in your build tree to ensure that the right version is used. For more details see section (building).
If you want to run unit tests and perform coverage analysis you will need: