NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

MCSA and the MCSDK Demo

From Texas Instruments Wiki
Jump to: navigation, search

System Analyzer and the BIOS MCSDK 2.0 Image Processing Demo

The BIOS MCSDK 2.0 Image Processing Demo has been instrumented to allow users to view the application’s real-time behavior and performance using the System Analyzer. Start/Stop event are logged at each processing phase in the application as shown in the image below. SYSBIOS CPU load logging has also been turned on to monitor CPU loading. Other instrumentation can be added or SYSBIOS logging enabled for additional analysis and visibility. Go here for more information on System Analyzer. Instrument1.jpg System Analyzer Execution Graph below shows the demo application execution while processing a 16Mb image on a single core follow by processing the same image on 8 cores. The graph shows the processing stages (as per Start/Stop logs) of the image sequentially executing within the cores and the parallel execution of the image slices across the 8 cores. Execution graph Measurement Markers show that it took 514.71 ms to process the image on singe core but only 72.67 ms on 8 cores, an improvement of about 7 folds. The graph makes it easy to see that most of the processing time is spent in the ‘RGB to Y’ phase, a possible area for performance improvement. The Duration table benchmark shows the processing time ofeach phase.

Other System Analyzer features can be used to further analyze of the demo execution, e.g. the CPU load graph shows the increase in CPU activity when the image is processed.

ExecGraph1.jpg

Follow these steps to run the System Analyzer and view the real-time dynamics of the MCSDK demo.

Launching the demo program, starting System Analyzer and collecting event data

  • In CCS, launch the evm6678L target.
  • In the CCS Debug View, select CPU 0, right-click and select Connect, and then load the master program’s .out file.
  • Select CPUs 1-7, right click and select Group Core(s).
  • Click on the ‘Group 1’ item in the debug view, right-click and select Connect, then load the slave program’s .out file
  • Run the program: in the Debug View, select the ‘Group 1’ and click on the ‘run’ icon (green triangle).  Then select CPU 0 and click on the run icon.
  • A System Analyzer view will open once the target has established an IP address.  Click on the IP address link in the view to open the demo’s web page in a browser.
  • In the demo web page select the ‘Number of Cores’ then ‘Select Image to Process’
  • Before clicking on the ‘Process’ button in the web, launch System Analyzer: in the CCS Tools menu, select System Analyzer, and then ‘Live’.
  • In the configuration options that are displayed, select ‘Until stop is requested’, and then click OK
  • Wait for the ‘SA Live Session: Logs’ view to open and start displaying data
  • In the demo’s web page click on the Process button
  • After the image has been processed, the web page will display the input image, output image and processing time.
  • Allow a few seconds for System Analyzer to retrieve logs then Pause System Analyzer data collection. To pause right click on the ‘SA Live Session: Logs’ view to open it’s context menu and select ‘SA Live Session->Pause/Resume’

Performance Analysis and Real-time Visibility

  • To display the System Analyzer Multicore execution graph right click on the ‘SA Live Session: Logs’ view and select ‘Analyze -> Execution Graph’
  • In the System Analyzer Execution graph you will see along the vertical axis the names of the various tasks running on each CPU, and a timeline along the horizontal axis
  • Zoom out to see the entire execution history by repeatedly clicking on the ‘-‘ magnifying glass icon
  • Zoom in to see a smaller section of the execution history by selecting the range of interest along the timeline using the left mouse button and then releasing the mouse button.
  • To display CPU load right click on the ‘SA Live Session: Logs’ view and select ‘Analyze -> CPU Load’
  • To display benchmark info right click on the ‘SA Live Session: Logs’ view and select ‘Analyze -> Duration’

Each of the analysis features above has additional views which can be accessed from ‘Windows -> Open Analysis View’ or from the ‘Open an existing analysis view’ button in the main toolbar