当前位置: 首页 > 专利查询>武汉大学专利>正文

基于Rose中间件的代码多粒度并行转换和翻译方法及系统技术方案

技术编号:42374932 阅读:18 留言:0更新日期:2024-08-16 14:59
本发明专利技术公开了一种基于Rose中间件的代码多粒度并行转换和翻译方法及系统,首先采用Rose编译器作为基础对串行源代码进行分析,生成对应的AST抽象语法树中间表示形式,对AST进行遍历提取循环部分;然后判断是否存在可并行的循环结构;确定是否要进行下一步的循环并行优化,不需要进行循环并行优化的代码保留原有的串行结构;根据识别出的循环类型,进行相对应的循环并行优化;接着将串行代码映射到CPU,并行优化的代码映射到对应GPU多线程;最后Rose编译器反解析替换后的AST中间形式,得到对应的CPU+GPU多粒度并行代码。本发明专利技术一方面通过CPU+GPU异构计算极大的加速代码执行速度,另一方面通过端到端的自动转化极大减少相关工作者将原有代码转换为并行代码所需的时间。

【技术实现步骤摘要】

本专利技术属于计算机科学中的高性能计算、代码翻译转换和编译器,涉及一种代码自动并行转换和翻译方法及系统,特别涉及一种基于rose中间件的代码多粒度自动并行转换和翻译方法及系统。


技术介绍

1、高性能计算是一种利用并行计算和大规模数据处理技术,并且能充分利用计算机系统的多核和异构处理能力,实现高效、快速的计算和数据处理的方法。它的优点在于能够处理大规模数据和复杂计算任务,提高计算效率和速度,加快科学研究进程。高性能计算在各个领域都发挥着重要的作用,如天气预报、基因组学、材料科学等,有效推动了科学技术的发展和进步。

2、rose编译器作为一款强大的编译器工具,为高性能计算和并行计算提供了有力的支持。它具备解析和识别代码的能力。rose编译器不仅可以解析常见的c/c++代码,还可以处理其他编程语言,如fortran等,为不同领域的科研和工程项目提供编译支持,所以可以基于rose编译器进行上层开发。

3、在面对大规模并行计算任务时,手动进行代码转换和翻译是一项繁琐而容易出错的工作。而通过自动代码转换和翻译方法,能够极大地减轻开发者的工作负担本文档来自技高网...

【技术保护点】

1.一种基于Rose中间件的代码多粒度并行转换和翻译方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于Rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤1中,用户输入的代码进行Rose编译器解析,包括代码的类型、所用的硬件环境、所需的并行代码类型。

3.根据权利要求1所述的基于Rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤1中,根据自定义的规则对AST进行遍历提取关键循环部分;

4.根据权利要求1所述的基于Rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤2中,根据自定义的依赖分析语法规则,判断是否存...

【技术特征摘要】

1.一种基于rose中间件的代码多粒度并行转换和翻译方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤1中,用户输入的代码进行rose编译器解析,包括代码的类型、所用的硬件环境、所需的并行代码类型。

3.根据权利要求1所述的基于rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤1中,根据自定义的规则对ast进行遍历提取关键循环部分;

4.根据权利要求1所述的基于rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步骤2中,根据自定义的依赖分析语法规则,判断是否存在可并行的循环结构;其中,循环分为完美嵌套循环和非完美嵌套循环,依赖分为循环携带依赖和循环独立依赖;

5.根据权利要求1所述的基于rose中间件的代码多粒度并行转换和翻译方法,其特征在于:步...

【专利技术属性】
技术研发人员:刘金硕张政姜方县付盼陈志斌罗琳
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1