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 versions 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 need to create an instrumentation
configuration file. For details of the options it needs to contain, see the
documentation supplied with the ARM Driver Development Kit (DDK) for Mali Midgard
In OpenCL, commands are added to queues, then executed 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 be dependent on the completion of commands in
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 shown with a closed circle is dependent on a
command shown with an open circle.
Streamline allows you to click on a command to give it focus, hide any
non-relevant information, and show its dependency connections. The following figure
shows a selected command highlighted with a yellow border. A yellow line shows where it
entered the queue.
Figure 5-28 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-29 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-30 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-31 Filtering in OpenCL mode