TC:优化编译器

IF 2.4 4区 计算机科学 Q2 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Piotr Skotnicki
{"title":"TC:优化编译器","authors":"Piotr Skotnicki","doi":"10.1016/j.softx.2025.102351","DOIUrl":null,"url":null,"abstract":"<div><div>In scientific codes, particularly those used in simulations, the majority of execution time is consumed by the processing of program loops. However, the ordering of statement instances constituting a loop nest, which arises from its naive, typically hand-written implementation, usually leads to inefficient and suboptimal utilization of hardware resources. Over the past decades, significant research efforts have been devoted to developing loop nest transformations aimed at enhancing thread- and instruction-level parallelism, as well as improving memory hierarchy usage, with the affine transformations framework becoming the canonical approach.</div><div>This paper presents TC – a source-to-source optimizing compiler for program loop nests. Unlike state-of-the-art solutions, TC extends the polyhedral compilation pipeline with a data dependence analysis based on the transitive closure relation, significantly broadening the range of optimization opportunities.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"32 ","pages":"Article 102351"},"PeriodicalIF":2.4000,"publicationDate":"2025-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"TC: Optimizing compiler\",\"authors\":\"Piotr Skotnicki\",\"doi\":\"10.1016/j.softx.2025.102351\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>In scientific codes, particularly those used in simulations, the majority of execution time is consumed by the processing of program loops. However, the ordering of statement instances constituting a loop nest, which arises from its naive, typically hand-written implementation, usually leads to inefficient and suboptimal utilization of hardware resources. Over the past decades, significant research efforts have been devoted to developing loop nest transformations aimed at enhancing thread- and instruction-level parallelism, as well as improving memory hierarchy usage, with the affine transformations framework becoming the canonical approach.</div><div>This paper presents TC – a source-to-source optimizing compiler for program loop nests. Unlike state-of-the-art solutions, TC extends the polyhedral compilation pipeline with a data dependence analysis based on the transitive closure relation, significantly broadening the range of optimization opportunities.</div></div>\",\"PeriodicalId\":21905,\"journal\":{\"name\":\"SoftwareX\",\"volume\":\"32 \",\"pages\":\"Article 102351\"},\"PeriodicalIF\":2.4000,\"publicationDate\":\"2025-09-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SoftwareX\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2352711025003176\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SoftwareX","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352711025003176","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

摘要

在科学代码中,特别是在模拟中使用的代码中,大部分执行时间都被程序循环的处理所消耗。然而,构成循环嵌套的语句实例的顺序,通常是由其幼稚的、手写的实现产生的,通常会导致硬件资源的低效和次优利用。在过去的几十年里,大量的研究工作致力于开发旨在增强线程和指令级并行性的循环巢转换,以及改善内存层次结构的使用,仿射转换框架成为规范的方法。本文介绍了一种针对程序循环巢的源对源优化编译器TC。与最先进的解决方案不同,TC通过基于传递闭包关系的数据依赖性分析扩展了多面体编译管道,大大拓宽了优化机会的范围。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
TC: Optimizing compiler
In scientific codes, particularly those used in simulations, the majority of execution time is consumed by the processing of program loops. However, the ordering of statement instances constituting a loop nest, which arises from its naive, typically hand-written implementation, usually leads to inefficient and suboptimal utilization of hardware resources. Over the past decades, significant research efforts have been devoted to developing loop nest transformations aimed at enhancing thread- and instruction-level parallelism, as well as improving memory hierarchy usage, with the affine transformations framework becoming the canonical approach.
This paper presents TC – a source-to-source optimizing compiler for program loop nests. Unlike state-of-the-art solutions, TC extends the polyhedral compilation pipeline with a data dependence analysis based on the transitive closure relation, significantly broadening the range of optimization opportunities.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
SoftwareX
SoftwareX COMPUTER SCIENCE, SOFTWARE ENGINEERING-
CiteScore
5.50
自引率
2.90%
发文量
184
审稿时长
9 weeks
期刊介绍: SoftwareX aims to acknowledge the impact of software on today''s research practice, and on new scientific discoveries in almost all research domains. SoftwareX also aims to stress the importance of the software developers who are, in part, responsible for this impact. To this end, SoftwareX aims to support publication of research software in such a way that: The software is given a stamp of scientific relevance, and provided with a peer-reviewed recognition of scientific impact; The software developers are given the credits they deserve; The software is citable, allowing traditional metrics of scientific excellence to apply; The academic career paths of software developers are supported rather than hindered; The software is publicly available for inspection, validation, and re-use. Above all, SoftwareX aims to inform researchers about software applications, tools and libraries with a (proven) potential to impact the process of scientific discovery in various domains. The journal is multidisciplinary and accepts submissions from within and across subject domains such as those represented within the broad thematic areas below: Mathematical and Physical Sciences; Environmental Sciences; Medical and Biological Sciences; Humanities, Arts and Social Sciences. Originating from these broad thematic areas, the journal also welcomes submissions of software that works in cross cutting thematic areas, such as citizen science, cybersecurity, digital economy, energy, global resource stewardship, health and wellbeing, etcetera. SoftwareX specifically aims to accept submissions representing domain-independent software that may impact more than one research domain.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信