Title: Gedae Graphical Editor Syntax and Semantics Families
1Gedae Graphical Editor Syntax and Semantics
Families Route Boxes
- William I. LundgrenGedae, Inc.Telephone 856
231 4458Fax 856 231 1403Email
gedae_at_gedae.comWebsite www.gedae.com
2Overview
- Families
- Route boxes
- Compound data types
3Families
- A family of function boxes
- Select a function box and assign it a range
variable to make it a family - Creates multiple instances
- A family of inputs
- Connect a family input to the output of a family
of function boxes
4FamiliesExample 5-13
Multiple instance of box identified by pre-index
Multiple instance of input identified by
pre-index
5Family of Connections
- Two families of function boxes
- If two families are indexed by the same range
variable, then family members with the same range
variable value are connected
6FamiliesExample 5-13 (continued)
Corresponding boxes are connected
Corresponding boxes and inputs are connected
7Using Families to Express Parallelism
- The primary motivation for the family syntax is
to support parallel execution - The family notation is expressive
- We suggest caution when using families to express
things other than parallel execution - Vectors and granularity are more efficiently
scheduled than families on a single processor - Families will be more efficiently scheduled in a
future release
8Using Families to Express Parallelism(continued)
- Consider parallel processing of a stream of
vectors on N processors - Receive N vectors
- Deal one to each processor
- Each processor calculates an FFT
- Receive 1 vector from each processor
- Send N vectors
9Using Families to Express Parallelism Example
5-14
Distribute to FFT
Collect from FFT
10Route Boxes
- The individual instances of a family are not
accessible via the graphical interface - Route boxes provide the syntax to make arbitrary
connections between family members
11Route Boxes Example 5-15
Flattened graph shows the connectivity
12Route Boxes Example 5-16
Flattened graph shows the connectivity
13Route Boxes Example 5-17
Flattened graph shows connectivity
14Route Box Semantics
- The following charts are a conceptual view of how
Gedae determines which connections to make
15Route Boxes Semantics Example 5-18
16Route Boxes Semantics Example 5-18 (continued)
17Route Boxes Semantics Example 5-19
18Route Boxes Semantics Example 5-19 (continued)
19Route Boxes Semantics Example 5-20
20Route Boxes Semantics Example 5-20 (continued)
21Compound Data Types
- Compound data types are used to simplify a graph
by combining multiple connections into a single
line - Conceptually, they are much like a route box
except they are named types - They cannot be connected to primitives
22Compound Data Types Example 5-21
Describe the composite type as a Gedae
primitive Name Params Type typedef Input
void A void B void C
23Laboratory 1
- The objective of this exercise is to become
familiar with editing with families and the
effect of families and route boxes. - Start Gedae and add the following function boxes
to the canvas. Connect in the order listed - embeddable/stream/source/scanf
- embeddable/stream/demux (dont connect demux to
mux) - embeddable/stream/mux
- stream/sink/scope1
24Laboratory 1
- Enter the range variable
- range i 0..3
- Select Add Route from the Edit menu
- Type i in the box for the first input
- Type 3-i in the box for the first output
- Select the ok button
25Laboratory 1
- Make the following connections
- demuxgtout routeltI
- routegt3-i to muxltin
- Set the value of scanfltName to
- FGlibraries/datafiles/ramp_1_to_64
- Select Reset from the Control menu
- Click with the right mouse button on the scope
display - Change samples to 64
- Select Run from the Control menu
- Select Stop from the Control menu
- Analyze the scope to determine the behavior and
look at the flattened graph.
26Laboratory 2
- The purpose of this laboratory is to become
familiar with more complex routing schemes - Run fft test graph
- gedae -file demo/ffttest/ffttest -param default
- Change n to 2 but do not save the changes.
- FGlibraries/datafiles/ramp_1_to_64
- Double click on parfft
- How many x_butterfly instances are there?
- Hint 1 bring up the group control and the set
partition table - Hint 2 bring up the flattened graph
- Apply the techniques in the lecture to determine
the connectivity or study the diagram provided in
the solution - A work sheet follows
27Work Sheet for Laboratory 2
28Laboratory
- Take ¾ hour to complete these exercises
- The solutions follow
29Solution 1
30Solution 1
31Solution 2
32Solution 2