首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 179 毫秒
1.
寄存器分配技术是编译器最为关键的优化技术之一.反馈式编译优化是一种基于程序当前和以前运行时的趋势来改变程序以后执行动作的技术,它能够提供给寄存器分配一些有用的优化信息.在分析Open64编译器反馈式编译优化技术的基础上,基于ALPHA结构实现和扩展了反馈式编译优化在寄存器分配中的应用,获得了较好的优化性能.  相似文献   

2.
处理器性能的发挥常常受到转移指令的限制,所以转移预测的成功与否对于处理器的性能影响至关重要。反馈式编译优化是一种基于程序当前和以前运行时的趋势来改变程序以后执行动作的技术,能够提供给编译器一些有用的优化信息。本文针对ALPHA中的结构特点,利用反馈式编译优化技术,提高了ALPHA中的转移预测命中率,实验结果表明,加速比效果较为明显。  相似文献   

3.
由于链式数据结构的存储缺乏空间局部性,导致程序执行过程中对链式数据的访问会发生严重的Cache缺失行为。通过对面向链式结构的线程预取性能分析,研究链式数据结构程序热点循环的计算任务量与访存任务量比例特征对线程预取性能的影响。结合多核处理器平台特点,实现了一种适用于链式数据结构的帮助线程间隔预取方法。实验结果进一步验证了计算任务量与访存任务量比例特征对间隔预取性能的影响,表明间隔预取相比于传统线程预取技术有明显的性能优势。  相似文献   

4.
在Open64编译框架基础上,提出一种基于Profile信息的循环内数据访问连续性分析算法及其向量化优化方法。采用反馈式编译优化技术,获取程序运行时的连续性Profile信息,通过结构体剥离和数据重组方法实现程序向量化。实验结果表明,该算法针对不规则程序代码,可提供更精确的向量化信息,提高程序的向量化程度。  相似文献   

5.
本文介绍了80位浮点运算的编译实现技术,在IA-64平台上针对一套科学计算测试程序进行了性能瓶颈分析。利用IA-64体系结构特点,改进和实现了用户定义函数的自动内联、高级循环变换、数据预取、80位浮点数学库函数内联扩展四种编译优化。测试结果表明,这些优化手段显著提高了80位浮点运算的串行性能和并行性能。  相似文献   

6.
最大程度地优化代码和挖掘应用程序的潜在性能,是高性能编译器设计中非常重要的一个任务。基于profiling的反馈式编译优化是一种有效的编译优化模式,它通过程序运行时的剖面信息来指导对代码的优化。本文总结了GCC在实现这种模式上的一般流程、所遇到的问题和解决方法,深入分析了GCC4.0的插桩方法、反馈数据文件格式,以及在
中间语言中标注反馈信息等的实现机制。  相似文献   

7.
研究用户优化服务算法问题,应为用户提供个性化的推荐服务的系统.Top-N推荐问题,是指通过对用户历史偏好信息的挖掘,给每个用户推荐N个最可能喜好的内容.针对上述问题,提出了一种面向排序的推荐算法EIBRO-MF,通过融合系统中的显式和隐式反馈数据,建立用户喜好的偏序对关系来训练协同过滤的参数模型,最后利用优化的模型参数给出推荐结果.仿真结果表明,与传统的协同过滤算法、以及只能利用隐式反馈数据的排序算法相比,提出的算法能大幅提高推荐列表的排名精准度.  相似文献   

8.
针对现代计算机系统中的存储墙问题,提出一种适合于链式数据结构的数据预取方法——纯遍历推送方法。采用基于共享高速缓存的多核处理器平台CMP上的多线程技术,在主程序运行时分离出一个推送线程,由其将主线程需要的数据提前预取至处理器共享高速缓存中以隐藏主线程的存储器延迟。实验结果证明该方法在CMP架构下对以链式结构为主的内存受限程序的性能有一定的改进。  相似文献   

9.
针对目前融合显隐式反馈的推荐算法发展仍存在显式反馈数据利用不合理、隐式反馈缺乏负反馈样本等问题,本研究基于融合显隐式反馈的SVD++算法和针对正负反馈的PSVD算法的核心思想,根据全反馈思想进行正负反馈层面上的尝试,利用基准预测思想在显隐式反馈中建立正负反馈的区分标准,优化显式反馈对于获取正负样本的评价公式,建立隐式反...  相似文献   

10.
欧朝荣  胡军 《控制与决策》2024,39(3):1048-1056
融合显式和隐式反馈已被应用于提升推荐模型的性能,但是,现有的此类推荐模型未能保留显式反馈中反映用户偏好程度的信息,且现有研究认为拥有显式反馈的数据和仅拥有隐式反馈的数据对于模型具有同等影响,未能充分发挥显式反馈的优势.针对这些问题,提出一种新的融合显式和隐式反馈的协同过滤推荐模型(CEICF).首先,所提出模型提取显式反馈中的特征得到用户/物品的全局偏好向量;然后,从隐式反馈中提取用户/物品的潜在向量,进而将两种向量进行融合得到用户/物品的偏好向量;最后,使用神经网络预测用户与物品交互的可能性.在训练模型时,定义一种加权的二进制交叉熵损失函数,加强显式反馈对模型的影响来增强模型捕获用户偏好的能力.为了验证所提出模型的有效性,在覆盖不同领域的现实数据集上进行实验,实验结果表明,CEICF可有效地融合显式和隐式反馈,且推荐效果相对于基线模型有显著提升.  相似文献   

11.
指令级并行编译器的数据预取及优化方法   总被引:6,自引:0,他引:6  
微处理器芯片的处理能力越来越强,但是,存储器的速度却远远不能与其匹配,造成了整个系统的性能不理想,为解决这个总理2,编译器发展了局部性优化、数据预取等多种技术,文中将介绍一种用于ILP(Instruction lev-el Parallelism)优化编译器的数据预取技术以及一种利用寄存器堆减少主存访问次数、对程序进行 优化的方法,利用它们可以提高平均存储性能,对科学和工程计算的应用是相当有效的。  相似文献   

12.
数据预取技术是为缓解微处理器与DRAM之间速度差异而出现的隐藏访存延迟的方法。GCC作为广泛使用的开源编译器,在tree-ssa上对循环级数组实现了预取优化。在深入分析GCC4.9循环级数组预取的基本实现机制,以及剖析基于预取收益和分析时间的三种不予预取的代价模型的基础上,得出影响循环数组预取效果的几个因素,并针对典型测试用例测试了GCC编译器循环数组预取的效果。此项工作对于改进和提高GCC现有循环级数组的预取优化有指导意义。  相似文献   

13.
罗琼程  吴强 《计算机应用研究》2009,26(12):4572-4576
动态优化是动态二进制翻译研究中一个十分重要的课题,数据预取优化能提高现代处理器体系结构应用程序性能。基于超级块(Superblock)的动态数据预取优化采用软件插桩方式收集应用程序的load访存延迟信息并构造Superblock;然后根据延迟信息以及Superblock数据流分析得出的寄存器定值引用关系,对延迟load指令进行预取优化。通过在龙芯DigitalBridge动态二进制翻译系统上实验验证,数据预取优化可以提高翻译后SPEC2000浮点测试程序代码的平均性能3.3%,开销远小于0.5%。  相似文献   

14.
对间接存储器的访问延迟往往会影响应用程序的执行性能, 一种有效的解决方案是使用预取技术. 国产申威平台中支持常规访问模式的软件预取和硬件预取机制, 但是其GCC编译器中缺少为间接存储器访问模式自动插入预取的方法. 为了解决这个问题, 基于申威GCC开发了一个完整间接预取优化遍, 它利用深度优先搜索算法查找引用循环归纳变量的间接内存引用并为之生成合适的软件预取. 在一组内存受限的基准测试中, 自动预取遍对SW1621处理器的平均加速比达到1.16倍.  相似文献   

15.
In this paper, we propose a compiler-directed cache coherence scheme which makes use of data prefetching to enforce cache coherence in large-scale distributed shared-memory (DSM) systems. TheCache Coherence With Data Prefetching(CCDP) scheme uses compiler analyses to identify potentially stale and nonstale data references in a parallel program and enforces cache coherence by prefetching the potentially stale references. In this manner, the CCDP scheme brings up-to-date data into the caches to avoid stale references and also hides the latency of these memory accesses. Furthermore, the scheme also prefetches the nonstale references to hide their memory latencies. To evaluate the performance impact of the CCDP scheme on a real system, we applied the scheme on five applications from the SPEC CFP95 and CFP92 benchmark suites, and executed the resulting codes on the Cray T3D. The experimental results indicate that for all of the applications studied, our scheme provides significant performance improvements by caching shared data and using data prefetching to enforce cache coherence and to hide memory latency.  相似文献   

16.
The success of large-scale, hierarchical and distributed shared memory systems hinges on our ability to reduce delays resulting from remote accesses to shared data. To facilitate this, we present a compile-time algorithm for analyzing programs with doall-style parallelism to determine when read and write accesses to shared data areredundant (unnecessary). One identified, redundant remote accesses can be replaced by local accesses or eliminated entirely. This optimization improves program performance in two ways. First, slow memory accesses are replaced by faster ones. Second, the time to perform other remote memory accesses may be reduced as a result of the decreased traffic level. We also show how the information obtained through redundancy analysis can be used for other compiler optimizations such as prefetching and cache management.  相似文献   

17.
面向多应用环境RAID系统的智能预取和缓存调度   总被引:4,自引:0,他引:4       下载免费PDF全文
本文分析了RAID系统的多应用环境数据请求的存储模式的特点,提出了能根据应用环境的不同而自动改变预取策略的智能预取算法以及缓存调度算法。实践证明,本算法使得RAID系统的预取和缓存调度摆脱了盲目性,保证了预取策略和缓存调度的最优性。  相似文献   

18.
To offset the effect of read miss penalties on processor utilization in shared-memory multiprocessors, several software- and hardware-based data prefetching schemes have been proposed. A major advantage of hardware techniques is that they need no support from the programmer or compiler. Sequential prefetching is a simple hardware-controlled prefetching technique which relies on the automatic prefetch of consecutive blocks following the block that misses in the cache, thus exploiting spatial locality. In its simplest form, the number of prefetched blocks on each miss is fixed throughout the execution. However, since the prefetching efficiency varies during the execution of a program, we propose to adapt the number of pre-fetched blocks according to a dynamic measure of prefetching effectiveness. Simulations of this adaptive scheme show reductions of the number of read misses, the read penalty, and of the execution time by up to 78%, 58%, and 25% respectively  相似文献   

19.
当前人工智能技术应用于系统结构领域的研究前景广阔,特别是将深度学习应用于多核架构的数据预取研究已经成为国内外的研究热点。针对基于深度学习的缓存预取任务进行了研究,形式化地定义了深度学习缓存预取模型。在介绍当前常见的多核缓存架构和预取技术的基础上,全面分析了现有基于深度学习的典型缓存预取器的设计思路。深度学习神经网络在多核缓存预取领域的应用主要采用了深度神经网络、循环神经网络、长短期记忆网络和注意力机制等机器学习方法,综合对比分析现有基于深度学习的数据预取神经网络模型后发现,基于深度学习的多核缓存预取技术在计算成本、模型优化和实用性等方面还存在着局限性,未来在自适应预取模型以及神经网络预取模型的实用性方面还有很大的研究探索空间和发展前景。  相似文献   

20.
Irregular access patterns are a major problem for today’s optimizing compilers. In this paper, a novel approach will be presented that enables transformations that were designed for regular loop structures to be applied to linked list data structures. This is achieved by linearizing access to a linked list, after which further data restructuring can be performed. Two subsequent optimization paths will be considered: annihilation and sublimation, which are driven by the occurring regular and irregular access patterns in the applications. These intermediate codes are amenable to traditional compiler optimizations targeting regular loops. In the case of sublimation, a run-time step is involved which takes the access pattern into account and thus generates a data instance specific optimized code. Both approaches are applied to a sparse matrix multiplication algorithm and an iterative solver: preconditioned conjugate gradient. The resulting transformed code is evaluated using the major compilers for the x86 platform, GCC and the Intel C compiler.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号