EEL 5934: The RC Modeling Language RCML - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

EEL 5934: The RC Modeling Language RCML

Description:

Efficient use of parallelism required to exploit performance potential of devices ... extensible frameworks, tools and runtimes for building, deploying and managing ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 15
Provided by: dral60
Category:

less

Transcript and Presenter's Notes

Title: EEL 5934: The RC Modeling Language RCML


1
EEL 5934 The RC Modeling Language (RCML)
Dr. Alan D. George Professor of ECE University of
Florida Dr. Herman Lam Assoc. Professor of
ECE University of Florida Dr. Greg Stitt Asst.
Professor of ECE University of Florida
Dr. Saumil Merchant Research Scientist University
of Florida Casey Reardon Brian Holland Karthik
Nagarajan Gongyu Wang Research Students University
of Florida
2
Introduction / Motivation
  • Coding for RC is often difficult and time
    consuming due to a number of factors
  • Efficient use of parallelism required to exploit
    performance potential of devices
  • Limited resources available on device
  • PAR may take hours, limiting the number of
    design/debug iterations per day, etc.
  • Problem compounded when original design do not
    meet project requirements
  • Engineers often must perform multiple full design
    iterations before completing project
  • Lack of tools to effectively lay out your design
    and ensure that final product will meet specs
  • What if there was a way to efficiently model and
    plan your design before implementation, allowing
    you to catch design flaws before coding

3
RCML Overview
  • RC Modeling Language (RCML) an abstract modeling
    language for RC
  • Intended to allow users to quickly layout and
    analyze their design before coding an
    implementation
  • Graphical, block-oriented modeling environment,
    no writing of code
  • RCML model editor under development
  • RCML includes 3 classes of models
  • Algorithm models specialized task graphs with
    constructs for parallelism
  • Architecture models collection of highly tunable
    generic platform components
  • System models an algorithm model mapped onto an
    architecture model
  • Multiple mapping processes to support multiple
    levels of abstraction
  • Allow reuse of algorithm and architecture models
    across numerous mappings

RCML Concept Diagram
4
RCML Algorithm Constructs
  • Function blocks are fundamental building block of
    algorithm models
  • Data-driven function block - contains only data
    inputs
  • Control-driven function block - triggered by
    changes to control signals, e.g. a FSM output
  • Iterative attrivute to define multiple executions
    per firing
  • Two forms of data constructs data set (finite,
    asynchronous) and data stream (continuous)
  • Two explicit structures for defining parallelism
  • Process lines (deep parallelism)
  • Can define number of stages, inputs, outputs,
    etc.
  • Duplicates, a.k.a. data-path replication (wide
    parallelism)
  • Allow user to specify multiple instances of
    single function box
  • Can be mapped within single device or across
    nodes
  • Built-in patterns for communications to/from
    duplicates

RCML Data Set
RCML Process Line
RCML Duplicates Example
5
RCML Algorithm Constructs
6
RCML Architecture Constructs
  • Architecture models used to define makeup and
    capabilities of the RC execution platform
  • Includes several classes of architecture
    components
  • e.g. processor, RC device, bus, memory, etc.
  • For this project, architecture models should
    simply be a processor and RC device connected
    by a bus
  • Attributes used to refine generic components
    into instances of a specific device
  • See attributes slide later

7
RCML Architecture Constructs
8
RCML Attributes
  • Attributes in RCML used to refine generic
    constructs into specific/detailed model
    components
  • e.g. define size and speed attributes for a
    memory block to represent a SRAM, DRAM, storage
    disk, etc.
  • Embed performance attributes in function blocks
  • e.g. computational latency
  • Attributes are selectable/editable in the
    Attributes property tab for any component
  • Table in properties tab displays all attributes
    currently defined for component
  • Use buttons/dialogs to add and edit attributes
    (sorry, double-click editing not supported yet)

9
RCML System Mapping
  • System model maps an algorithm model onto an
    architecture model
  • Each half of system model viewed one at a time
  • Change perspective to switch views in system
    model
  • Tool currently supports two basic system mapping
    functions
  • Mapping function blocks to processing elements
  • Mapping data blocks to starting and final memory
    locations
  • Dialogs found in mapping properties tab of system
    model elements

10
Eclipse RCML Editor
  • A graphical editor for creating RCML models
    developed this year in Eclipse
  • Eclipse is an open development platform comprised
    of extensible frameworks, tools and runtimes for
    building, deploying and managing software across
    the lifecycle
  • See www.eclipse.org
  • RCML editor exists as plugin to Eclipse
  • Thus, RCML model editing capabilities integrated
    into Eclipse after plugin installation
  • RCML tool still in early phases of development
  • Most advanced features not supported yet, so keep
    your models simple!

11
Eclipse RCML Editor
Palette choose components here to place on canvas
Properties tab display/edit properties of model
or selected component
12
RCML RAT Analysis Tool
  • Automatically generates analytic performance
    prediction
  • Users must define basic computational
    requirements of algorithm
  • e.g. number of data elements being operated
    upon, number of computational operations
    performed per element, and number of operations
    circuit can perform per clock cycle
  • Will provide instructions detailing exact
    parameters required for RAT analysis
  • Tool must read set of pre-defined attributes in
    model to perform prediction
  • Launch by right-clicking canvas of system model
    and selecting Launch RAT from menu

13
RCML Demo
14
Assignment
  • The tool will be made available for download soon
    from the class webpage
  • Instructions for installing Eclipse and RCML
    editor will be provided
  • Build an RCML model (algorithm, architecture, and
    system) of your class project and RECORD TIME
    SPENT ON IT
  • It is important that this time is recorded and
    accurate, so please take this seriously
  • Overall time with RCML should not be long, i.e.
    1-2 hours
  • Use the RAT tool to obtain a performance estimate
    from your model
  • A guide instructing how to define performance
    parameters for use with RAT tool will be provided
Write a Comment
User Comments (0)
About PowerShow.com