可重构处理器的高级语言的并行化和循环优化方法及系统技术方案

技术编号:13367195 阅读:81 留言:0更新日期:2016-07-19 12:02
本发明专利技术提供了一种可重构处理器的高级语言的并行化和循环优化方法与系统,针对通用可重构处理器提出了一套端对端的语言转化系统,对于可重构处理器,计算密集型应用中的核心循环需要通过可重构部分进行并行计算,使得C语言不能满足他的并行特性,所以需要将应用程序中的串行部分和并行部分分别封装,并且根据系统特性来进行优化,最终生成一套新型的语言;在确定kernel函数的输入输出的数据类型和长度时,采用了编写decls.h的方法,简化了系统的复杂程度,并且使得系统的适用性大为提高;在进行循环优化的过程中,利用了多面体模型进行处理,使得系统适用性更加广泛,系统在不同的架构上的移植更加简单。

【技术实现步骤摘要】
201610018726

【技术保护点】
一种可重构处理器的高级语言的并行化和循环优化方法,其特征在于,包括:获取decls.h文件,根据所述decls.h文件得到输入和输出中间文件,从所述输入和输出中间文件得到task函数和pea函数的参数信息;从C代码中提取出kernel函数部分,利用多面体模型对提出的kernel函数部分进行优化,以生成kernel函数部分的GR‑C语言;根据所述参数信息将所述kernel函数部分的GR‑C语言写回到C代码的kernel函数部分,以生成最终的GR‑C代码。

【技术特征摘要】
1.一种可重构处理器的高级语言的并行化和循环优化方法,其特征在
于,包括:
获取decls.h文件,根据所述decls.h文件得到输入和输出中间文件,从
所述输入和输出中间文件得到task函数和pea函数的参数信息;
从C代码中提取出kernel函数部分,利用多面体模型对提出的kernel函
数部分进行优化,以生成kernel函数部分的GR-C语言;
根据所述参数信息将所述kernel函数部分的GR-C语言写回到C代码的
kernel函数部分,以生成最终的GR-C代码。
2.如权利要求1所述的可重构处理器的高级语言的并行化和循环优化方法,
其特征在于,从C代码中提取出kernel函数部分,利用多面体模型对提出的
kernel函数部分进行优化,以生成kernel函数部分的GR-C语言,包括:
输入C代码的静态依赖分析,将所述C代码的静态依赖分析转化为多面体
模型;
对所述多面体模型进行优化,以得到并行化的多面体模型;
根据所述并行化的多面体模型生成kernel函数部分的GR-C语言。
3.如权利要求2所述的可重构处理器的高级语言的并行化和循环优化方法,
其特征在于,根据所述并行化的多面体模型生成kernel函数部分的GR-C语言,
包括:
使用CLooG工具将所述并行化的多面体模型生成kernel函数部分的GR-C
语言。
4.如权利要求2所述的可重构处理器的高级语言的并行化和循环优化方法,
其特征在于,输入C代码的静态依赖分析包括:
使用LooPo架构来进行代码扫描和依赖分析。
5.如权利要求2所述的可重构处理器的高级语言的并行化和循环优化方法,
其特征在于,对所述多面体模型进行优化,以得到并行化的多面体模型的步骤

\t中,
基于PLUTO模型进行了改写,得到仿射优化转换的框架;
使用PipLib作为ILP计算器;
根据所述框架和ILP计算器对所述多面体模型进行优化,以得到并行化的
多面体模型。
6.如权利要求2至5任一项所述的可重构处理器的高级语言的并行化和循
环优化方法,其特征在于,对所述多面体模型进行优化的步骤中,采用如下循
环优化顺序对提出的kernel函数部分进行优化:
首先,将所有状态分离,并且按照依赖关系和循环边界进行分组;
然后,对每个组进行循环融合,将合适的状态融合到一起;
然后,针对每组的操作数需要的执行周期来确定循环...

【专利技术属性】
技术研发人员:田丰硕绳伟光何卫锋
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1