Multigrain parallelization for model-based design applications using the OSCAR compiler

Dan Umeda*, Takahiro Suzuki, Hiroki Mikami, Keiji Kimura, Hironori Kasahara

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Model-based design is a very popular software development method for developing a wide variety of embedded applications such as automotive systems, aircraft systems, and medical systems. Model-based design tools like MATLAB/Simulink typically allow engineers to graphically build models consisting of connected blocks for the purpose of reducing development time. These tools also support automatic C code generation from models with a special tool such as Embedded Coder to map models onto various kinds of embedded CPUs. Since embedded systems require real-time processing, the use of multi-core CPUs poses more opportunities for accelerating program execution to satisfy the real-time constraints. While prior approaches exploit parallelism among blocks by inspecting MATLAB/Simulink models, this may lose an opportunity for fully exploiting parallelism of the whole program because models potentially have parallelism within a block. To unlock this limitation, this paper presents an automatic parallelization technique for auto-generated C code developed by MATLAB/Simulink with Embedded Coder. Specifically, this work (1) exploits multi-level parallelism including inter-block and intra-block parallelism by analyzing the auto-generated C code, and (2) performs static scheduling to reduce dynamic overheads as much as possible. Also, this paper proposes an automatic profiling framework for the auto-generated code for enhancing static scheduling, which leads to improving the performance of MATLAB/Simulink applications. Performance evaluation shows 4.21 times speedup with six processor cores on Intel Xeon X5670 and 3.38 times speedup with four processor cores on ARM Cortex-A15 compared with uniprocessor execution for a road tracking application.

Original languageEnglish
Title of host publicationLanguages and Compilers for Parallel Computing - 28th International Workshop, LCPC 2015, Revised Selected Papers
EditorsXipeng Shen, Frank Mueller, James Tuck
PublisherSpringer Verlag
Pages125-139
Number of pages15
ISBN (Print)9783319297774
DOIs
Publication statusPublished - 2016
Event28th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2015 - Raleigh, United States
Duration: 2015 Sept 92015 Sept 11

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9519
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other28th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2015
Country/TerritoryUnited States
CityRaleigh
Period15/9/915/9/11

Keywords

  • Automatic code generation
  • Automatic parallelization
  • MATLAB/Simulink
  • Model-based design
  • Multi-core

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Multigrain parallelization for model-based design applications using the OSCAR compiler'. Together they form a unique fingerprint.

Cite this