Skip to content
Branch: master
Find file History
pjaaskel Add a minimally intrusive and easy-to-use kernel execution time profiler
Setting POCL_TRACING=cq collects kernel execution times by force
enabling the command queue profiling feature, and dumps collected stats
atexit(). The purpose of this feature is to enable implementation of
minimally intrusive profile collection; the profile data collector can
choose the occasions when it gathers the time stamp data from the events.
The impact to the observed execution profile is minimized by avoiding writing
any logs, copying objects or such while collecting the data during

It relies on the standard event timestamps to enable devices update them
as (and when) they see fit during the execution.

The drawback is accumulation of cl_object garbage, which should be taken
in account in the data collection interval; the collector should release the
events and the extra data objects they hold often enough to avoid
memory consumption to become a problem.

The current version does not perform garbage collection, but assumes
the alive OpenCL objects that are kept until the exit is a non-problem,
which is clearly the case with most of the OpenCL programs which are rather
simple; not long running, nor launch a lot of commands over their lifetime.

The default profile data collector counts only kernel commands at the moment.
Collecting stats of data transfers would be a useful addition.
Latest commit 0c3147c Aug 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmark_results In Mar 16, 2013
buildbot [buildbot] Allow buildslave-specific timeouts for 'make check' Apr 14, 2016
sphinx Add a minimally intrusive and easy-to-use kernel execution time profiler Oct 19, 2019
www Updated web site for release. Oct 14, 2019
LAUNDRY Testing GitHub. Aug 23, 2013
notes-0.10.txt Release notes. Aug 22, 2014
notes-0.11.txt 0.11 was released in March. Mar 23, 2015
notes-0.12.txt Release pocl 0.12 Oct 26, 2015
notes-0.13.txt Final updates to the release web pages and merge from 0.13. Apr 6, 2016
notes-0.14.txt Updated release notes and CHANGES. Apr 5, 2017
notes-0.6.txt Final cleanups. Aug 17, 2012
notes-0.7.txt Added 0.7 release notes. Jan 7, 2013
notes-0.8.txt Update urls in release announcement Aug 12, 2013
notes-1.0.txt Change wording ;) Dec 18, 2017
notes-1.1.txt DL link broken. Mar 9, 2018
notes-1.2.txt Merge branch 'release_1_2' Sep 25, 2018
notes-1.3.txt Update pocl webpage with 1.3 release Mar 27, 2019
notes-1.4.txt Updated CHANGES and the 1.4 release announcement text. Sep 5, 2019
spir-todo.txt Remove fake address spaces and TargetAddressSpaces LLVM pass Jul 16, 2019
ttasim_kernel_capturer.txt Some updates from an old private branch: Aug 15, 2013
You can’t perform that action at this time.