Gedae Graphical Editor Syntax and Semantics II - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Gedae Graphical Editor Syntax and Semantics II

Description:

Gedae Graphical Editor Syntax and Semantics II. William I. Lundgren. Gedae, Inc. ... This illegality can occur if a stream is decimated by a branch and merge or by a ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 25
Provided by: Meln7
Category:

less

Transcript and Presenter's Notes

Title: Gedae Graphical Editor Syntax and Semantics II


1
Gedae Graphical Editor Syntax and Semantics II
  • William I. LundgrenGedae, Inc.Telephone 856
    231 4458Fax 856 231 1403Email
    gedae_at_gedae.comWebsite www.gedae.com

2
Overview
  • Valve Behavior
  • Processing Stream Segments
  • Merging Data
  • Incomplete Merges
  • Types of Valves, Branches, Merges, and Switches
  • Controlling Processing Using Valves
  • Examples of Illegal Graphs
  • Use of Encoded Streams to Synchronize Parameter
    Changes

3
Valve Behavior
  • Valves are boxes with 3 inputs and 1 output
  • Inputs
  • The input to a valve is of any type
  • The ID of a valve is a constant integer input
  • The control stream to a valve is an encoded
    stream of integers
  • Output
  • The output from a valve is of the same type as
    the input
  • There is 1 control token for each data token if
    the control token is equal to the valve ID, then
    the token is passed, otherwise it is discarded

4
Definition of Stream Segments
  • Stream segments consist of a finite number of
    tokens
  • A graph (or subgraph) that operates on segments
    should be in a known state when it begins
    processing each segment
  • The graph (or subgraph) that operates on segments
    may output a single result for each segment
  • In some cases, an infinite stream is broken into
    segments and only some of the segments should be
    processed
  • In other cases, the segments are produced
    externally

5
Using a Valve to Process Segments of Data
StreamsExample 6-1
The valve only passes data when control signal is
equal to the valve ID
6
Using a Branch to Form Stream SegmentsExample 6-2
7
Branching and Merging DataExample 6-3
Output is identical to the input
Complete branch tokens go through one branch or
the other
8
Incomplete Merges Decimate TokensExample 6-3a
Because this is an incomplete merge, control
tokens not equal to 0 or 1 will lead to dropped
data tokens
24 control tokens have a value of 2, so 24 data
tokens are dropped
9
Types of Valves
  • The control stream of a valve can be run-length
    encoded or normal. If the control stream is
    encoded, then the valve has the prefix e.
  • evalve uses an encoded control stream.
  • valve uses a non-encoded control stream.
  • Normally, a valve lets tokens pass if the token
    on the control stream is equal to the valves ID.
    An inverse valve does the opposite it compares
    the token from the control stream to a vector of
    IDs. If the control value is not in the vector,
    then the data token is produced on the output.
    Inverse valves have the prefix i.
  • x_ievalve is an inverse valve.
  • x_evalve is a valve.

10
Types of Branches and Merges
  • Like valves, the control stream can be encoded or
    not encoded as marked by the e prefix.
  • Branches and merges can create and combine two,
    three, or four queues, as well as a family of
    queues. If a family is combined (or created),
    then the suffix f is added. If three or four
    paths are combined (or created), then the number
    of queues (3 or 4) is added as a suffix. If
    two paths are combined (or created), then no
    suffix is added.
  • mx_ebranch4 creates four paths.
  • mx_ebranchf creates a family of paths.

11
Types of Branches and Merges
  • A branch and merge can be complete or incomplete.
    A branch (merge) is considered complete if all
    possible IDs on the control stream map to an
    output (input) queue. A suffix _c indicates a
    complete branch or merge.
  • v_ebranch3_c maps any control ID not 0, 1, or 2
    to output 2.
  • v_ebranch3 drops tokens corresponding to IDs not
    0, 1, or 2.
  • The control IDs for a branch or merge indicate
    the index of the chosen stream. Alternatively, a
    table of indices can be searched for the control
    stream ID. The index where the ID is found
    indicates the index of the chosen stream. The
    suffix T indicates that a look-up table is
    used.
  • vv_branchT3_c uses a look-up table to find the
    index of the queue.
  • vv_branch3_c uses the control token as the
    index of the queue.

12
Using Valves to Control Data ProcessingExample
6-5
This parameter controls whether the wideband
noise removal is engaged
13
Using Valves to Control Data ProcessingExample
6-5 (continued)
Because the value of intel_on is 1, data is
processed by the rcepstrum, sub_noise, v_multK,
and invrcepstrum
14
Using Valves to Control Data ProcessingExample
6-5 (continued)
Because the value of intel_on is 0, the
rcepstrum, sub_noise, v_multK, and invrcepstrum
are bypassed
15
Mode ControlExample 6-5a
Control the removal of noise based on energy
Noisy signal
Processed signal
The noise removal is active when the control
signal is 1 notice the reduced noise in the
processed signal
Control signal
Signal energy
16
Mode ControlExample 6-5a (continued)
Data route with Intel off
Data route with Intel on
Note the boxes controlled are recepstrum,
sub_noise, v_multK and invrcepstrum
17
Mode ControlExample 6-5a (continued)
The controlled boxes are intermittently inactive
18
Illegal Valve Graphs
  • Graphs using valves, branches, and/or merges are
    illegal if a dynamic queue is contained inside a
    static schedule.
  • This illegality can occur if a stream is
    decimated by a branch and merge or by a valve,
    and then that decimated stream is input to a box
    that has other inputs that are non-decimated or
    unequally decimated.

19
Illegal Valve Graph 1Feed Forward with an
Incomplete MergeExample 6-6
Dynamic output drops tokens, causes mismatch in
availability on addlta addltb
Same static schedule
20
Illegal Valve Graph 2Feed Back with an
Incomplete MergeExample 6-7
Not enough tokens to match oscs output
Tokens are lost when controller produces 2
21
Encoded StreamsExample 6-10
22
Encoded StreamsExample 6-10
23
Encoded StreamsExample 6-10 (continued)
  • This example assumes that the buffers are of size
    100 and it takes 1 time unit to complete multK_2,
    the data transfer, and multK_3. The multK_2 and
    multK_3 are on different processors.

Xfer buffer
multK_3
multK_2
Set M to 2
Buffer 12
t1
Buffer 22
Buffer 12
t2
Buffer 32
Buffer 22
Buffer 12/2
t3
Buffer 32
Buffer 22/2
Buffer 42
t4
Set M to 3
Buffer 32/3
Buffer 53
Buffer 42
t5
Buffer 63
Buffer 53
Buffer 42/3
t6
Buffer 63
Buffer 53/3
Buffer 73
t7
Buffer 83
Buffer 73
Buffer 63/3
t8
24
Encoded StreamsExample 6-10 (continued)
  • This example assumes that the buffers are of size
    100 and it takes 1 time unit to complete multK,
    the data transfer, and multK_1. The multK and
    multK_1 are on different processors.

Xfer buffer
multK_1
multK
Set M to 2
Buffer 12
t1
(2,100)
(2,100),
Buffer 22
Buffer 12
t2
(2,100)
(2,100),(2,100)
Buffer 32
Buffer 22
Buffer 12/2
t3
(2,100)
(2,100),(2,100)
Buffer 32
Buffer 22/2
Buffer 42
t4
(2,100)
(2,100),(2,100)
Set M to 3
Buffer 32/2
Buffer 53
Buffer 42
t5
(3,100)
(3,100),(2,100)
Buffer 63
Buffer 53
Buffer 42/2
t6
(3,100)
(3,100),(3,100)
Buffer 63
Buffer 53/3
Buffer 73
t7
(3,100)
(3,100),(3,100)
Buffer 83
Buffer 73
Buffer 63/3
t8
(3,100)
(3,100),(3,100)
Write a Comment
User Comments (0)
About PowerShow.com