OpenCL mode provides a visual representation of OpenCL code running on Mali Midgard devices. It shows which command is being run on each thread over the course of the capture session and provides mechanisms to explore command dependencies.
OpenCL mode is an early access feature available to Mali
licensees only. Contact your support team for more information.
OpenCL mode is supported by gator version 21 and later and by Mali Midgard
DDK version r6p0.
The Open Computing Language, or OpenCL, is a framework for parallel
execution of jobs or kernels using task-based and data-based parallelism.
To enable OpenCL mode, you must create an instrumentation configuration file.
For details of the options it must contain, see the documentation that is supplied with
the ARM Driver Development Kit (DDK) for Mali Midgard devices.
In OpenCL, commands are added to queues, then execute in parallel on one of the
available hardware devices, usually a CPU, GPGPU, or DSP. Commands in a queue execute in
series, but commands can also depend on the completion of commands in other queues.
Command names are shown inside colored areas, representing the duration of
their execution. If there are two or more commands in a bin, and there is enough room,
the number of commands in the bin is shown in light gray.
Dependencies between commands are shown using connecting lines. These have
circles at each end to indicate the direction of the dependency. A command that is shown
with a closed circle depends on a command that is shown with an open circle. Hover over
the line connecting two commands to see a tooltip that shows the time delta between
Figure 5-31 Time delta between connected commands
allows you to click a command to give it focus, hide any non-relevant information, and
show its dependency connections. The following figure shows a selected command that is
highlighted with a yellow border. A yellow line shows where it entered the queue.
Figure 5-32 Selecting a command in OpenCL mode
Zoom out to see more commands and the points at which they were enqueued.
Click the Show all connections option to display
connections for all commands.
Figure 5-33 Zooming out in OpenCL mode
Hover over a command to display a tooltip that shows the command name,
the time that it was initiated, and its duration.
Figure 5-34 OpenCL mode tooltip
At the bottom of the chart in OpenCL mode is a filter field. Enter a
regex in the field and OpenCL mode updates to show only matching commands.
Figure 5-35 Filtering in OpenCL mode