排序方式: 共有70条查询结果,搜索用时 15 毫秒
1.
2.
GPGPU加速器是当前提高图像处理算法性能的主流加速平台,但是,在GPGPU平台上,同一个程序充分利用硬件体系结构特征和软件特征的优化版本与简单实现版本在性能上会有数量级的差异。GPGPU加速器具有多维多层的大量执行线程和层次化存储体系结构,后者的不同层次具有不同的容量、带宽、延迟和访问权限。同时,图像处理应用程序具有复杂的计算操作、边界处理规则和数据访问特性。因此,任务的并发执行模式、线程的组织方式和并发任务到设备的映射不仅影响到程序的并发度、调度、通信和同步等特性,而且也会影响到访存的带宽、延迟等。因此,GPGPU平台上的程序优化是一个困难、复杂且效率较低的过程。本文提出基于语言扩展的领域编程模型:ParaC。ParaC编程环境利用高层语言扩展描述的程序语义信息,自动分析获取应用程序的操作信息、并发任务间的数据重用信息和访存信息等程序特征,同时结合硬件平台特征,利用基于领域先验知识驱动的编译优化模型自动生成GPGPU平台上的优化代码,最后,利用源源变换编译器生成标准OpenCL程序。本文在测试用例上的实验结果表明,ParaC在GPGPU平台上自动生成的优化版本相对于手工优化版本的加速比最高达到3.22倍,但代码行数只是后者的1.2%到39.68%。 相似文献
3.
静态检测中断驱动程序的数据竞争 总被引:1,自引:0,他引:1
直接运行于微控制器上的中断驱动程序中可能存在一种重要的程序错误:数据竞争.然而当前主流的数据竞争静态检测技术因其服务于多线程模型程序而不适用.设计简明、易用的中断特征描述语言可以使得竞争检测具有平台无关性;同时,提出了一个流敏感的、上下文敏感的、考虑中断驱动程序原子性、易变性和部分随机性的数据竞争检测算法.该算法具有高效、精确的特点.实验表明,其检测时间与代码规模基本呈线性关系,分析17850行代码仅用时3.6s;同时,相比于基于锁集技术的典型数据竞争检测方法,其准确率平均是后者的2.13倍. 相似文献
4.
5.
软件流水是一种重要的指令调度技术,它通过同时执行来自不同循环迭代的指令来加快循环的执行时间.随着处理器速度和访存速度差距越拉越大,访存指令尤其是cache miss的访存指令日益成为系统性能提高的瓶颈.由于这些指令的延迟不是固定的,如何在软件流水中预测并掩盖这些访存指令的延迟是非常重要的.与前人预测访存延迟的方法不同,引入cache profiling技术,通过动态收集到profile信息来预测访存延迟,并进行适当的调度.当增加模调度循环中的访存指令的延迟时,启动间隔也会随之增大,导致性能不会随之上升.CSMS算法和FLMS算法在尽量不增大启动间隔的情况下,改变访存指令的延迟.改进了CSMS算法和FLMS算法,根据cache profiling的信息来改变访存延迟,所以比前人的方法更为准确.实验表明,新方法可以有效地提高程序性能,对SPEC2000测试程序平均性能提高1%左右,个别例子的性能改进高达11%. 相似文献
6.
随着行业应用的飞速扩张,数据中心以及云等日益成为主流服务平台.高性能的片上多核系统也随之成为重要的可分配资源之一.然而,在对多用户提供服务(并发执行、并置执行)时,其所固有的共享资源会引发严重的并发性能下降.在此背景下,多核系统的性能以及资源利用率问题成为研究热点.软件调度策略作为一种性价比较高的调节手段对于缓解资源冲突一直行之有效,然而,硬件技术的变迁对其调节的效力将产生一定影响.首先从片上多核结构关键技术入手,对共享资源的变化进行了详细阐述,在此基础上,对当前主流应用领域中两种不同类型的软件调度策略进行介绍和分析.在总结现有策略的局限性以及面临的新挑战的同时,对未来的研究趋势作了展望. 相似文献
7.
二进制翻译中的库函数处理 总被引:1,自引:1,他引:0
在二进制翻译技术中,快速有效地处理系统库函数调用是一个值得研究的课题.基于动静结合二进制翻译技术,提出一种对系统库函数进行分类处理的算法,能够很好地利用动静结合二进制翻译的技术特点和目标机本地的函数调用约定,减少不必要的内存操作,提高源二进制代码在目标机上的执行效率.该算法能够在系统库函数和系统调用之间灵活地切换,并且对于系统库函数有较强的适用性.经过大量的测试验证,在应用该算法后,Digital Bridge Version2系统不仅能够正确有效地处理系统库函数调用,并且性能有了很大的改善. 相似文献
8.
二进制翻译中的过程恢复技术 总被引:4,自引:2,他引:4
目前对处理器速度的追求促使体系结构不断发展,但是软件的支持却不能与其匹配,造成新体系结构推广的困难,研究、解决代码迁移问题的二进制翻译方法应运而生。文中介绍了在开发一个静态二进制翻译系统(XM翻译器)中的过程恢复技术,包括参数恢复和返回值恢复,并提出了解决返回值恢复问题的一个新的实现方法。它回避了一般方法中必须要进行数据流、控制流分析的复杂性,基于x86机器本身的调用特点以及实例的分析,是一种简单实用的实现返回值恢复的方法,经XM系统验证是行之有效的。 相似文献
9.
基于传播引擎的指针引用错误检测 总被引:1,自引:0,他引:1
指针在C程序中应用广泛,指针引用错误多发且危害严重.目前代表性的检测工具由于使用方便性和检测精度不足以及难以处理大规模程序等原因,并不能满足实用需求.文中提出一种新型的错误检测方法,该方法基于域敏感、流敏感和上下文敏感的传播引擎,通过定义错误属性格、在源程序中对错误属性格值进行计算和传播来完成错误检测.在开放源码编译器Open64中实现了其原型系统Propagator.以空指针引用错误检测为实例研究内容,使用Apache、OpenSSH、gzip等应用领域广泛的典型应用为实验用例.与Saturn、Splint和Clang-SA进行对比,Propagator的平均检测时间仅为12s,误报率平均仅为13%,远低于对比工具,且没有发现漏报已知错误.上述结果表明,Propagator既提高了检测精度又保证了可扩展性,具有很好的实用前景. 相似文献
10.