...
首页> 外文期刊>Pomiary Automatyka Kontrola >Obliczeniowe szacowanie lokalności danych dla programów ANSI-C
【24h】

Obliczeniowe szacowanie lokalności danych dla programów ANSI-C

机译:ANSI-C程序的数据局部性的计算估计

获取原文
获取原文并翻译 | 示例
           

摘要

Krytycznym czynnikiem warunkującym wydajność obliczeniową oprogramowania jest lokalność dostępu do danych. Dlatego oczekuje się od narzędzi kompilacji automatyzacji procesu przekształcenia nieoptymalnego kodu do postaci charakteryzującej się wysoką lokalnością danych. W artykule przedstawiono podejście pozwalające na oszacowanie lokalności danych programów na podstawie kodu źródłowego w języku ANSI-C. Omówiono wyniki przeprowadzonych badań eksperymentalnych oraz wskazano kierunki dalszych prac.%Good data locality, comprehended as such placement of program data in memory that program data requested by the processor are available immediately on demand, is a critical software requirement for achieving high efficiency in data processing. One of the ways to achieve good data locality is to transform source codes at the compilation stage so as to improve their usage of the cache memory and, thus, fully benefit from the concept of memory hierarchy. Modern compilers are expected to carry out this kind of optimization automatically, by adopting relevant transformations. In order to select the transformation which is best for this purpose for a given source code, the compiler should be able to compare, from this point of view, the available transformations and indicate the one that produces a semantically identical code of the shortest execution time possible. The paper briefly describes Wolfe's method of estimating data locality based on calculations carried out directly on the source code under analysis, without any need to carry out time consuming compilation of the source code to its executable form and to collect memory access metrics at run time. The paper also presents in outline how the authors implemented in C++ a software module estimating data locality for ANSI-C source codes based on Wolfe's method. The paper discusses the results of adopting the proposed approach to some selected source codes and indicates directions of further works.
机译:调节软件计算性能的关键因素是数据访问的位置。因此,期望编译工具能够使将非最佳代码转换为具有较高数据局部性的形式的过程自动化。本文介绍了一种方法,该方法可以根据ANSI-C中的源代码来估计给定程序的位置。对实验研究的结果进行了讨论,并指出了进一步的工作方向。%良好的数据局部性,可以理解为程序数据在内存中的放置,以使处理器请求的程序数据可按需立即提供,这是实现数据处理高效的关键软件要求。实现良好数据局部性的一种方法是在编译阶段对源代码进行转换,以提高其对高速缓存的使用率,从而充分利用内存层次结构的概念。期望现代编译器通过采用相关的转换来自动执行这种优化。为了针对给定的源代码选择最适合此目的的转换,编译器应该能够从这一角度比较可用的转换,并指出产生语义上相同的执行时间最短的代码的转换。可能。本文简要介绍了Wolfe的方法,该方法基于直接在分析中的源代码上进行的计算来估计数据位置,而无需执行耗时的源代码编译为其可执行形式的编译,并且无需在运行时收集内存访问指标。本文还概述了作者如何在C ++中实现一种基于Wolfe方法的ANSI-C源代码的数据局部性估算软件模块。本文讨论了对某些选定的源代码采用建议的方法的结果,并指出了进一步工作的方向。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号