View Proposal
-
Proposer
-
Rob Stewart
-
Title
-
Static analysis of dataflow program performance
-
Goal
-
Integration framework to enable throughput optimisation for embedded systems
-
Description
- Dataflow languages are good models for programming embedded and configurable hardware architectures, because the distributed memory model maps well to these architectures. There's a wide variety of dataflow models, from static dataflow all the way to dynamic dataflow. Static models are easier to reason about e.g. how much data can be processed, but these programming models are restrictive. Dynamic models can express complex algorithms but reasoning about runtime behaviour is much harder.
This exposes a sweet spot: can we expose moderately expressive programming models without losing all ability to reason about performance, or to generate efficient hardware.
This project will explore the idea of abstracting properties of dataflow programs, to compute what the throughput performance capabilities of such programs is, without needing to run them.
The technology to integrate could be (1) HoCL for programming, (2) Kiter to determine throughput performance and (2) PREESM to turn programs into executables. Possibly also using DIF as an interchangeable dataflow model format.
https://github.com/jserot/hocl/
https://github.com/bbodin/kiter
https://preesm.github.io
https://www.researchgate.net/publication/220714226_DIF_An_Interchange_Format_for_Dataflow-Based_Design_Tools
- Resources
-
-
Background
-
-
Url
-
-
Difficulty Level
-
High
-
Ethical Approval
-
None
-
Number Of Students
-
1
-
Supervisor
-
Rob Stewart
-
Keywords
-
-
Degrees
-
Bachelor of Science in Computer Science
Bachelor of Science in Computer Systems
Bachelor of Science in Software Development for Business (GA)
Master of Engineering in Software Engineering
Master of Science in Artificial Intelligence
Master of Science in Artificial Intelligence with SMI
Master of Science in Computer Science for Cyber Security
Master of Science in Computer Systems Management
Master of Science in Computing (2 Years)
Master of Science in Information Technology (Business)
Master of Science in Network Security
Master of Science in Robotics
Master of Science in Software Engineering
Bachelor of Science in Computing Science
Bachelor of Science in Computer Science (Cyber Security)
Master of Science in Robotics with Industrial Application
Postgraduate Diploma in Artificial Intelligence
MSc Applied Cyber Security