[发明专利]一种面向分布式存储结构的处理方法有效
申请号: | 201710496514.4 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107203406B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 龙欣荣;刘从新;江磊 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/38 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 分布式 存储 结构 处理 方法 | ||
1.一种面向分布式存储结构的处理方法,其特征在于,采用面向密集计算的5层并行编译框架,包括:用于生成剔除冗余的多原子应用并行区域的密集计算应用编译层、以数据并行模型为基础的原子应用层、用于将所述原子应用层的应用指令集翻译成基于多核运行时系统的单程序多数据SPMD并行代码的数据并行编译层、用于完成任务调度和数据流调度的并行运行时层以及用于支撑所述并行运行时层的操作系统层和本地编译层;
所述密集计算应用编译层的工作步骤如下:
S101、对复杂表达式进行词法分析,成功则转到步骤S102,否则退出;
S102、对复杂表达式进行语法分析,成功则转到步骤S103,否则退出,语法分析将词法分析输出的内部编码格式表示的单词序列构建出一个符合语法规则的完整语法树;
S103、生成有向无环图中间表达式,成功则转到步骤S104,否则退出;
S104、生成多原子并行区域代码,成功则转到步骤S105,否则退出;
S105、生成由多原子并行区域组成的中间文件;
所述数据并行编译层的工作步骤如下:
S201、对由多原子并行区域组成的中间文件进行词法分析,成功则转到步骤S202,否则退出;
S202、进行语法及语义分析,成功则转到步骤S203,否则退出;
S203、生成抽象语法树AST,成功则转到步骤S204,否则退出;
S204、AST变换,成功则转到步骤S203,否则退出;
S205、生成可由C编译器编译的C代码。
2.根据权利要求1所述的一种面向分布式存储结构的处理方法,其特征在于,步骤S101中,所述词法分析处理的输入信息是带有并行制导语句的C语言源代码,将源代码文件中的一个个字符串,逐个识别为有意义的词素或单词符号,并转变为便于内部处理的格式来保存。
3.根据权利要求1所述的一种面向分布式存储结构的处理方法,其特征在于,步骤S102中,所述语法树对于语言的部分采用递归下降分析法进行生成,对于并行区域内的矩阵表达子式则采用算符优先分析法,生成并行区域对应的语法树。
4.根据权利要求1所述的一种面向分布式存储结构的处理方法,其特征在于,步骤S103中,中间表达式根据有向无环图生成,采用三地址码表示,一条三地址码对应一个或一类原子应用层。
5.根据权利要求1所述的一种面向分布式存储结构的处理方法,其特征在于,步骤S104中,综合复杂表达式词法分析所得特征信息和语法分析三地址码序列生成所述多原子并行区域代码,并识别三地址码代表的确切含义及相关的特征参数,生成一系列按序执行的原子应用并行区域。
6.根据权利要求1所述的一种面向分布式存储结构的处理方法,其特征在于,步骤S204具体为:
首先将原源代码生成抽象语法树AST,然后再扫描这个语法树,发现编译制导指令进行变换,将节点对应的子树摘下来,保留源代码,做整形,生成单独函数,调用计算核本地编译器编译成可重定位文件,放入到内存文件系统,插入新增的运行库函数的调用,然后将该变换后的子树再插入到原来的地方,最后,本层的编译器遍历这整个AST,并还原输出成C语言源代码文件,完成代码转换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710496514.4/1.html,转载请声明来源钻瓜专利网。