PHCG: Optimizing Simulink Code Generation for Embedded System With SIMD Instructions

Simulink is widely used for the model-driven design of embedded systems. It is able to generate optimized embedded control software code through expression folding, variable reuse, etc. However, for some commonly used computing-sensitive models, such as the models for signal processing applications,...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on computer-aided design of integrated circuits and systems Vol. 42; no. 4; pp. 1072 - 1084
Main Authors Su, Zhuo, Wang, Dongyan, Yu, Zehong, Yang, Yixiao, Jiang, Yu, Wang, Rui, Chang, Wanli, Li, Wen, Cui, Aiguo, Sun, Jiaguang
Format Journal Article
LanguageEnglish
Published New York IEEE 01.04.2023
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects
Online AccessGet full text
ISSN0278-0070
1937-4151
DOI10.1109/TCAD.2022.3197504

Cover

Abstract Simulink is widely used for the model-driven design of embedded systems. It is able to generate optimized embedded control software code through expression folding, variable reuse, etc. However, for some commonly used computing-sensitive models, such as the models for signal processing applications, the efficiency of the generated code is still limited. In this article, we propose PHCG, an optimized code generator for the Simulink model with single-instruction-multiple-data (SIMD) instruction synthesis. It will select the optimal implementations for intensive computing actors based on adaptively precalculation of the input scales, and synthesize the appropriate SIMD instructions for batch computing actors based on the iterative dataflow graph mapping. In addition, actors of the same type that can be executed in parallel can be combined into batch computing actors as much as possible by merging isomorphic subgraphs. We implemented and evaluated its performance on benchmark Simulink models. Compared to the built-in Simulink Coder and the most recent DFSynth, the code generated by PHCG achieves an improvement of 38.9%-92.9% and 41.2%-76.8% in terms of execution time across different architectures and compilers, respectively.
AbstractList Simulink is widely used for the model-driven design of embedded systems. It is able to generate optimized embedded control software code through expression folding, variable reuse, etc. However, for some commonly used computing-sensitive models, such as the models for signal processing applications, the efficiency of the generated code is still limited. In this article, we propose PHCG, an optimized code generator for the Simulink model with single-instruction-multiple-data (SIMD) instruction synthesis. It will select the optimal implementations for intensive computing actors based on adaptively precalculation of the input scales, and synthesize the appropriate SIMD instructions for batch computing actors based on the iterative dataflow graph mapping. In addition, actors of the same type that can be executed in parallel can be combined into batch computing actors as much as possible by merging isomorphic subgraphs. We implemented and evaluated its performance on benchmark Simulink models. Compared to the built-in Simulink Coder and the most recent DFSynth, the code generated by PHCG achieves an improvement of 38.9%-92.9% and 41.2%-76.8% in terms of execution time across different architectures and compilers, respectively.
Author Sun, Jiaguang
Su, Zhuo
Cui, Aiguo
Yu, Zehong
Chang, Wanli
Wang, Dongyan
Li, Wen
Yang, Yixiao
Jiang, Yu
Wang, Rui
Author_xml – sequence: 1
  givenname: Zhuo
  orcidid: 0000-0001-7083-2038
  surname: Su
  fullname: Su, Zhuo
  email: suzcpp@gmail.com
  organization: KLISS, BNRist, School of Software, Tsinghua University, Beijing, China
– sequence: 2
  givenname: Dongyan
  orcidid: 0000-0003-2930-2689
  surname: Wang
  fullname: Wang, Dongyan
  email: wdy@ruc.edu.cn
  organization: Information Technology Center, Renmin University of China, Beijing, China
– sequence: 3
  givenname: Zehong
  orcidid: 0000-0002-0162-7185
  surname: Yu
  fullname: Yu, Zehong
  organization: KLISS, BNRist, School of Software, Tsinghua University, Beijing, China
– sequence: 4
  givenname: Yixiao
  surname: Yang
  fullname: Yang, Yixiao
  email: yangyixiaofirst@163.com
  organization: Information Engineering College, Capital Normal University, Beijing, China
– sequence: 5
  givenname: Yu
  orcidid: 0000-0003-0955-503X
  surname: Jiang
  fullname: Jiang, Yu
  email: jiangyu198964@126.com
  organization: KLISS, BNRist, School of Software, Tsinghua University, Beijing, China
– sequence: 6
  givenname: Rui
  surname: Wang
  fullname: Wang, Rui
  organization: Information Engineering College, Capital Normal University, Beijing, China
– sequence: 7
  givenname: Wanli
  orcidid: 0000-0002-4053-8898
  surname: Chang
  fullname: Chang, Wanli
  email: wanli.chang.rts@gmail.com
  organization: College of Computer Science and Electronic Engineering, Hunan University, Changsha, China
– sequence: 8
  givenname: Wen
  surname: Li
  fullname: Li, Wen
  email: coco.liwen@huawei.com
  organization: Gödel Labs, Huawei Technologies Company Ltd., Shanghai, China
– sequence: 9
  givenname: Aiguo
  surname: Cui
  fullname: Cui, Aiguo
  organization: Gödel Labs, Huawei Technologies Company Ltd., Shanghai, China
– sequence: 10
  givenname: Jiaguang
  surname: Sun
  fullname: Sun, Jiaguang
  organization: KLISS, BNRist, School of Software, Tsinghua University, Beijing, China
BookMark eNp9kEFPwjAUgBuDiYD-AOOliefha7e11BsZCCQYTMB4XLb1oUW2Ydsd8Nc7xHjw4Oldvu-9vK9HOlVdISHXDAaMgbpbJ6PxgAPng5ApGUN0RrpMhTKIWMw6pAtcDgMACRek59wWgEUxV12yfpol03u63HtTmk9TvdKVKZudqd5pUmukU6zQZt7UFd3Ulk7KHLVGTVcH57GkL8a_0dX8cUznlfO2KY6kuyTnm2zn8Opn9snzw2SdzILFcjpPRoug4Cr0gZYoUUit40JmEPMcsiwCKUANcxVzxkGgQihyFrVApHUoNkIOea55oQrMwz65Pe3d2_qjQefTbd3Yqj2Ztu-qSAgQsqXkiSps7ZzFTVoY__2St5nZpQzSY8L0mDA9Jkx_ErYm-2PurSkze_jXuTk5BhF_eTWMuRRR-AVfM316
CODEN ITCSDI
CitedBy_id crossref_primary_10_1007_s00170_024_14579_4
crossref_primary_10_3390_computers13030073
crossref_primary_10_1109_TCAD_2024_3438691
Cites_doi 10.1145/3078623
10.1016/j.sysarc.2018.08.008
10.1016/B978-155860702-6/50048-X
10.1109/TITS.2017.2778077
10.1109/CACSD.1999.808650
10.1145/3365438.3410959
10.1145/2442116.2442133
10.1145/263580.263662
10.1109/MiSE.2019.00022
10.1109/TPDS.2014.2346171
10.1007/978-1-4020-6254-4_2
10.1145/2635868.2661664
10.1109/SERP4IoT.2019.00012
10.1007/978-0-8176-4842-8_3
10.1109/tcad.2021.3132564
10.1145/3297280.3300182
10.1109/PACT.2017.21
10.1007/978-3-540-72685-2_19
10.1109/ICASSP.1998.681704
10.1109/ICASSP.1997.599865
10.1145/3270112.3275338
10.1155/2021/3264624
10.1142/S0218126603000763
10.1007/978-1-4757-3023-4_1
10.1145/358438.349320
10.1145/362342.362367
10.1109/TCAD.2021.3055487
10.1145/3489517.3530582
ContentType Journal Article
Copyright Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2023
Copyright_xml – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2023
DBID 97E
RIA
RIE
AAYXX
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
DOI 10.1109/TCAD.2022.3197504
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Electronic Library (IEL)
CrossRef
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Technology Research Database
Computer and Information Systems Abstracts – Academic
Electronics & Communications Abstracts
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Technology Research Database
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore digital library
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISSN 1937-4151
EndPage 1084
ExternalDocumentID 10_1109_TCAD_2022_3197504
9852764
Genre orig-research
GrantInformation_xml – fundername: National Key Research and Development Project
  grantid: 2019YFB1706203; No2021QY0604
– fundername: MIIT Project (Design of Intelligent Networked Vehicle Based on SOA Central Control)
– fundername: NSFC Program
  grantid: 62022046; 92167101; U1911401; 62021002; 62192730
  funderid: 10.13039/501100001809
GroupedDBID --Z
-~X
0R~
29I
4.4
5GY
5VS
6IK
97E
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABQJQ
ABVLG
ACGFS
ACIWK
ACNCT
AENEX
AETIX
AGQYO
AGSQL
AHBIQ
AI.
AIBXA
AKJIK
AKQYR
ALLEH
ALMA_UNASSIGNED_HOLDINGS
ASUFR
ATWAV
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CS3
DU5
EBS
EJD
HZ~
H~9
IBMZZ
ICLAB
IFIPE
IFJZH
IPLJI
JAVBF
LAI
M43
O9-
OCL
P2P
PZZ
RIA
RIE
RNS
TN5
VH1
VJK
AAYXX
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c293t-d7e7e67dd5c7a052b0aa4076098b9521206e9e0cb14c7a4dd36f6782bd2c9ceb3
IEDL.DBID RIE
ISSN 0278-0070
IngestDate Mon Jun 30 06:13:35 EDT 2025
Thu Apr 24 22:52:00 EDT 2025
Wed Oct 01 02:54:53 EDT 2025
Wed Aug 27 02:18:10 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
https://doi.org/10.15223/policy-029
https://doi.org/10.15223/policy-037
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c293t-d7e7e67dd5c7a052b0aa4076098b9521206e9e0cb14c7a4dd36f6782bd2c9ceb3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0001-7083-2038
0000-0003-2930-2689
0000-0002-0162-7185
0000-0002-4053-8898
0000-0003-0955-503X
PQID 2789466067
PQPubID 85470
PageCount 13
ParticipantIDs crossref_citationtrail_10_1109_TCAD_2022_3197504
ieee_primary_9852764
proquest_journals_2789466067
crossref_primary_10_1109_TCAD_2022_3197504
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 2023-04-01
PublicationDateYYYYMMDD 2023-04-01
PublicationDate_xml – month: 04
  year: 2023
  text: 2023-04-01
  day: 01
PublicationDecade 2020
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle IEEE transactions on computer-aided design of integrated circuits and systems
PublicationTitleAbbrev TCAD
PublicationYear 2023
Publisher IEEE
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Publisher_xml – name: IEEE
– name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
References ref35
ref34
ref15
ref30
ref11
ref33
ref10
ref32
ref2
ref1
ref17
Zhang (ref31)
ref39
ref16
ref38
ref19
ref18
(ref8) 2021
(ref12) 2021
Adams (ref27) 1969
ref24
ref23
ref25
Bourbouh (ref29)
Bress (ref20) 2013
ref22
ref21
Maleki (ref41) 2013; 3
Patterson (ref14) 1990
Allen (ref37) 2002
ref28
(ref26) 2021
ref7
ref9
ref4
ref3
(ref6) 2021
(ref36) 2021
ref5
ref40
(ref13) 2021
References_xml – ident: ref22
  doi: 10.1145/3078623
– ident: ref7
  doi: 10.1016/j.sysarc.2018.08.008
– ident: ref15
  doi: 10.1016/B978-155860702-6/50048-X
– ident: ref25
  doi: 10.1109/TITS.2017.2778077
– ident: ref28
  doi: 10.1109/CACSD.1999.808650
– start-page: 1
  volume-title: Proc. 10th Eur. Congr. Embedded Real Time Softw. Syst. (ERTS)
  ident: ref29
  article-title: CoCoSim, a code generation framework for control/command applications an overview of CoCoSim for multi-periodic discrete Simulink models
– ident: ref4
  doi: 10.1145/3365438.3410959
– volume-title: Computer Architecture: A Quantitative Approach
  year: 1990
  ident: ref14
– ident: ref19
  doi: 10.1145/2442116.2442133
– ident: ref11
  doi: 10.1145/263580.263662
– ident: ref21
  doi: 10.1109/MiSE.2019.00022
– ident: ref23
  doi: 10.1109/TPDS.2014.2346171
– volume-title: DaVinci Developer
  year: 2021
  ident: ref26
– volume-title: A Computation Model With Data Flow Sequencing
  year: 1969
  ident: ref27
– ident: ref17
  doi: 10.1007/978-1-4020-6254-4_2
– ident: ref24
  doi: 10.1145/2635868.2661664
– volume-title: Optimizing Compilers for Modern Architectures: A Dependence-Based Approach
  year: 2002
  ident: ref37
– ident: ref5
  doi: 10.1109/SERP4IoT.2019.00012
– volume-title: Simulink Documentation
  year: 2021
  ident: ref6
– volume: 3
  start-page: 1298
  issue: 4
  year: 2013
  ident: ref41
  article-title: An evaluation of Vectorizing compilers
  publication-title: Evaluation
– ident: ref33
  doi: 10.1007/978-0-8176-4842-8_3
– volume-title: Intel intrinsics guide
  year: 2021
  ident: ref13
– ident: ref32
  doi: 10.1109/tcad.2021.3132564
– ident: ref3
  doi: 10.1145/3297280.3300182
– start-page: 32
  volume-title: Proc. D & P MoDELS
  ident: ref31
  article-title: Tsmart-BIPEX: An integrated graphical design toolkit for software systems
– ident: ref39
  doi: 10.1109/PACT.2017.21
– ident: ref18
  doi: 10.1007/978-3-540-72685-2_19
– ident: ref10
  doi: 10.1109/ICASSP.1998.681704
– ident: ref30
  doi: 10.1109/ICASSP.1997.599865
– volume-title: Simulink Documentation
  year: 2021
  ident: ref8
– ident: ref2
  doi: 10.1145/3270112.3275338
– ident: ref40
  doi: 10.1155/2021/3264624
– ident: ref16
  doi: 10.1142/S0218126603000763
– ident: ref34
  doi: 10.1007/978-1-4757-3023-4_1
– volume-title: Auto-vectorization in GCC
  year: 2021
  ident: ref36
– ident: ref38
  doi: 10.1145/358438.349320
– ident: ref35
  doi: 10.1145/362342.362367
– volume-title: Arm neon technology
  year: 2021
  ident: ref12
– volume-title: Effective LabVIEW Programming:(* New File Uploaded 02/19/15)
  year: 2013
  ident: ref20
– ident: ref9
  doi: 10.1109/TCAD.2021.3055487
– ident: ref1
  doi: 10.1145/3489517.3530582
SSID ssj0014529
Score 2.4081485
Snippet Simulink is widely used for the model-driven design of embedded systems. It is able to generate optimized embedded control software code through expression...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 1072
SubjectTerms Code generation
Codes
Computation
Computational modeling
Computer architecture
Data models
Embedded systems
Graph theory
Integrated circuit modeling
Iterative methods
Merging
model-driven design
Optimization
SIMD (computers)
Simulink
single-instruction--multiple-data (SIMD) instruction
Software packages
Title PHCG: Optimizing Simulink Code Generation for Embedded System With SIMD Instructions
URI https://ieeexplore.ieee.org/document/9852764
https://www.proquest.com/docview/2789466067
Volume 42
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE Xplore digital library
  customDbUrl:
  eissn: 1937-4151
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0014529
  issn: 0278-0070
  databaseCode: RIE
  dateStart: 19820101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3dT8IwEL8IT_rgFxpRNH3wyTjoRtdS3wyCaIKaAJG3ZW1vkSBgAr7419tuAz9jfFuWNunubvfRu_sdwKnkgdSBQs-v-4nHlEo8iTLxqIpZGPuxNikcQ_eOdwbsdhgO1-B81QuDiGnxGVbdY5rLNzP96q7KarIRBoKzAhREg2e9WquMgUsgpvcpDjHWynGewfSprPXtR9lIMAhsgCodnPkXG5QOVfmhiVPz0t6C7vJgWVXJuPq6UFX99g2z8b8n34bN3M8kl5lg7MAaTndh4xP6YAn6D53m9QW5t0pjMnqzr0hv5IqlpmPSnBkkGSK1Yxyxni1pTRRaLWVIBnJOHkeLJ9K76V6Rmw8U2vkeDNqtfrPj5UMWPG0t_cIzAgVyYUyoRUzDQNE4Zi5dJxtKusZeylEi1cpndgEzps4Ta-ACZQIttQ3F96E4nU3xAIjQyClTCaPMuHScUrRuUKkYheW4ZmWgS7JHOkcgd4MwnqM0EqEycpyKHKeinFNlOFttecngN_5aXHKUXy3MiV6GypK3Uf6DziPXAMy4jd7E4e-7jmDdTZbPinQqULR0xGPrfyzUSSp474801nc
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LT8MwDLZ4HIADr4EYDMiBE6Ij7dJ24YbGxgbrQNoQ3KImccUEdEiMC7-epO3GU4hbVSVSart-xPZngAMeeFx5Eh235iYOkzJxOPLEoTJmfuzGSmdwDFEvaN-wizv_bgaOpr0wiJgVn2HVPma5fD1Sr_aq7JjXfS8M2CzM-4wxP-_WmuYMbAoxu1GxmLFGkoscpkv58cB8lokFPc-EqNwCmn-xQtlYlR-6ODMwrRWIJkfL60oeqq9jWVVv31Ab_3v2VVguPE1ymovGGsxgug5Ln_AHSzC4bjfOT8iVURtPwzfzivSHtlwqfSCNkUaSY1Jb1hHj25Lmk0SjpzTJYc7J7XB8T_qd6Ix0PnBoXzbgptUcNNpOMWbBUcbWjx0dYohBqLWvwpj6nqRxzGzCjtclt629NECOVEmXmQVM61qQGBPnSe0prkwwvglz6SjFLSChwoAymTDKtE3ISUlrGqWMMTQ8V6wMdEJ2oQoMcjsK41FksQjlwnJKWE6JglNlOJxuec4BOP5aXLKUny4siF6GyoS3ovhFX4RtAWaBid_C7d937cNCexB1RbfTu9yBRTtnPi_ZqcCcoSnuGm9kLPcyIXwH9SHZxA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=PHCG%3A+Optimizing+Simulink+Code+Generation+for+Embedded+System+With+SIMD+Instructions&rft.jtitle=IEEE+transactions+on+computer-aided+design+of+integrated+circuits+and+systems&rft.au=Su%2C+Zhuo&rft.au=Wang%2C+Dongyan&rft.au=Yu%2C+Zehong&rft.au=Yang%2C+Yixiao&rft.date=2023-04-01&rft.pub=IEEE&rft.issn=0278-0070&rft.volume=42&rft.issue=4&rft.spage=1072&rft.epage=1084&rft_id=info:doi/10.1109%2FTCAD.2022.3197504&rft.externalDocID=9852764
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0278-0070&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0278-0070&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0278-0070&client=summon