Enhancing the Effectiveness of Inlining in Automatic Parallelization

IF 0.9 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS International Journal of Parallel Programming Pub Date : 2021-08-06 DOI:10.1007/s10766-021-00722-1
Guo, Jichi, Yi, Qing, Psarris, Kleanthis
{"title":"Enhancing the Effectiveness of Inlining in Automatic Parallelization","authors":"Guo, Jichi, Yi, Qing, Psarris, Kleanthis","doi":"10.1007/s10766-021-00722-1","DOIUrl":null,"url":null,"abstract":"<p>The emergence of multi-core architectures makes it essential for optimizing compilers to automatically extract parallelism for large scientific applications composed of many subroutines residing in different files. Inlining is a well-known technique which can be used to erase procedural boundaries and enable more aggressive loop parallelization. However, conventional inlining cannot be applied to external libraries where the source code is not available, and when overly applied, it can degrade the effectiveness of compiler optimizations due to excessive code complexity. This paper highlights some obstacles we encountered while applying conventional inlining combined with automatic loop parallelization using the Polaris optimizing compiler and presents a new approach, annotation-based inlining, to effectively overcome these obstacles. Our experimental results show that the annotation-based inlining approach can eliminate negative impact of conventional inlining while enhancing the effectiveness of interprocedural parallelization for a majority of applications from the PERFECT benchmark suite.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"9 6","pages":""},"PeriodicalIF":0.9000,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Parallel Programming","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10766-021-00722-1","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

The emergence of multi-core architectures makes it essential for optimizing compilers to automatically extract parallelism for large scientific applications composed of many subroutines residing in different files. Inlining is a well-known technique which can be used to erase procedural boundaries and enable more aggressive loop parallelization. However, conventional inlining cannot be applied to external libraries where the source code is not available, and when overly applied, it can degrade the effectiveness of compiler optimizations due to excessive code complexity. This paper highlights some obstacles we encountered while applying conventional inlining combined with automatic loop parallelization using the Polaris optimizing compiler and presents a new approach, annotation-based inlining, to effectively overcome these obstacles. Our experimental results show that the annotation-based inlining approach can eliminate negative impact of conventional inlining while enhancing the effectiveness of interprocedural parallelization for a majority of applications from the PERFECT benchmark suite.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
提高自动并行化中内联的有效性
多核体系结构的出现使得优化编译器自动提取由驻留在不同文件中的许多子例程组成的大型科学应用程序的并行性变得至关重要。内联是一种众所周知的技术,可用于消除过程边界并实现更积极的循环并行化。然而,传统的内联不能应用于源代码不可用的外部库,并且当过度应用时,由于代码过于复杂,它可能会降低编译器优化的有效性。本文重点介绍了在使用Polaris优化编译器将传统内联与自动循环并行化相结合时遇到的一些障碍,并提出了一种新的方法——基于注释的内联,以有效地克服这些障碍。我们的实验结果表明,基于注释的内联方法可以消除传统内联的负面影响,同时提高了来自PERFECT基准套件的大多数应用程序的过程间并行化效率。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
International Journal of Parallel Programming
International Journal of Parallel Programming 工程技术-计算机:理论方法
CiteScore
4.40
自引率
0.00%
发文量
15
审稿时长
>12 weeks
期刊介绍: International Journal of Parallel Programming is a forum for the publication of peer-reviewed, high-quality original papers in the computer and information sciences, focusing specifically on programming aspects of parallel computing systems. Such systems are characterized by the coexistence over time of multiple coordinated activities. The journal publishes both original research and survey papers. Fields of interest include: linguistic foundations, conceptual frameworks, high-level languages, evaluation methods, implementation techniques, programming support systems, pragmatic considerations, architectural characteristics, software engineering aspects, advances in parallel algorithms, performance studies, and application studies.
期刊最新文献
Meerkat: A Framework for Dynamic Graph Algorithms on GPUs Intelligent Page Migration on Heterogeneous Memory by Using Transformer Design and Performance Evaluation of a Novel High-Speed Hardware Architecture for Keccak Crypto Coprocessor RMOWOA: A Revamped Multi-Objective Whale Optimization Algorithm for Maximizing the Lifetime of a Network in Wireless Sensor Networks Optimizing Three-Dimensional Stencil-Operations on Heterogeneous Computing Environments
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1