F1 for CKW - University of Florida

Download Report

Transcript F1 for CKW - University of Florida

EEL 5934: The RC Modeling
Language (RCML)
2008 Annual Workshop
Dr. Alan D. George
Dr. Saumil Merchant
Professor of ECE
University of Florida
Research Scientist
University of Florida
Dr. Herman Lam
Assoc. Professor of ECE
University of Florida
Dr. Greg Stitt
Asst. Professor of ECE
University of Florida
December 3-4, 2008
Casey Reardon
Brian Holland
Karthik Nagarajan
Gongyu Wang
Research Students
University of Florida
Introduction / Motivation

Coding for RC is often difficult and time
consuming due to a number of factors




Problem compounded when original
design do not meet project requirements



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.
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…
2
RCML Overview

RC Modeling Language (RCML) an
abstract modeling language for RC


Graphical, block-oriented modeling
environment, no writing of code


Intended to allow users to quickly layout
and analyze their design before coding
an implementation
Algorithm
Model Library
Architecture
Model Library
Candidate
Algorithm
Model
Candidate
Architecture
Model
RCML model editor under development
Mapping
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
3
RCML System
Model
RAT
Analysis
Code
Generation
Simulative
Prediction
RCML Concept Diagram
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
Element Name: Molecule
Two forms of data constructs: data set (finite,
asynchronous) and data stream (continuous)
Two explicit structures for defining parallelism


Element Definition:
String name;
Int index, posX, posY,
posZ;
End Definition;
Process lines (deep parallelism)

RCML Data Set
Can define number of stages, inputs, outputs, etc.
Duplicates, a.k.a. data-path replication (wide parallelism)



Data Set: Molecules
Element Type: Molecule
Num Elements: =Param(N)
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
i=5
Stage 1
function
Stage 2
function
Stage 3
function
Distributor
RCML Process Line
Scatter
Duplicate
Set 1
Gather
Collector
RCML Duplicates Example
4
RCML Algorithm Constructs
Name
Description
Icon
Data Block
A block representing a finite (data set)
or continuous (data stream) group of
data processed by the algorithm
Base Function
Block
Algorithm task triggered either by
incoming data (data-driven) or control
signals (control-driven)
Repetitive
Algorithm task whose execution is
Function Block repeated a specified number of times
Process Line
Task sequence that can execute conFunction Block currently, supports deep parallelism
Replicated
A task that is physically replicated to
Function Block support wide parallelism
5
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
6
RCML Architecture Constructs
Name
Description
Icon
Fixed
Processor
A fixed processing element, such as an ASIC
or microprocessor
Reconfigurable
Processor
A processing elements that supports
reconfiguration, such as an FPGA
Memory Block
An instance of memory or storage
Cache Block
A specialized memory block for multi-level
caches
Interconnect
Bus
A system or network bus for data transfers
Interconnect
Switch
A network switch for data transfers
Source/Sink
Device
Generic devices, such as a sensor (source) or
display (sink)
7
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)
8
RCML System Mapping

System model maps an algorithm
model onto an architecture model



Tool currently supports two basic
system mapping functions



Each half of system model viewed
one at a time
Change ‘perspective’ to switch views
in system model
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
9
Eclipse RCML Editor

A graphical editor for creating RCML models
developed this year in Eclipse



RCML editor exists as plugin to 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
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!
10
Eclipse RCML Editor
Palette: choose
components here
to place on canvas
Properties tab:
display/edit
properties of
model or selected
component
11
RCML RAT Analysis Tool


Automatically generates
analytic performance
prediction
Users must define basic
computational requirements
of algorithm


Will provide instructions detailing exact parameters required for RAT
analysis


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
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
12
RCML Demo
13
Assignment

The tool will be made available for download soon from the
class webpage


Build an RCML model (algorithm, architecture, and system)
of your class project and RECORD TIME SPENT ON IT



Instructions for installing Eclipse and RCML editor will be provided
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
14