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,...
Saved in:
| Published in | IEEE transactions on computer-aided design of integrated circuits and systems Vol. 42; no. 4; pp. 1072 - 1084 |
|---|---|
| Main Authors | , , , , , , , , , |
| Format | Journal Article |
| Language | English |
| Published |
New York
IEEE
01.04.2023
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Subjects | |
| Online Access | Get full text |
| ISSN | 0278-0070 1937-4151 |
| DOI | 10.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 |