首页> 外文会议>IEEE International Symposium on Computational Intelligence and Informatics >Improving performance and energy consumption with loop fusion optimization and parallelization
【24h】

Improving performance and energy consumption with loop fusion optimization and parallelization

机译:利用环路融合优化和并行化提高性能和能耗

获取原文

摘要

State-of-the-art compilers provide a large set of conservative optimizations that aim to improve the performance, most often omitting the energy consumption impact. Low Level Virtual Machine (LLVM) compiler infrastructure [1] has a dedicated set of optimizations for loops such as loop-invariant code motion, loop simply and many others. Each optimization is organized as a separate pass in LLVM [1] and a mix of object creational patterns is used to create the passes. This paper introduces a new loop optimization designed for LLVM [1], namely loop fusion. Loop fusion merges two successive loops by adding the content of the second loop into the first loop and deleting the second loop, when the following conditions are fulfilled: (1) the loops have to have the same number of iterations, (2) there should be no code between the two loops and (3) there should be no data dependencies between the two loops, that is the two loops should be independent (two loops are defined as dependent when the first loop needs to finish its processing, namely all its iterations, in order to start executing the second loop). The independence criterion is not equal to parallelism (e.g. two loops can be independent but it might not be possible to execute them in parallel). The fusion of two loops cuts in half the number of threads that would be otherwise required to execute them. By decreasing the number of threads, the parallelization overhead is reduced, thus the energy consumption is decreased. The impact of the loop fusion algorithm on both performance and energy consumption will be also discussed in this paper.
机译:国家的最先进的编译器提供了一大组旨在提高性能,最常忽略的能量消耗影响保守的优化。低级虚拟机(LLVM)编译器基础设施[1]拥有for循环,如循环不变代码运动,循环简单地和许多其他一组专用的优化。每个优化被组织为在LLVM [1]一个单独的通和的对象创建模式的混合被用于创建通行证。本文介绍设计用于LLVM [1],即环融合新循环优化。循环合并通过添加所述第二回路的内容到第一环路和删除第二回路中,当满足下列条件合并两个连续的循环:(1)环必须具有相同数目的迭代的,(2)应是两个环,(3)应该有两个环路之间没有数据相关性之间没有码,即两个环应是独立的(两个回路被定义为当从属于第一环路需要完成其处理时,即其所有的迭代中,为了开始执行第二循环)。独立性标准不等于并行性(例如两个回路可以是独立的,但它可能无法并行执行它们)。两个融合中的循环将被另有规定来执行它们的线程数的一半削减。通过减少线程数,并行化开销被降低,因此,能量消耗降低。在性能和能耗的循环融合算法的影响将在本文中进行了讨论。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号