期刊文献+
共找到9篇文章
< 1 >
每页显示 20 50 100
面向申威平台的SIMD编程接口设计与研究
1
作者 姜军 顾晓阳 +2 位作者 徐坤坤 吕勇帅 黄亮明 《计算机科学》 北大核心 2025年第6期66-73,共8页
在国产申威处理器中,申威GCC编译器在对程序进行向量化时,使用自动向量化和内嵌汇编的方式很难对某些复杂的程序进行向量化,阻碍了国产申威处理器的性能发挥。针对部分程序不能向量化的问题,在申威GCC编译器中进行SIMD编程接口的设计与... 在国产申威处理器中,申威GCC编译器在对程序进行向量化时,使用自动向量化和内嵌汇编的方式很难对某些复杂的程序进行向量化,阻碍了国产申威处理器的性能发挥。针对部分程序不能向量化的问题,在申威GCC编译器中进行SIMD编程接口的设计与研究。在申威向量指令的基础上,通过在申威GCC编译器中添加向量机器模式和向量数据类型,编译器可以对向量参数类型进行识别。根据向量指令的类型和复杂度,分别使用内建函数扩展、操作符扩展和高级语言扩展3种方式实现SIMD编程接口函数。在后端添加不同的指令模板,使接口函数可以匹配相应的指令模板,生成对应向量指令的汇编代码。通过对FFTW库和Hyperscan库进行测试和分析,相比优化前的程序,使用SIMD编程接口进行向量化后,FFTW中Double类和Float类型程序的平均加速比分别为1.97和2.13,Hyperscan的平均加速比为2.94。 展开更多
关键词 向量化 SIMD编程接口 向量指令 内建函数 指令模板
在线阅读 下载PDF
二进制翻译技术综述 被引量:3
2
作者 谢汶兵 田雪 +3 位作者 漆锋滨 武成岗 王俊 罗巧玲 《软件学报》 EI CSCD 北大核心 2024年第6期2687-2723,共37页
随着信息技术的快速发展,涌现出各种新型处理器体系结构.新的体系结构出现为处理器多样化发展带来机遇的同时也提出了巨大挑战,需要兼容运行已有软件,确保较为丰富的软件生态群.但要在短期内从源码编译构建大量生态软件并非易事,二进制... 随着信息技术的快速发展,涌现出各种新型处理器体系结构.新的体系结构出现为处理器多样化发展带来机遇的同时也提出了巨大挑战,需要兼容运行已有软件,确保较为丰富的软件生态群.但要在短期内从源码编译构建大量生态软件并非易事,二进制翻译作为一种直接从二进制层面迁移可执行代码技术,支持跨平台软件兼容运行,既扩大了软件生态群,又有效降低了应用程序与硬件之间的耦合度.近年来,二进制翻译技术研究取得了较大进展.为总结现有成果并分析存在的不足,首先介绍二进制翻译技术的分类以及典型的二进制翻译系统,之后从指令翻译方法、关键问题研究、优化技术等方面分别进行分析总结,接着阐述二进制翻译技术的核心应用领域,最后对二进制翻译技术的潜在研究方向进行展望. 展开更多
关键词 二进制翻译 翻译效率 等价变换 软件迁移 多融合优化
在线阅读 下载PDF
一种面向纠删码的存储库优化方法
3
作者 谢汶兵 关睿雪 +2 位作者 张艺鸣 李佳梅 王俊 《计算机研究与发展》 北大核心 2025年第5期1123-1135,共13页
信息时代,数据存储的可靠性、一致性、安全性和实时性至关重要.纠删码(erasure code,EC)在允许多个存储设备发生故障的同时保证最低的存储开销,被大量应用在数据存储领域.纠删码的编码与解码运算具有计算密集的特征,其性能高低直接影响... 信息时代,数据存储的可靠性、一致性、安全性和实时性至关重要.纠删码(erasure code,EC)在允许多个存储设备发生故障的同时保证最低的存储开销,被大量应用在数据存储领域.纠删码的编码与解码运算具有计算密集的特征,其性能高低直接影响存储系统的使用效率.作为编码和解码运算中最耗时的部分,多层循环包裹的伽罗华域乘法计算是纠删码优化的一个焦点.首先分析了伽罗华域乘法计算的查表方法中常用的log查表法(LT)、完全乘法查表法(MT)、移位分解法(SH)的优劣势,然后对已有的伽罗华域GF(28)查表方法进行了优化,提出4 b分割法以大幅减少查表开销.在此基础上,利用64位现代处理器体系结构特点,从数据访问粒度扩展和单指令多数据(single instruction multiple data,SIMD)向量化利用实现数据级并行化2个角度优化了多层循环中的数据级访问粒度,提高了编码与解码的运算性能.基于开源存储加速库(Intel storage acceleration library,ISA-L)在申威平台和x86平台上实现和验证了上述优化方法的有效性.结果表明所提优化方法在不同数据规模下均有加速效果,申威平台与优化前相比平均性能加速比为3.28倍,x86平台与优化前相比平均性能加速比为2.36倍. 展开更多
关键词 纠删码 伽罗华域乘法 4b分割法 数据访问粒度 SIMD向量化 数据查表
在线阅读 下载PDF
基于循环代价分析的循环不变量外提算法
4
作者 姜军 翟彦河 +2 位作者 曾志恒 顾轶超 黄亮明 《计算机科学》 北大核心 2025年第6期44-51,共8页
循环不变量外提算法是一种针对程序中循环结构的常用编译优化算法,其通过将循环体中的不变计算移动到循环外部来减少重复计算的开销,从而提高程序运行的速度。但在LLVM编译器中,传统的循环不变量外提算法会将全部循环不变量外提到循环... 循环不变量外提算法是一种针对程序中循环结构的常用编译优化算法,其通过将循环体中的不变计算移动到循环外部来减少重复计算的开销,从而提高程序运行的速度。但在LLVM编译器中,传统的循环不变量外提算法会将全部循环不变量外提到循环体外部,当循环不变量达到一定数量时会导致寄存器溢出,在循环内引入额外的访存代价,对循环产生负优化效果。针对上述问题,在传统LLVM循环不变量外提算法的基础上,引入了一种循环代价分析算法,通过计算循环不变量在循环体中的运行代价和外提操作可能带来的溢出代价,评估其外提可能带来的收益,只对产生正收益的循环不变量进行外提,在有效减少循环体内重复计算的同时,规避引入额外开销的风险。在国产申威831处理器平台,使用典型用例进行优化效果测评,在千万级循环下,相较于传统循环不变量优化算法,提出的新优化算法具有17%以上的性能提升;使用SPEC CPU2017基准测试集(SPECspeed 2017 Interger套件)、Perl解释器DKbench基准测试集、Python解释器pyperformance基准测试集进行综合优化效果测评,结果表明,相较于传统循环不变量优化算法,提出的新优化算法分别具有0.4%,0.63%和1%的性能提升。 展开更多
关键词 LLVM编译器 编译优化 循环不变量外提 寄存器溢出 循环代价分析
在线阅读 下载PDF
基于申威平台寄存器溢出策略的预选先验优化
5
作者 蔡淳豪 梁淑萍 +1 位作者 姜军 邵宁远 《计算机科学》 北大核心 2025年第6期82-87,共6页
在国产多核处理器申威平台上,申威JDK的C2即时编译器通过图着色寄存器分配算法完成寄存器分配工作。即时编译器在分配寄存器时并没有考虑国产处理器的指令特征,导致编译器生成了过多的访存代码,从而无法更全面地发挥国产处理器的性能。... 在国产多核处理器申威平台上,申威JDK的C2即时编译器通过图着色寄存器分配算法完成寄存器分配工作。即时编译器在分配寄存器时并没有考虑国产处理器的指令特征,导致编译器生成了过多的访存代码,从而无法更全面地发挥国产处理器的性能。为了更充分地发挥申威国产处理器的性能,提出了一种减少图着色寄存器分配时溢出代码的编译优化策略。优化策略基于图着色寄存器分配算法,根据在申威平台上特殊信息的寄存器规律,构造先验模型,并按照先验模型调整溢出策略,从而减少访存代码的生成。该策略在申威JDK上实现了优化,并基于基准测试集SPECjbb2015和SPECjvm2008验证了优化的效果。实验结果表明,优化后SPECjbb2015的max-jOPS和critical-jOPS分数分别提升了4.20%和5.98%,SPECjvm2008的总分数提升了2.02%。 展开更多
关键词 图着色寄存器分配 访存寻址 溢出代码 编译优化
在线阅读 下载PDF
基于嵌入式GPU的pyramid LK光流法高速计算方法研究 被引量:3
6
作者 孙瑞鑫 朱国梁 +2 位作者 谢双镱 郭雪亮 柴志雷 《计算机应用研究》 CSCD 北大核心 2022年第7期1966-1972,共7页
在嵌入式计算平台上实现双向约束LK金字塔高精度光流的实时计算,是该算法能否应用于自动驾驶等场景的重要影响因素。为了实现该目的,提出了基于网格划分的特征提取方法及新的双向约束方法;然后设计了动态窗口的金字塔模型,解决了光流计... 在嵌入式计算平台上实现双向约束LK金字塔高精度光流的实时计算,是该算法能否应用于自动驾驶等场景的重要影响因素。为了实现该目的,提出了基于网格划分的特征提取方法及新的双向约束方法;然后设计了动态窗口的金字塔模型,解决了光流计算过程中的负载不均衡问题;最后通过降低计算位宽,使得整体性能获得进一步提升。实验结果表明:在Jetson TX2上,针对真实场景所用的720P视频,所提出方法的性能比OpenCV的GPU版本提升了4.1倍,达到30 fps以上;将采用该方法的SLAM系统成功应用于车载场景并在真实环境中测试,使得系统的性能达到了28 fps。新方法有效地提升了位姿和点云的精度,较好地满足了车载场景的实时处理需求。 展开更多
关键词 LK光流 嵌入式GPU CUDA SLAM 并行计算
在线阅读 下载PDF
基于申威NMII的锁死故障监测与诊断 被引量:3
7
作者 郜晨 何升 杭骁骞 《计算机应用研究》 CSCD 北大核心 2024年第4期1015-1021,共7页
国产申威处理器的不可屏蔽核间中断(NMII)具有必须由某一核心主动发起的特性,导致目前无法适用Linux通用的锁死故障监测算法,严重情况下将影响关键领域的数据处理。针对该问题设计适用于申威架构的锁死故障监测与诊断系统。采用链式结... 国产申威处理器的不可屏蔽核间中断(NMII)具有必须由某一核心主动发起的特性,导致目前无法适用Linux通用的锁死故障监测算法,严重情况下将影响关键领域的数据处理。针对该问题设计适用于申威架构的锁死故障监测与诊断系统。采用链式结构发送NMII请求,结合定时器事件和内核线程进行锁死时间戳检查,实现系统内单核心的软锁死与硬锁死监测;基于故障容错机制,采用主从式结构监测所有核心状态,当主核心发生故障时,执行容错措施并迁移主核心,实现系统内多核心故障的锁死监测;设计基于NMII的任务模型,实现锁死故障核心的诊断信息输出并扩展NMII应用场景。测试结果表明,所提算法在低与高故障风险下均可实现锁死故障的准确检出并作出实时诊断,满足申威平台锁死故障监测与诊断的可靠性与实时性要求。 展开更多
关键词 申威处理器 不可屏蔽中断 操作系统 锁死 故障诊断 看门狗
在线阅读 下载PDF
SDAA:面向申威智能加速卡的运行时系统 被引量:1
8
作者 赵玉龙 张鲁飞 +3 位作者 许国春 李宇轩 孙茹君 刘鑫 《软件学报》 EI CSCD 北大核心 2024年第12期5710-5724,共15页
自主研制的申威智能加速卡上搭载了脉动阵列增强的申威众核处理器,其智能计算能力与主流GPU相当,但仍缺少配套的基础软件.为降低申威智能加速卡的使用门槛,有效支撑人工智能应用开发,设计面向申威智能加速卡的运行时系统SDAA,语义与主流... 自主研制的申威智能加速卡上搭载了脉动阵列增强的申威众核处理器,其智能计算能力与主流GPU相当,但仍缺少配套的基础软件.为降低申威智能加速卡的使用门槛,有效支撑人工智能应用开发,设计面向申威智能加速卡的运行时系统SDAA,语义与主流的CUDA运行时保持一致.针对内存管理、数据传输、核函数启动等关键路径,采用软硬协同的设计方法实现卡上段页结合的多级内存分配算法、可分页内存多线程多通道的传输模型、多异构部件自适应的数据传输算法和基于片上阵列通信的快速核函数启动方法,使得SDAA运行时性能优于主流GPU.实验结果表明,SDAA运行时系统的内存分配速度是NVIDIA V100对应接口的120倍,数据传输开销是对应接口的1/2,数据传输带宽达到对应接口的1.7倍,核函数启动时间与对应接口相当.SDAA运行时已支撑主流框架和实际模型训练在申威智能加速卡上的高效运行. 展开更多
关键词 运行时系统 申威智能加速卡 人工智能 软件定义
在线阅读 下载PDF
基于数据局部性的循环分块选择算法
9
作者 廖启华 聂凯 +2 位作者 韩林 陈梦尧 谢汶兵 《计算机科学》 CSCD 北大核心 2024年第12期100-109,共10页
现有的多面体编译框架(如Pluto,LLVM/Polly和GCC/Graphite)在进行循环分块时,都采用了固定分块大小,无法充分发挥不同硬件的缓存特性,导致存在较大的性能差异。针对这一问题,涌现了许多基于多级缓存和数据局部性的循环分块算法,但这些... 现有的多面体编译框架(如Pluto,LLVM/Polly和GCC/Graphite)在进行循环分块时,都采用了固定分块大小,无法充分发挥不同硬件的缓存特性,导致存在较大的性能差异。针对这一问题,涌现了许多基于多级缓存和数据局部性的循环分块算法,但这些算法往往只能优化特定循环程序或者缺乏综合考虑,不适合移植到通用编译器中。文中提出了一种基于数据局部性的循环分块选择算法,该算法不仅考虑了缓存替换策略的影响,还考虑了多核环境下的负载均衡问题。算法基于LLVM中的Polly模块实现,并选用Pluto和PolyBench中的部分测试用例进行单核和多核测试。实验结果表明,单核环境下,相比LLVM/Polly的默认分块方法,该算法在两种硬件平台下分别获得了平均2.03和2.05的加速比,且在多核环境下具有良好的并行可扩展性。 展开更多
关键词 数据局部性 多面体模型 循环分块 分块大小 负载均衡
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部