Accelerating Simulink Optimization, Code Generation & Test Automation Through Parallelization

Similar documents
DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Model-Based Design: Design with Simulation in Simulink

How Real-Time Testing Improves the Design of a PMSM Controller

Multicore Computer, GPU 및 Cluster 환경에서의 MATLAB Parallel Computing 기능

Verification, Validation and Test in Model Based Design Manohar Reddy

Integrating Mechanical Design and Multidomain Simulation with Simscape

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Professional Edition. Hardware Requirements

The Use of Computing Clusters and Automatic Code Generation to Speed Up Simulation Tasks

Intel Workstation Technology

Virtuelle Inbetriebnahme und Optimierung von Robotersystemen mit Simscape The MathWorks, Inc. 1

Integrating Mechanical Design and Multidomain Simulation with Simscape

Introduction to C and HDL Code Generation from MATLAB

Introduction to Control Systems Design

Dr. Yassine Hariri CMC Microsystems

Behind Today s Trends The Technologies Driving Change. Jason Ghidella Simulink Product Manager MathWorks

What s New in Simulink in R2015b and R2016a

Accelerating FASGW(H) / ANL Image Processing with Model-Based Design Issue 2

Model-Based Design for Altera FPGAs Using HDL Code Generation The MathWorks, Inc. 1

What s New MATLAB and Simulink

Behind Today s Trends The Technologies Driving Change. Paul Smith Director Consulting Services

Lecture x: MATLAB - advanced use cases

Advanced AC Motor Control S/W Development Sang-Ho Yoon Senior Application Engineer The MathWorks

Introduction to Simulink Design Optimization

Speeding up MATLAB Applications The MathWorks, Inc.

Using Parallel Computing Toolbox to accelerate the Video and Image Processing Speed. Develop parallel code interactively

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group

What s New in MATLAB and Simulink

Model-based Design/Simulation

To hear the audio, please be sure to dial in: ID#

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer

Model-based Design/Simulation

Edwards Air Force Base Accelerates Flight Test Data Analysis Using MATLAB and Math Works. John Bourgeois EDWARDS AFB, CA. PRESENTED ON: 10 June 2010

Scaling MATLAB. for Your Organisation and Beyond. Rory Adams The MathWorks, Inc. 1

Real-Time Testing in a Modern, Agile Development Workflow

DEEP NEURAL NETWORKS CHANGING THE AUTONOMOUS VEHICLE LANDSCAPE. Dennis Lui August 2017

Large Data in MATLAB: A Seismic Data Processing Case Study U. M. Sundar Senior Application Engineer

System Requirements & Platform Availability by Product for R2016b

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 )

IT and Interface Requirements

What s New in MATLAB and Simulink Young Joon Lee Principal Application Engineer

2015 The MathWorks, Inc. 1

MATLAB Based Optimization Techniques and Parallel Computing

Automated Driving Development

Audio Signal Processing in MATLAB Youssef Abdelilah Senior Product Manager

MAC + PHY Modeling & Multilayer Simulation of DSRC V2V Network

Advances of parallel computing. Kirill Bogachev May 2016

Optimizing and Accelerating Your MATLAB Code

Generating Industry Standards Production C Code Using Embedded Coder

What s New in MATLAB and Simulink

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

Windows Compute Cluster Server 2003 allows MATLAB users to quickly and easily get up and running with distributed computing tools.

Speeding up MATLAB Applications Sean de Wolski Application Engineer

Microsoft Office SharePoint Server 2007

Estimate performance and capacity requirements for InfoPath Forms Services 2010

다중센서기반자율시스템의모델설계및개발 이제훈차장 The MathWorks, Inc. 2

Control System Design and Rapid Prototyping Using Simulink Chirag Patel Sr. Application Engineer Modeling and Simulink MathWorks India

Simulink 를이용한 효율적인레거시코드 검증방안

Real Time Testing of PMSM Controller using xpc Target Turnkey solution

Real-Time Workshop Embedded Coder 4

Integrating Advanced Analytics with Big Data

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX

Weapon System Fault Detection, Isolation, and Analysis using Stateflow

Simulink as Your Enterprise Simulation Platform

MPI Optimizations via MXM and FCA for Maximum Performance on LS-DYNA

SAP HANA. Jake Klein/ SVP SAP HANA June, 2013

Accelerated Technology Refresh Project (ATRP) at VCH and PHC. Frequently Asked Questions

OP5600 & OP7000. High performance Real-Time simulators. Yahia Bouzid 25 th June2013

Developing Optimization Algorithms for Real-World Applications

Extending Model-Based Design for HW/SW Design and Verification in MPSoCs Jim Tung MathWorks Fellow

MathWorks Products and Prices North America January 2018

Effective Verification Strategies for Distributed Body Control Applications based on Plant Modeling and Test Case Reuse

ENDURING DIFFERENTIATION Timothy Lanfear

ENDURING DIFFERENTIATION. Timothy Lanfear

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

Matlab Simulink Simscape

What s New in MATLAB & Simulink. Prashant Rao Technical Manager MathWorks India

Software within building physics and ground heat storage. HEAT3 version 7. A PC-program for heat transfer in three dimensions Update manual

USING THE MATLAB TOOLSET TO IMPROVE EFFICIENCY IN THE EOBD CALIBRATION PROCESS

Multi-Target Modelling for Embedded Software Development for Automotive Applications

NVIDIA PLATFORM FOR AI

Cornell Theory Center 1

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems

LLGrid: On-Demand Grid Computing with gridmatlab and pmatlab

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Accelerating Finite Element Analysis in MATLAB with Parallel Computing

Surveyor 6 Product Guide

AUTOMOTIVE DYNAMOMETER HARDWARE AND SOFTWARE

Engine Plant Model Development and Controller Calibration using Powertrain Blockset TM

What is the best way to implement my algorithm in Simulink?

Importing Models from Physical Modeling. Tools Using the FMI Standard

What's new in MATLAB and Simulink for Model-Based Design

Automotive Dynamometer

MATLAB 에서작업한응용프로그램의공유 : App 에서부터웹서비스까지

Verification, Validation, and Test with Model-Based Design

Simulator in the-loop Environment for Autocode Verification

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA

Rapid Control Prototyping Solutions Electrical Drive, Power Conversion and Power Systems

CME 213 S PRING Eric Darve

Transcription:

Accelerating Simulink Optimization, Code Generation & Test Automation Through Parallelization Ryan Chladny Application Engineering May 13 th, 2014 2014 The MathWorks, Inc. 1

Design Challenge: Electric Vehicle 2

EV Battery Topology Optimization N_cells N_strings Independently minimize 0-60 mph time and maximize range Combined 0-60 mph & US06 drive cycle: ~ 20min simulation Genetic algorithm rules of thumb : ~70 days to converge Is this problem feasible? 3

19 18 17 0 to 60 mph Time [s] Battery Ratio [%] Multi-Objective 0-60mph + US06 Results 45 40 16 15 14 Cells: 214, 107s2p Drive Ratio: 6.90:1 35 30 13 12 Cells: 424, 106s4p Drive Ratio: 8.01:1 25 20 11 75 80 85 90 95 SOC [%] Parallelization reduced the simulation time from 70 days to 2!!! 4

Motivation for Simulink Parallelization Processor frequencies are flat Number of cores are increasing Parallelization is essential M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond, C. Batten Extrapolations by C. Moore in: http://www.lanl.gov/orgs/hpc/salishan/salishan2011/3moore.pdf Simulink can be parallelized Control tuning, design and optimization Code generation Test automation 5

EV Example: What is needed to solve the problem? Drive cycle(s) Combined 0-60mph + US06 Model Operator, control and plant Variables, objectives & constraints Algorithm Genetic algorithm & cost functions Command scripts Initialize model & hardware Update dependent variables Collect, post-process & plot results 6

EV Example: What is needed to parallelize? Prototype on laptop and remote desktop Deploy to ad-hoc cluster 16 quad-core workstations 80 generations, populations of 64 Serial computation: ~70 days Parallel computation: ~2 days 7

Parallel Computing Toolbox MATLAB Distributed Computing Server 8

Parallel Computing Toolbox Desktop Computer Local Workers Enables explicit use of multi-core processors Full MATLAB MATLAB Desktop (Client) Provides high-level tools and infrastructure for: creation and monitoring of jobs allocating hardware resources Provides a bridge to cluster hardware 9

Parallel Computing Toolbox Desktop Computer Local Workers Enables explicit use of multi-core processors Full MATLAB MATLAB Desktop (Client) Provides high-level tools and infrastructure for: creation and monitoring of jobs allocating hardware resources Provides a bridge to cluster hardware 10

MATLAB Distributed Computing Server Desktop Computer Local Computer Cluster Cluster 1. Prototype local parallel code 2. Access an enabled cluster Simulink, Blocksets, and Other Toolboxes MATLAB Profile (Local) Scheduler Profile (Cluster) 3. Switch local parallel profile to cluster profile 11

Code Generation 12

Code Generation & Parallel Computing M. Goto, Innovation of automotive software development, Denso Corporation Keynote Address, International Software Product Line Conference, 2013 http://splc2013.net/splc2013-keynote-goto.pdf 13

Code Generation & Parallel Computing Example Industrial control software Reference models > 10 Stateflow charts > 50 Block count > 70,000 Intel i7-3520m, 2 (real) cores, 2.9GHz, 16Gb RAM, 5400rpm Serial build time: 763s 14

Code Generation & Parallel Computing Example Industrial control software Reference models > 10 Stateflow charts > 50 Block count > 70,000 Intel i7-3520m, 2 (real) cores, 2.9GHz, 16Gb RAM, 5400rpm Serial build time: 763s Parallel build time: 438s 15

Test Automation 16

Test Automation & Parallel Computing Example Fault tolerant fuel rate controller Simulink Design Verifier generated test harness & vectors Serial execution: 457s 17

Test Automation & Parallel Computing Example Fault tolerant fuel rate controller Simulink Design Verifier generated test harness & vectors Serial execution: 457s Minor script adjustments Parallel execution: 252s, ~2x faster 18

Summary System and software complexity are increasing MathWorks parallel solutions enable full processing power of multicore computers Simulink can be parallelized for: design exploration, calibration & optimization code generation test automation Increased throughput is equivalent to opportunity 19

2014 The MathWorks, Inc. 20