# Maintenance Policy

pocl development is currently managed mostly by researchers and research assistants of the Customized Parallel Computing group of Tampere University of Technology. We provide general maintenance for pocl on the side of our research projects (which on the other hand might use and/or extend it) because we consider it an important project that helps the “heterogeneous parallel programming cause”. However, doing maintenance “on the side” unfortunately means that there is limited time to respond to external support requests due to other activities.

To make pocl maintenance feasible within our limited time, we have set the following policy regarding releases: External projects using OpenCL that have a test suite included in “regularly tested suites” (we later call ‘tier-1’ test suites) will be kept regression free, but for the rest we cannot make any promises.

Tier-1 tests will be executed successfully before the lead developer pushes new pull requests (PR) to the master branch, and some of them are additionally executed with multiple continuous integration (buildbot) servers on different platforms. Active developers are also assumed to run them locally before submitting PRs. Thus, regressions on these suites should be detected early. The required testsuites can be enabled at buildtime with `-DENABLE_TESTSUITES=tier1` cmake option.

Currently (2017-03-16) the following are included in the tier-1 test suites:

- The standard test suite of pocl.
- AMD SDK 3.0 test suite
- PyOpenCL test suite
- piglit test suite
- conformance_suite_micro test suite
- HSA test suite (uses the LLVM 3.7 with an HSAIL backend and targets an AMD Kaveri GPU)
- TCE short smoke test suite (against the latest TCE open source release)

Please note that not neccessarily all the tests currently pass in the suites, we just ensure the currently passing ones do not regress with new commits (expected failing ones are marked as XFAILs or skipped). The primary test platform is x86-64.

The latest LLVM release is given priority when testing, and we cannot guarantee older LLVM versions keep working over pocl releases due to the constantly changing library API.

If you would like get your favourite OpenCL-using project’s test suite included in the tier-1 suite, please send a pull request that adds the suite under the ‘examples’ dir and the main CMakeLists.txt along with instructions (a README will do) on how to setup it so it is included in the ‘make check’ run. Please make the test suite short enough to be suitable for frequent “smoke testing” (under 5 minutes per typical run preferred). If your favourite project is already under ‘example’, but not listed as a tier-1 test suite, please update its status so that ‘make check’ passes with the current HEAD of pocl and let us know, and we do our best to add it.

Naturally this policy/support promise concerns only the lead developers (the CPC group). Any community involvement to provide a wider support/maintance level will be heartily welcomed.