Program State Element Characterization

Program State Element Characterization
复制标题

程序状态元素表征

DOI:
10.1145/3579990.3580011
复制
发表时间:
2023
期刊:
International Symposium on Code Generation and Optimization
影响因子:
--
通讯作者:
Campanoni, Simone
Campanoni, Simone
中科院分区:
--
文献类型:
--
作者:
Deiana, Enrico Armenio;Suchy, Brian;Wilkins, Michael;Homerding, Brian;McMichen, Tommy;Dunajewski, Katarzyna;Dinda, Peter;Hardavellas, Nikos;Campanoni, Simone

文献摘要

参考文献

被引文献

相似文献

现代编程语言提供了简化软件开发的抽象,并允许硬件充分发挥其潜力。这些抽象的范围从完善的OpenMP语言扩展到智能指针等较新的c++特性。为了在现有的代码库中正确地使用这些抽象,程序员必须确定给定的源代码区域如何与程序状态元素(Program State Elements, pse)(即,程序的变量和内存位置)交互。我们称之为程序状态元素表征(PSEC)。如果没有对PSEC的工具支持,程序员的唯一选择就是手动研究整个代码库。我们提出了一种基于配置文件的方法,使PSEC自动化,并为程序员提供抽象建议。由于基于配置文件的方法会产生不切实际的开销,因此我们引入了编译器和运行时内存观察工具(CARMOT),这是一种特定于psc的编译器,与并行运行时共同设计。CARMOT将PSEC的开销降低了两个数量级,使PSEC变得实用。我们展示了CARMOT的建议实现了与手动调优OpenMP指令相同的加速,并使用c++智能指针避免了内存泄漏。由此,我们认为PSEC工具,如CARMOT,可以为现代编程语言抽象的丰富生态系统提供支持。
Modern programming languages offer abstractions that simplify software development and allow hardware to reach its full potential. These abstractions range from the well-established OpenMP language extensions to newer C++ features like smart pointers. To properly use these abstractions in an existing codebase, programmers must determine how a given source code region interacts with Program State Elements (PSEs) (i.e., the program's variables and memory locations). We call this process Program State Element Characterization (PSEC). Without tool support for PSEC, a programmer's only option is to manually study the entire codebase. We propose a profile-based approach that automates PSEC and provides abstraction recommendations to programmers. Because a profile-based approach incurs an impractical overhead, we introduce the Compiler and Runtime Memory Observation Tool (CARMOT), a PSEC-specific compiler co-designed with a parallel runtime. CARMOT reduces the overhead of PSEC by two orders of magnitude, making PSEC practical. We show that CARMOT's recommendations achieve the same speedup as hand-tuned OpenMP directives and avoid memory leaks with C++ smart pointers. From this, we argue that PSEC tools, such as CARMOT, can provide support for the rich ecosystem of modern programming language abstractions.
SCAF:一个推测感知的协作依赖分析框架
DOI: 10.1145/3385412.3386028
发表时间: 2020
期刊: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
影响因子: --
作者:
Apostolakis, Sotiris;Xu, Ziyang;Tan, Zujun;Chan, Greg;Campanoni, Simone;August, David I.
通讯作者: August, David I.
DOI: 10.1109/cgo.2017.7863736
发表时间: 2017
期刊: 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
影响因子: --
作者:
Nick P. Johnson;Jordan Fix;S. Beard;Taewook Oh;T. Jablin;David I. August
通讯作者: David I. August
DOI: 10.1145/3173162.3173181
发表时间: 2018
期刊: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
E. A. Deiana;Vincent St;P. Dinda;Nikolaos Hardavellas;Simone Campanoni
通讯作者: Simone Campanoni
NOELLE 提供强大的 LLVM 扩展
DOI: 10.1109/cgo53902.2022.9741276
发表时间: 2022
期刊: 2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO
影响因子: --
作者:
Matni, Angelo;Deiana, Enrico Armenio;Su, Yian;Gross, Lukas;Ghosh, Souradip;Apostolakis, Sotiris;Xu, Ziyang;Tan, Zujun;Chaturvedi, Ishita;Homerding, Brian
通讯作者: Homerding, Brian
DOI: --
发表时间: 1988
期刊: International Conference on Supercomputing
影响因子: --
作者:
F. Allen;M. Burke;R. Cytron;J. Ferrante;Wilson C. Hsieh
通讯作者: Wilson C. Hsieh