Browse Prior Art Database

Capture and display of performance profile for dataflow graph

IP.com Disclosure Number: IPCOM000232481D
Publication Date: 2013-Nov-11
Document File: 3 page(s) / 104K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to optimize programs in a dataflow language running in a massively parallel Single Instruction, Multiple Data (SIMD) environment. Novel contributions include a method to map profile data from the SIMD environment back to the original program and a visual display wherein the dataflow language is displayed as a directed graph.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Capture and display of performance profile for dataflow graph

A method is needed to optimize programs in a dataflow language running in a massively parallel Single Instruction, Multiple Data (SIMD) environment. There are many aspects to optimization. Data is compressed as it propagates through the data flow graph; understanding where there is a large quantity of entropy is important. Individual nodes in the graph may have slow implementations which need tuned, so making these visible is important.

One of the novel contributions is a method to map profile data from the SIMD environment back to the original program. Another is the actual visual display. The dataflow language is displayed as a directed graph, using existing graphing tools. Deciding how to map profile data onto this visual display is difficult; the method presents a useful scheme.

Figure 1: Example of the final output graph for a profiled run of a program , small plot

1


Page 02 of 3

Figure 2: Example of the final output graph for a profiled run of a program , medium plot

The original program has one node per node in the visualization. The expanded graph has many copies of each node (the number of copies varies). The expanded graph also has a penumbra of helper nodes around many of the nodes , massaging the associated inputs and outputs.

The method captures several forms of data on the expanded graph . For nodes, it captures the total execution time as well as the number of times the node executes . For edges in the graph, the method captures the total number of chunks of data , the total number of values, and the total compressed size of the data traveling across the edge. This last is the most useful. An additional consideration is the

development of the ability to capture information about the most common c...