Easy Multicore Programming using MAPS

Similar documents
Programming Heterogeneous Embedded Systems for IoT

EE382V: System-on-a-Chip (SoC) Design

Dataflow programming for heterogeneous computing systems

Compiling for deeply embedded and heterogeneous signal processing systems

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

Distributed Operation Layer Integrated SW Design Flow for Mapping Streaming Applications to MPSoC

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Modeling and SW Synthesis for

MPSOC Design examples

Embedded Hardware and Software

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

MPSoC Design Space Exploration Framework

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology

Test and Verification Solutions. ARM Based SOC Design and Verification

Hardware Software Codesign of Embedded Systems

Altera SDK for OpenCL

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

Hardware-Software Codesign. 1. Introduction

Combining Arm & RISC-V in Heterogeneous Designs

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs

Computer-Aided Recoding for Multi-Core Systems

The Architects View Framework: A Modeling Environment for Architectural Exploration and HW/SW Partitioning

Visual Design Flows for Faster Debug and Time to Market FlowTracer White Paper

Using Virtual Platforms To Improve Software Verification and Validation Efficiency

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

HW/SW Cyber-System Co-Design and Modeling

Long Term Trends for Embedded System Design

Energy Efficient Computing Systems (EECS) Magnus Jahre Coordinator, EECS

Hardware Software Codesign of Embedded System

On mapping to multi/manycores

Hardware/Software Codesign

Introducing the FPGA-Based Prototyping Methodology Manual (FPMM) Best Practices in Design-for-Prototyping

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

04 - DSP Architecture and Microarchitecture

Computer Architecture Today (I)

Exploring Task Parallelism for Heterogeneous Systems Using Multicore Task Management API

Hardware/Software Co-design

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Will Everything Start To Look Like An SoC?

Dr. Yassine Hariri CMC Microsystems

Validation Strategies with pre-silicon platforms

Code Generation for QEMU-SystemC Cosimulation from SysML

Long Term Trends for Embedded System Design

CLICK TO EDIT MASTER TITLE STYLE. Click to edit Master text styles. Second level Third level Fourth level Fifth level

Optimizing HW/SW Partition of a Complex Embedded Systems. Simon George November 2015.

Efficient Modeling of Embedded Systems using Designer-controlled Recoding. Rainer Dömer. With contributions by Pramod Chandraiah

Intel Research mote. Ralph Kling Intel Corporation Research Santa Clara, CA

Next Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface

A Process Model suitable for defining and programming MpSoCs

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

ECE 8823: GPU Architectures. Objectives

Software Compilation Techniques for Heterogeneous Embedded Multi-Core Systems

MoCC - Models of Computation and Communication SystemC as an Heterogeneous System Specification Language

SOFTWARE DRIVES HARDWARE, LESSONS LEARNED AND FUTURE DIRECTIONS

Power Aware Architecture Design for Multicore SoCs

Embedded Software Dynamic Analysis. A new life for the Virtual Platform

Compilation of Parametric Dataflow Applications for Software-Defined-Radio-Dedicated MPSoCs DREAM seminar

MTAPI: Parallel Programming for Embedded Multicore Systems

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Growth outside Cell Phone Applications

Pilot: A Platform-based HW/SW Synthesis System

Virtual Hardware ECU How to Significantly Increase Your Testing Throughput!

Design methodology for multi processor systems design on regular platforms

Semantics-Based Integration of Embedded Systems Models

Dr. Ajoy Bose. SoC Realization Building a Bridge to New Markets and Renewed Growth. Chairman, President & CEO Atrenta Inc.

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Platform-based Design

Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation

Communication Oriented Design Flow

Will Everything Start To Look Like An SoC?

Strato and Strato OS. Justin Zhang Senior Applications Engineering Manager. Your new weapon for verification challenge. Nov 2017

RapidIO.org Update. Mar RapidIO.org 1

HSA Foundation! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar Room (Bld 20)! 15 December, 2017!

EMBEDDED LINUX ON ARM9 Weekend Workshop

Doing more with multicore! Utilizing the power-efficient, high-performance KeyStone multicore DSPs. November 2012

Implementing debug. and trace access. through functional I/O. Alvin Yang Staff FAE. Arm Tech Symposia Arm Limited

Universiteit van Amsterdam 1

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH

RapidIO.org Update.

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

Performance Verification for ESL Design Methodology from AADL Models

Analysis and software synthesis of KPN applications

Metodologie di Progettazione Hardware e Software

A Model-based, Single-Source approach to Design-Space Exploration and Synthesis of Mixed-Criticality Systems

Formal for Everyone Challenges in Achievable Multicore Design and Verification. FMCAD 25 Oct 2012 Daryl Stewart

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Automatic deployment of component-based embedded systems from UML/MARTE models using MCAPI

A Seamless Tool Access Architecture from ESL to End Product

Embedded Systems. 7. System Components

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

A Graduate Embedded System Education Program

! Readings! ! Room-level, on-chip! vs.!

New Approaches to Connected Device Security

EE382V: System-on-a-Chip (SoC) Design

Heterogeneous Multi-Core Architecture Support for Dronecode

Transcription:

Easy Multicore Programming using MAPS Jeronimo Castrillon, Maximilian Odendahl Multicore Challenge Conference 2012 September 24 th, 2012 Institute for Communication Technologies and Embedded Systems

Outline Motivation MAPS Highlights Demo Introduction Summary 2

MPSoCs and the Productivity Gap Multi-Processor Systems on Chip are a reality Increased HW and SW complexity SoC Consumer Portable Design Complexity Trends (ITRS 2007) Fujitsu, MPSOC 2009 The productivity gap: Requirements double every 10 months, HW/SW productivity every 2 years (Ecker, Mueller, Doemer, 2008) Need better support for SW development in the MPSoC era 3

Programming: Uni-processor vs. MPSoC SW Development Cycle ARM7 Uni-processor MPSoC Sequential C Program Interconnect Memory Sequential C Program Task Partitioning ARM C Compiler Mapping/Scheduling Processor Debugging - Simulator - Hardware Code Generation Debugging - Virtual Platform and/or Hardware - Low Visibility - Parallel Debugging Time 4

Compilers and Software Productivity Lack of the compiler in the programming flow for MPSoCs largely contributes to the productivity loss Applications, Programming Models Applications, Programming Models? Compilers APIs, OS, ISA, µ-architectures APIs, OS, ISA, µ-architectures Manual Process APIs, OS, ISA, µ-architectures APIs, OS, ISA, µ-architectures New tasks exposed to programmer, e.g., mapping and scheduling, with non-functional constraints, e.g., real time 5

Outline Motivation MAPS Highlights Demo Introduction Summary 6

Overview of MAPS a Multicore Compiler Features/Highlights Compilation framework for multi-core systems (heterogeneous or homogeneous) for SW developers Light-weight C extension for parallel programming C-based source-to-source translation to leverage the existing C compiler technology for multi-core processing elements Retargetability towards different multi-core platforms Sequential C partitioning facilities Advanced scheduling and mapping of single and multiple parallel applications Collaborative in working with state-of-the-art ESL (Electronic System Level) design tools and other silicon vendor SW tools 7

Programming Models Parallel Programming Models have evolved for long. Yet there is no winner. Thoughts on Programming Model Needs to be leveraged by compiler for code generation (correctness). Needs to have good properties for optimizations such as parallelism extraction and intelligent mapping/scheduling (efficiency). Programming Model Practical considerations Domain-specific: embedded systems (wireless, multimedia, etc.) C dominance is unchallenged. (not addressed in this talk) 8

Parallel Dataflow Programming Process Networks (PN) Processes Independent threads of execution Communication via channels Channels Unidirectional first-in first-out Kahn Process Networks (KPN) Blocking read semantics PN KPN SDF Example: Run Length En/Decoding (RLE/D) STOP RLE is a simple data compression technique used in e.g. fax machines. Data are encoded as {count, data_value}. RLD is the inverse. RLE example: AAAABBCCCCCDDD 4A2B5C3D RLD {4, A} {A, A, A, A} {2, B} {B, B} 9

Mapping and Scheduling Flow Arch. Model Application Constraints & Config Architecture model for retargetability Parsing, profiling, tracing, sequential performance estimation Tracing to handle KPN expressiveness M&S heuristics & Trace replay Code Generation Heuristics for mapping both computation and communication (real-time aware) RISC1 DSP1 DSP2 Code generation for productivity boost RISC2 HW DSP3 10

Mapping and Scheduling Process Application tracing: Graph representation & DAG mapping algorithms ([IEEE Trans. Industrial Informatics 2011, DAC 2012]) To PEx To MEMy 11

MAPS Backends Application spec. C/CPN Applications, Programming Models? MAPS Compiler Compiler infrastructure: Source-to-Source based Manual on Clang: Retain original code structure Process Transformations at the AST level (Abstract Syntax APIs, OS, APIs, OS, APIs, OS, Tree): Flexible, extensible, retagetable ISA, ISA, ISA, µ-architectures µ-architectures µ-architectures Configuration files (scripts, makefiles): Ready to deploy solution to the target platform SW Functional Verification: (Pthreads, Synopsys MCO) Virtual Platforms: (Synopsys PA + Debug scripts) Actual HW: (TI OMAP/Multi-core DSP families and other MPSoCs) 12

Outline Motivation MAPS Highlights Demo Introduction Summary 13

MAPS Tool Demonstration Presentation of MAPS IDE Analysis and mapping of a radar application for the TI- C6678 platform (Keystone architecture) KPN Profiling (computation and communication) KPN Mapping and Scheduling (iterative, manual/automatic, constrained) 14

Outline Motivation MAPS Highlights Demo Introduction Summary 15

Summary Today s software and hardware complexity requires powerful new tools Example: Single-processor compilers MAPS: An MPSoC compiler C + Abstract programming model Automatic mapping and scheduling flow Robust code generation for state-of-the-art MPSoCs Looking forwards to seeing you during the demo session! 16

Thank you Institute for Communication Technologies and Embedded Systems 17