5.5.9 OpenCL mode

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.

Note

  • 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.
Figure 5-30 OpenCL mode
OpenCL mode

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 them.
Figure 5-31 Time delta between connected commands
Link duration in OpenCL mode

Streamline 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
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
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
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
Filtering in OpenCL mode

Non-ConfidentialPDF file icon PDF versionARM DUI0482V
Copyright © 2010-2016 ARM. All rights reserved.