题名 DSP分块内存和多AGU的编译指示优化
被引量:3
1
作者
郑启龙
卢世贤
洪兴勇
陈元
夏霏
机构
中国科学技术大学计算机科学与技术学院
安徽省高性能计算重点实验室
合肥工业大学计算机与信息学院
出处
《小型微型计算机系统》
CSCD
北大核心
2012年第3期582-586,共5页
基金
国家核高基重大专项(2009ZX01034-001-001-002)资助
安徽省自然科学基金项目(090412068)资助
文摘
分块内存和多地址生成器(AGU)是DSP普遍采用的体系结构.传统的C语言编译器没有针对分块内存和多AGU结构进行代码优化,导致生成代码无法满足性能需求,影响了C语言编译器在数字信号处理领域的应用.为了解决这个问题,提出基于编译指示,与分块内存和多AGU结构相关的编译优化算法.该算法利用定义引用链和引用定义链中的数据流信息,为地址计算指令和访存指令分配AGU,从而提高生成代码的指令级并行度.实验结果表明此算法能够达到较好的优化效果.
关键词
DSP
地址生成器
分块内存
编译 优化
编译指示
Keywords
DSP
AGU
local memories
compiler optimization
pragma
分类号
TP301
[自动化与计算机技术—计算机系统结构]
题名 基于编译指示的向量化方法
被引量:3
2
作者
姚远
赵荣彩
机构
解放军信息工程大学信息工程学院
出处
《计算机工程》
CAS
CSCD
2012年第12期272-275,共4页
基金
"核高基"重大专项"支持国产CPU的编译系统及工具链"分课题"自动并行化与二进制翻译系统"(2009ZX01036-001-001-2)
文摘
编译器由于程序分析能力不足,无法自动实现循环向量化或者会造成盲目自动向量化。为此,提出一种基于编译指示的向量化方法。通过在代码中插入向量化编译指示语句,指导自动向量化编译工具的处理过程,自动生成高效的向量化代码。测试结果表明,该方法能够有效提高目标代码的运行性能。
关键词
单指令多数据流
自动向量化
数据依赖关系
编译指示
循环不变量
向量寄存器
Keywords
Single Instruction Multiple Data(SIMD)
automatic vectorization
data dependence relationship
compiler directive
loop invariant
vector register
分类号
TP311.52
[自动化与计算机技术—计算机软件与理论]
题名 一种可重构处理器的编译器的设计与实现
被引量:1
3
作者
施健
谢憬
毛志刚
机构
上海交通大学微电子学院
出处
《信息技术》
2010年第4期59-62,66,共5页
文摘
在现有可重构处理器ESL模型的基础上,提出了为可重构处理器设计一个编译器—CoRP(Compiler of Reconfigurable Processor)。CoRP以带有编译指示的串行C代码作为输入,并以并行计算的可重构处理器的机器码作为输出。可重构处理器有了CoRP的支持后,可以自动针对带有编译指示的不同应用程序完成对可重构阵列的重构工作。对数字信号处理应用的仿真结果显示,经过CoRP翻译的代码的性能十分接近于需要花费大量精力手动配置的最理想代码的性能。
关键词
编译 器
可重构处理器
数字信号处理
编译指示
并行计算
Keywords
compiler
reconfigurable processor
digital signal processing
compilition directive
parallel computing
分类号
TP332
[自动化与计算机技术—计算机系统结构]
题名 编译支持的多变体融合执行设计与实现
被引量:1
4
作者
李秉政
张铮
马博林
邢福康
邬江兴
机构
数学工程与先进计算国家重点实验室
国家数字交换系统工程技术研究中心
出处
《信息安全学报》
CSCD
2022年第4期114-123,共10页
基金
国家自然科学基金项目(No.61521003)
国家重点研发项目(No.2018YF0804003,No.2017YFB0803204)资助。
文摘
多变体执行是由异构冗余变体并行执行来检测攻击的一种技术。作为一种主动防御技术,多变体执行(multi-variant exe-cution,MVX)通过并行运行的异构执行体之间一致性检查发现攻击行为。相较于补丁式的被动防御,MVX可在不依赖攻击特征信息的情况下防御已知漏洞乃至未知漏洞威胁,在网络安全领域具有广泛的应用前景。然而该技术在实际部署中,由于多变体执行架构的边界不清晰,将随机数、进程PID号等被动地纳入到了表决范围,从而产生误报,导致多变体执行无法兼容更多的软件系统。本文分析了多变体执行假阳问题产生的原因,提出I-MVX,一种编译支持的多变体融合执行架构,包括多变体同步编程框架和运行时同步模块。I-MVX通过添加少量编译指示,在编译阶段对程序内部引起假阳性问题的代码和变量进行插桩标识,在运行时由监视器对变体进程内部和外部的变量及资源进行同步处理,消除多变体执行中的误报。本文基于LLVM/Clang编译器和Linux内核加载模块设计实现了I-MVX的编译器和同步监视器。性能实验评估显示,I-MVX在SPEC 2006基准测试集和tinyhttpd测试程序下引入的平均开销分别为2.13%和13.2%。多变体融合执行架构能够以少量的性能损耗为代价有效解决多变体执行中的假阳问题,提升多变体执行的可用性。基于真实CVE漏洞的安全性测试表明,I-MVX在保证多变体执行安全防御有效性基础上提升了多变体执行的兼容性。
关键词
多变体执行
编译指示
网络空间安全
Keywords
multi-variant execution
compiler pragma
cyberspace security
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 发掘函数级单指令多数据向量化的方法
5
作者
李颖颖
高伟
高雨辰
翟胜伟
李朋远
机构
数学工程与先进计算国家重点实验室
信息工程大学
中国电子科技集团公司第二十七研究所
北京跟踪与通信技术研究所
出处
《计算机应用》
CSCD
北大核心
2017年第8期2200-2208,共9页
文摘
当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法。针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法。该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化。从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高。实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现。
关键词
单指令多数据扩展
并行性
函数级向量化
编译指示
静态单赋值
Keywords
Single Instruction Multiple Data(SIMD) extension
parallelism
function level vectorization
compiler directive
static single assignment
分类号
TP301.6
[自动化与计算机技术—计算机系统结构]
TP311.53
[自动化与计算机技术—计算机软件与理论]
题名 优化程序长度的一种方法
6
作者
王延霞
机构
胜利石油管理局现河采油厂地质所
出处
《内江科技》
2008年第2期142-142,共1页
文摘
本文分析了Microsoft公司优化程序长度的P-CODE技术的基本工作原理、P-CODE的使用方法以及P-CODE程序的性能,提出了P-CODE编译的程序调试时应注意的主要问题。
关键词
程序优化
代码压缩
P—CODE
编译指示 器
程序调试
分类号
TP311.11
[自动化与计算机技术—计算机软件与理论]