How Game Engines Can Inspire EDA Tools Development: A use case for an open-source physical design library

Similar documents
Layout Design II. Lecture Fall 2003

Provably Secure Camouflaging Strategy for IC Protection

Fast Floating Point Compression on the Cell BE Processor

Cloud, Distributed, Embedded. Erlang in the Heterogeneous Computing World. Omer

An Efficient Code Compression Technique using Application-Aware Bitmask and Dictionary Selection Methods

siot-shoe: A Smart IoT-shoe for Gait Assistance (Miami University)

MEMORY is one of the key driving factors in embeddedsystem

Hockey Scholar Curriculum Guide

CS 221 PROJECT FINAL

MANUFACTURE OF SUBSTRUCTURE BY AUTOMATED FIBER PLACEMENT

METRO RTA TRANSIT MASTER PLAN. May 25-26, 2011

Discovery TGA 55, TGA 550, TGA Site Preparation Guide

FCP_GPR_2016 Team Description Paper: Advances in using Setplays for simulated soccer teams.

Computing s Energy Problem:

Artificial Intelligence for the EChO Mission Scheduler

STUDY PERFORMANCE REPORT

beestanbul RoboCup 3D Simulation League Team Description Paper 2012

SUBJECT: Board Approval: 4/29/04

Open Research Online The Open University s repository of research publications and other research outputs

DRAFT for a State Policy for Healthy Spaces and Places

Helicopter C.E.R. Teacher Pages

Investigating the Problems of Ship Propulsion on a Supercomputer

b. Graphs provide a means of quickly comparing data sets. Concepts: a. A graph can be used to identify statistical trends

Decompression Method For Massive Compressed Files In Mobile Rich Media Applications

Discovery SDT 650. Site Preparation Guide. Revision G Issued December Page 1

NHL & NHLPA Future Goals Program Hockey Scholar TM

Traffic Impact Study. Westlake Elementary School Westlake, Ohio. TMS Engineers, Inc. June 5, 2017

B.R.O. Basketball Return Optimizer. Electrical & Computer Engineering

Predicting skipjack tuna dynamics and effects of climate change using SEAPODYM with fishing and tagging data

Design of a Pedestrian Detection System Based on OpenCV. Ning Xu and Yong Ren*

CC-Log: Drastically Reducing Storage Requirements for Robots Using Classification and Compression

Installation of Traffic Signals and Pedestrian Crossings

Racecar Rear Wing Setup Optimization via 2D CFD Simulations

The Mathematics of Procedural Generation in Video Games. OK-AR Section Meeting of the MAA

Design of Experiments Example: A Two-Way Split-Plot Experiment

SHOT ON GOAL. Name: Football scoring a goal and trigonometry Ian Edwards Luther College Teachers Teaching with Technology

Cricket umpire assistance and ball tracking system using a single smartphone camera

Mac Software Manual for FITstep Pro Version 2

NAEST(M) training Course Structure and Session Objectives. Day Introduction and enrolment

A history-based estimation for LHCb job requirements

Public transport and town planning from a retroactive point of view C. Wallstrom, S. Johansson et al

Linear Compressor Discharge Manifold Design For High Thermal Efficiency

Perfect Golf Quick Start Guide

Discovery HP-TGA 75/750. Site Preparation Guide

Vibration Analysis and Test of Backup Roll in Temper Mill

Multicore Real-Time Scheduling

Reversible lane: Exploring Lane Management Alternatives. BY Vijay R Ezapa Arvind Emelinda M Parentela

Real Time Bicycle Simulation Study of Bicyclists Behaviors and their Implication on Safety

Financial Stability Implications of Changing Global Finance: Policy Panel Global Finance in Transition

Predicting the Suction Gas Superheating in Reciprocating Compressors

Blocking time reduction for level crossings using the genetic algorithm

Cricket Visualization Tool

INTRODUCTION TO PATTERN RECOGNITION

Spatial Patterns / relationships. Model / Predict

F u n d a m e n t a l s o f G r a p h i c D e s i g n

Linear Compressor Suction Valve Optimization

Agenda Item I.5.b Supplemental NOAA Presentation November 2012

Gait Recognition. Yu Liu and Abhishek Verma CONTENTS 16.1 DATASETS Datasets Conclusion 342 References 343

Compiling for Multi, Many, and Anycore. Rudi Eigenmann Purdue University

M. TECH. (Computer Science, Information Technology)

Energy Savings Through Compression in Embedded Java Environments

A 28nm SoC with a 1.2GHz 568nJ/ Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Error Rate Tolerance for IoT Applications

Safety Criticality Analysis of Air Traffic Management Systems: A Compositional Bisimulation Approach

An Architecture for Combined Test Data Compression and Abort-on-Fail Test

Background Information. Project Instructions. Problem Statement. EXAM REVIEW PROJECT Microsoft Excel Review Baseball Hall of Fame Problem

Assessment Task for Stage 6 Preliminary Subject: PDHPE Topic: The Body In Motion (Core 2)

Advanced Animal Science TEKS/LINKS Student Objectives One Credit

Operating Committee Strategic Plan

WinterGreen Research, INC.

Bruno Cardoso UFMG, May 2014

Advancing the Standard. GenISys Support Team. v Thursday, July 3, 2014 BEAMER Raith/Vistec 1

FixedWingLib CGF. Realistic CGF Aircraft Entities ware-in-the-loop Simulations

Junior Cycle Science - First Year

Reducing Code Size with Run-time Decompression

CFD Analysis of Giromill Type Vertical Axis Wind Turbine

EE582 Physical Design Automation of VLSI Circuits and Systems

GOLOMB Compression Technique For FPGA Configuration

A Novel Decode-Aware Compression Technique for Improved Compression and Decompression

HUNTING SAFETY PLANNING AND ACCIDENT RESPONSE. Connecting Soldiers and Families with Nature... Enjoy the Woods.

Developing a Walk-Out Evacuation Plan for Washington, DC

Electromagnetic Attacks on Ring Oscillator-Based True Random Number Generator

The Walkability Indicator. The Walkability Indicator: A Case Study of the City of Boulder, CO. College of Architecture and Planning

Citation for published version (APA): Canudas Romo, V. (2003). Decomposition Methods in Demography Groningen: s.n.

DOWNFORCE BALANCE. The Downforce Balance graph (shown at the left) illustrates which areas of the vehicle this product affects.

DISCUSSION AND RECOMMENDATION ON OPTIONS FOR THE CREATION OF A COMMUNITY DEVELOPMENT AREA IN THE SUGAR HOUSE NEIGHBORHOOD

BIRLA INSTITUTE OF TECHNOLOGY

Safety Critical Systems

Determining Occurrence in FMEA Using Hazard Function

Implementation of Height Measurement System Based on Pressure Sensor BMP085

Sorted by "Department" below and then by "CrsNo" (Updated February 28, 2017)

Principles guiding Sport NI investment in Sporting Clubs and Sporting Winners objectives.

Computer Integrated Manufacturing (PLTW) TEKS/LINKS Student Objectives One Credit

City of Homewood Transportation Plan

What Running Shoe Should I Buy?

A Hybrid Code Compression Technique using Bitmask and Prefix Encoding with Enhanced Dictionary Selection

Using MATLAB with CANoe

IBIS Modeling for IO-SSO Analysis. Thunder Lay and Jack W.C. Lin IBIS Asia Summit Taipei, Taiwan Nov. 19, 2013

ECE520 VLSI Design. Lecture 9: Design Rules. Payman Zarkesh-Ha

Performance of Fully Automated 3D Cracking Survey with Pixel Accuracy based on Deep Learning

Kim speaks in a normal speaking voice (unless otherwise noted). She is a Model 700 CyberFem sales representative robot.

Transcription:

How Game Engines Can Inspire EDA Tools Development: A use case for an open-source physical design library Tiago Fontana, Renan Netto, Vinicius Livramento, Chrystian Guth, Sheiny Almeida, Laércio Pilla, José Luís Güntzel Embedded Computing Lab, Computer Science Department Federal University of Santa Catarina, Brazil ISPD - March, 2017 - Portland, OR phidian

Outline 1 Introduction 2 Memory Hierarchy 3 Modularity 4 The Entity-Component System Design Pattern 5 Experimental Results 6 Conclusions

Modern Game Engines Process huge amount of data Model realistic physical systems Render high-resolution graphics Run artificial intelligence engines Vinicius Livramento ISPD - March, 2017 - Portland, OR 3

Modern Game Engines Memory: better cache locality Parallelism: multithreading and GPU Modularity: few data dependency Testing: small functions Vinicius Livramento ISPD - March, 2017 - Portland, OR 4

Understanding the Memory Hierarchy Vinicius Livramento ISPD - March, 2017 - Portland, OR 5

How Object-Oriented Design (OOD) Leads to More Cache Misses Vinicius Livramento ISPD - March, 2017 - Portland, OR 6

How Object-Oriented Design (OOD) Leads to More Cache Misses Vinicius Livramento ISPD - March, 2017 - Portland, OR 6

How Data-Oriented Design (DOD) Improves Cache Locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 7

How Data-Oriented Design (DOD) Improves Cache Locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 7

Modularity: Modeling Nets and Pins P1 N1 N3 P4 P6 B P7 N4 P8 P2 N2 P3 A P5 Vinicius Livramento ISPD - March, 2017 - Portland, OR 8

Modularity: Modeling Nets and Pins Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 9

Modularity: Modeling Nets and Pins Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 9

Modularity: Integrating Placement and Timing Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 10

Modularity: Modeling Nets and Pins Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 11

Modularity: Modeling Nets and Pins Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 11

Modularity: Integrating Placement and Timing Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 12

Entities and Components (Properties) Vinicius Livramento ISPD - March, 2017 - Portland, OR 13

The Entity System: find, create, and delete entity in O(1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

The Entity System: find, create, and delete entity in O(1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

The Entity System: find, create, and delete entity in O(1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

Relationships Between Entities: aggregation and composition AGGREGATION Entity System: Nets Net 1 - Name: N1 - Pins: 1 4 5 Net 2 - Name: N2 - Pins: 2 3 6 Entity System: Pins Pin 1 - Name: P1 - Net: 1 Pin 3 - Name: P3 Pin 5 - Name: P5 - Net: 1 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: 1 Pin 6 - Name: P6 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

Relationships Between Entities: aggregation and composition AGGREGATION Entity System: Nets Net 1 - Name: N1 - Pins: 1 4 5 Net 2 - Name: N2 - Pins: 2 3 6 Entity System: Pins Pin 1 - Name: P1 - Net: 1 Pin 3 - Name: P3 Pin 5 - Name: P5 - Net: 1 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: 1 Pin 6 - Name: P6 Entity System: Nets Net 2 - Name: N2 - Pins: 2 3 6 Entity System: Pins Pin 1 - Name: P1 - Net: -- Pin 3 - Name: P3 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: -- Pin 5 - Name: P5 - Net: -- Pin 6 - Name: P6 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

Relationships Between Entities: aggregation and composition Entity System: Nets Net 1 - Name: N1 - Pins: 1 4 5 Net 2 - Name: N2 - Pins: 2 3 6 AGGREGATION Entity System: Pins Pin 1 - Name: P1 - Net: 1 Pin 3 - Name: P3 Pin 5 - Name: P5 - Net: 1 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: 1 Pin 6 - Name: P6 Entity System: Cells Cell 1 - Name: C1 - Pins: 1 4 5 Cell 2 - Name: C2 - Pins: 2 3 6 COMPOSITION Entity System: Pins Pin 1 - Name: P1 - Cell: 1 Pin 3 - Name: P3 - Cell: 2 Pin 5 - Name: P5 - Cell: 1 Pin 2 - Name: P2 - Cell: 2 Pin 4 - Name: P4 - Cell: 1 Pin 6 - Name: P6 - Cell: 2 Entity System: Nets Net 2 - Name: N2 - Pins: 2 3 6 Entity System: Pins Pin 1 - Name: P1 - Net: -- Pin 3 - Name: P3 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: -- Pin 5 - Name: P5 - Net: -- Pin 6 - Name: P6 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

Relationships Between Entities: aggregation and composition Entity System: Nets Net 1 - Name: N1 - Pins: 1 4 5 Net 2 - Name: N2 - Pins: 2 3 6 AGGREGATION Entity System: Pins Pin 1 - Name: P1 - Net: 1 Pin 3 - Name: P3 Pin 5 - Name: P5 - Net: 1 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: 1 Pin 6 - Name: P6 Entity System: Cells Cell 1 - Name: C1 - Pins: 1 4 5 Cell 2 - Name: C2 - Pins: 2 3 6 COMPOSITION Entity System: Pins Pin 1 - Name: P1 - Cell: 1 Pin 3 - Name: P3 - Cell: 2 Pin 5 - Name: P5 - Cell: 1 Pin 2 - Name: P2 - Cell: 2 Pin 4 - Name: P4 - Cell: 1 Pin 6 - Name: P6 - Cell: 2 Entity System: Nets Entity System: Pins Entity System: Cells Entity System: Pins Net 2 - Name: N2 - Pins: 2 3 6 Pin 1 - Name: P1 - Net: -- Pin 3 - Name: P3 Pin 2 - Name: P2 Pin 4 - Name: P4 - Net: -- Cell 2 - Name: C2 - Pins: 2 3 6 Pin 2 - Name: P2 - Cell: 2 Pin 6 - Name: P6 - Cell: 2 Pin 3 - Name: P3 - Cell: 2 Pin 5 - Name: P5 - Net: -- Pin 6 - Name: P6 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

Infrastructure & Experimental Results ICCAD 2015 infrastructure: 8 circuits with sizes between 768k and 1.93M cells Objective: Analyze cache misses and runtime Scenario A: check if all circuit cells positions lie within the circuit s boundaries Scenario B: computing the interconnection wirelength for all circuit nets Machine (31GB) Processor Cache L3 (6144KB) L2 (256KB) L2 (256KB) L2 (256KB) L2 (256KB) L1d (32KB) L1d (32KB) L1d (32KB) L1d (32KB) L1i (32KB) L1i (32KB) L1i (32KB) L1i (32KB) Processor Elements Core P#0 Core P#1 Core P#2 Core P#3 PU P#0 PU P#1 PU P#2 PU P#3 Vinicius Livramento ISPD - March, 2017 - Portland, OR 16

Total Cache Miss for Scenario A: exploiting cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 17

Total Cache Miss for Scenario A: exploiting cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 17

Runtime for Scenario A: exploiting cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 18

Runtime for Scenario A: exploiting cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 18

Total Cache Miss for Scenario B: less benefits from cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 19

Total Cache Miss for Scenario B: less benefits from cache locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 19

Conclusions and Perspectives Data-Oriented design can be efficiently applied to physical design Modular code is more suitable for parallel implementations Better testability Opportunities for future work Organize data according to access pattern Multiple copies of the same vector of properties sorted in different order Vinicius Livramento ISPD - March, 2017 - Portland, OR 20

How Game Engines Can Inspire EDA Tools Development: A use case for an open-source physical design library Questions? Vinicius Livramento vinilivramento@gmail.com phidian

Aggregation code example class Net : public entity_system::entitybase{ }; class Pin : public entity_system::entitybase{ }; EntitySystem<Net> nets; EntitySystem<Pin> pins; Aggregation<Net, Pin> aggregation(nets, pins); Cell n3 = nets.add(); Pin p5 = pins.add(); Pin p6 = pins.add(); P1 P2 N2 P3 N1 A P5 N3 P4 P6 B P7 N4 P8 aggregation.addassociation(n3, p5); aggregation.addassociation(n3, p6); Vinicius Livramento ISPD - March, 2017 - Portland, OR 22

Composition code example class Cell : public entity_system::entitybase{ }; class Pin : public entity_system::entitybase{ }; EntitySystem<Cell> cells; EntitySystem<Pin> pins; Composition<Cell, Pin> composition(cells, pins); Cell a = cells.add(); Pin p3 = pins.add(); Pin p5 = pins.add(); P1 P2 N2 P3 N1 A P5 N3 P4 P6 B P7 N4 P8 composition.addassociation(a, p3); composition.addassociation(a, p5); Vinicius Livramento ISPD - March, 2017 - Portland, OR 23