CN101667135A - 一种交互式并行化编译系统及其编译方法 - Google Patents

一种交互式并行化编译系统及其编译方法 Download PDF

Info

Publication number
CN101667135A
CN101667135A CN200910153082A CN200910153082A CN101667135A CN 101667135 A CN101667135 A CN 101667135A CN 200910153082 A CN200910153082 A CN 200910153082A CN 200910153082 A CN200910153082 A CN 200910153082A CN 101667135 A CN101667135 A CN 101667135A
Authority
CN
China
Prior art keywords
parallelization
interactive
program
plug
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910153082A
Other languages
English (en)
Other versions
CN101667135B (zh
Inventor
李莹
孙煦雪
袁新宇
徐印成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 200910153082 priority Critical patent/CN101667135B/zh
Publication of CN101667135A publication Critical patent/CN101667135A/zh
Application granted granted Critical
Publication of CN101667135B publication Critical patent/CN101667135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及编译技术,提供了一种交互式并行化编译系统和编译方法,该系统和方法根据自动分析所得的信息,结合通过交互方式由用户提供的信息,形成程序的计算结构特性,针对不同的计算,采用不同的并行化方法实现源到源的并行化转换。本发明提供了友好的交互手段、使用户与编译器紧密协作、并结合最新的先进并行化技术、并使串行应用程序在多核体系结构下获得好的性能。

Description

一种交互式并行化编译系统及其编译方法
技术领域
本发明涉及编译技术,更具体地说涉及一种交互式并行化编译系统及编译方法。
背景技术
随着片上多核处理器时代的到来,如何使应用程序在多核体系结构下获得好的性能,已成为一个研究热点。加快应用程序的执行速度的方法主要有两种:一种是程序员显式使用并行编程技术来开发应用程序,该方法由于受限于现有语言模型的局限性和求解问题的复杂度,没能得到大规模的推广;另一种就是依赖于并行编译器自动或半自动地将串行程序并行化。
串行程序并行化是并行处理领域研究的热点问题,也是高性能计算领域需要解决的问题之一。并行化分为全自动并行化和交互式并行化两种模式。近年来,人们在并行化理论和实用方法两方面都取得了一些进展,出现了一些全自动并行化系统,如UIUC(伊利诺伊大学厄本那-香槟分校)的Polaris,Stanford(斯坦福)的SUIF,复旦大学的AFT等。这些全自动并行化系统,通过采用过程间分析、符号数据相关性分析、数组私有化、归约识别、复杂形式的归纳变量识别以及运行时分析等技术,不需要人为干预,可以自动发现程序中可并行的部分来生成并行代码,具有一定的并行化能力。但是,由于在全自动并行化系统中使用的并行化算法还不能有效地处理复杂的应用程序,以及无法有效处理多个拆分后的小程序之间的依赖关系并同时保持原有串行程序语义,导致编译的实际效果不太理想。这类全自动并行化系统主要应用在科学计算,不能适用于如桌面应用、多媒体以及服务器等更广泛的领域。交互式并行化系统则是通过给用户提供程序中的有效信息,包括相关性分析结果、程序调用图、性能预测结果等帮助用户进行并行化工作,例如Greenwich(格林威治大学)大学的CAPTools,Rice大学的Fortran D系统和AppliedParallel Research(应用并行计算研究所)的Forge90等均是交互式并行化系统。这些交互式并行化系统,在尽可能采取自动并行化技术的同时,允许在并行化过程中人为查看和修改并行化结果,通过利用人工的能力来提高并行化效果,在部分程度上弥补了全自动并行化系统的不足。但是,上述交互式并行化系统普遍都没有采用最新的自动并行化技术,而且其交互方法以及与用户间协作的紧密性有待提高,因此,它们的并行化效果在现行多核体系结构下仍然不够理想。
发明内容
本发明所要解决的技术问题是提出一种提供友好的交互手段、使用户与编译器紧密协作、并结合最新的先进并行化技术、并使串行应用程序在多核体系结构下获得好的性能的交互式并行化编译系统及其编译方法。
本发明为解决其技术问题提供了一种交互式并行化编译系统,该系统包括具有多核处理器的计算机和运行在多核处理器的计算机环境下的编译器,其中,编译器为Eclipse编译器,交互式并行化编译系统还包括交互式并行化插件和交互式并行化引擎,交互式并行化插件为基于Eclipse编译器的交互式视图插件,通过和用户交互来获取交互信息,将串行程序信息和交互信息传输到交互式并行化引擎;交互式并行化引擎接收串行程序和交互信息,确定串行程序的计算结构特性,对不同特性的计算采用不同的并行化策略进行并行化,并将并行化结果传递给交互式并行化插件。
本发明还提供了一种交互式并行化编译方法,该方法基于Eclipse编译器,通过与用户交互来对串行程序编译为可由计算机的多核处理器来并行处理的并行程序,该方法包括预备阶段和并行化阶段,在预备阶段交互式并行化插件与用户交互获取交互信息,交互式并行化引擎接收交互信息并进行自动化程序分析,确定串行程序的计算结构特性;在并行化阶段,交互式并行化插件与用户交互获取交互信息,交互式并行化引擎对不同特性的计算采用不同的并行化策略进行并行化,并将并行化结果传递给交互式并行化插件,Eclipse编译器显示并行化结果。
本发明提供的交互式并行化编译系统和编译方法,根据自动分析所得的信息,结合通过交互方式由用户提供的信息,形成程序的计算结构特性。针对不同的计算,采用不同的并行化方法实现源到源的并行化转换。本发明具有以下优点:
(1)基于Eclipse编译器的插件来实现交互功能,提供了友好的可视化环境和强大的用户交互功能,具有较好的可移植性和可扩展性;
(2)采用源到源的变换,具有通用性,可针对不同目标机器体系结构获得较好的并行化效果;
(3)采用最新自动并行化分析技术与交互式结合,较好地抽取程序信息及用户知识,具有较强的程序理解能力;
(4)支持多种不同类型计算,提供相应的并行化方案,支持多种粒度的并行性,支持投机多线程并行化。
附图说明
图1为本发明的交互式并行化编译系统的结构框图;
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明进行详细描述。
图1为本发明的交互式并行化编译系统的结构框图,参见图1,本发明提供的交互式并行化编译系统包括具有多核处理器的计算机,Eclipse编译器1在多核处理器的计算机环境下运行。Eclipse编译器1作为底层基础框架,交互式并行化插件2和交互式并行化引擎3相互协作,将串行程序编译为可由多核处理器并行处理的并行程序。本发明所述的Eclipse编译器为基于Eclipse环境的编译器。
交互式并行化插件2是基于Eclipse编译器1的交互式视图插件,使用了Eclipse编译器的插件环境作为基底平台进行开发,提供了友好的交互式可视化环境和用户交互功能,通过和用户进行交互来获取相关性能参数和用户经验知识等交互信息,并传递给交互式并行化引擎3以指导并行化工作。用户通过Eclipse编译器的编辑器选择程序块,再由交互式并行化插件2中的菜单选择并行化功能,触发交互式并行化引擎3进行并行化操作。交互式并行化引擎3接收交互式并行化插件2所获取的交互信息,进行源到源的并行化转换,并将并行化转换结果传递给交互式并行化插件2。交互式并行化插件2接收并行化结果,对源程序进行重写操作,在Eclipse编译器的编辑器中向用户显示结果,并可进一步接收用户的反馈,按需进一步进行并行化操作。
交互式并行化引擎3包括交互式模块31、自动并行化模块32、程序变换模块33以及并行代码生成模块34。交互式并行化插件2将串行程序信息以及交互信息经由交互式模块31传输给交互并式行化引擎3,交互式并行化引擎3在获取交互信息的基础上,对串行程序进行并行化工作。
交互式模块31是交互式并行化引擎3与交互式并行化插件2的接口模块,通过这个模块,交互式并行化引擎3获取交互信息,并将程序分析及并行化结果传给交互式并行化插件2。
自动并行化模块32接收串行程序和交互信息,进行程序分析。根据获得的交互信息筛选出线性任务计算。对于非线性任务计算,再进行过程内数据流分析和过程间分析,筛选出递归任务计算。对于非任务计算,再进行数据依赖分析,来区分规则数据流计算和特定计算。
程序变换模块33接收交互信息和自动并行化模块32的分析结果,对串行程序进行理解,并准对不同计算选择合适的并行化策略进行并行变换。程序变换模块33针对四种类型的计算提供了相应的并行化方案。对于线性任务计算,根据交互信息建立开销模型,采用基于图模型理论的方法,对程序图模型进行划分和调度,来挖掘粗粒度任务级并行性。对于递归任务计算,采用并行分治算法,使用并行库对程序进行变换。对于规则数据流计算,根据交互信息建立性能模型,采用仿射划分算法对程序进行变换,获得流水级并行。对于SPECCPU2000 Compress等的特定计算,采用开销驱动、基于采样和反馈的用户经验信息指导的投机多线程并行化方法对特定计算进行并行化处理。
并行代码生成模块34对程序变换模块33产生的相关并行化变换进行源代码更改,生成并行化代码。对于C语言串行程序,生成串行程序代码与OpenMP指导语句相结合的并行化代码。
整个交互式并行化引擎3不断循环工作,与用户进行交互,获取相关用户知识经验信息,并进一步按需进行并行化处理,直到满足用户的并行化结果性能要求,具有积极的交互能力及较强的并行化能力。
交互式并行化插件2还提供了性能参数配置页,通过用户自定义性能参数,与交互式并行化引擎3进行交互,动态地确定开销模型,来指导并行化工作。与性能参数配置页类似,交互式并行化插件2还提供了用户知识窗口,用户通过输入程序运行的相关知识,来指导投机多线程并行化工作。另外,交互式并行化插件2还提供了可视化浏览环境,包括可以查看并行化效果的可视化性能分析器,以及可以查看程序信息图的多图浏览器。在交互式并行化引擎3完成并行化工作后,交互式并行化插件2负责将并行化后的代码写入,对源文件进行修改,并在Eclipse编译器的编辑器中实时显示并行化结果。
本发明提出了一种计算类型驱动的并行化算法,并以此算法作为理论基础,针对不同类型的计算,采用不同的并行化策略。本发明所支持的计算包括:1.由线性任务组成的计算,如多媒体编解码应用程序,MDG程序(分子动态模拟程序,PerfectBenchmarks的一部分)等等;2.由递归任务组成的计算,例如使用分治方法解决问题的应用等;3.由规则数据流组成的计算,如一部分科学计算应用程序等;4.特定计算,诸如SPECCPU2000Compress等。
本发明的核心算法分为两个阶段:预备阶段和并行化阶段。预备阶段,主要用来获取串行程序相关信息。通过交互方式,根据用户提供的信息来筛选线性任务计算。然后,进行自动化程序分析,包括过程内数据流分析和过程间分析,筛选递归任务计算。最后,通过数据依赖分析,来区分规则数据流计算和特定计算。确定串行应用程序的计算结构特性后,进入并行化阶段。并行化阶段针对不同特性的计算,采用不同的并行化策略。对于线性任务计算,通过与用户交互来建立开销模型,并根据开销模型,采用基于图模型理论的方法,对程序图模型进行划分和调度,来挖掘粗粒度任务级并行性。并将并行化结果显示给用户,并行化过程是迭代进行,直到用户满意并行化结果。对于递归任务计算,采用并行分治算法,使用并行库对程序进行变换,并显示并行化结果。对于规则数据流计算,通过用户交互手段,获取性能评估信息,根据性能模型使用仿射划分算法对程序进行变换,并显示并行化结果。对于特定计算,通过与用户交互,获取用户经验信息来指导投机执行,采用开销驱动、基于采样和反馈的投机多线程并行化方法对特定计算进行并行化处理,再通过一个支持投机并行的运行时环境的模拟执行,获得并行化性能值,并将并行化性能结果显示给用户,并行化过程迭代进行,直到用户满意并行化结果。
本发明的核心算法,即根据串行程序的计算特性使用合适的并行化策略进行源到源转换,其伪代码描述如下:
                                          
/*preparation phase*/
computation_info=Collect_interaction_info(PRE_PHASE)
if(computation_info is xml file){  /*filter linear task computation from others*/
   id=LINEAR_TASK_COMPUTATION
}else{
Data_flow_analysis(id)
Interprocedural_analysis(id)  /*filter out recursive task computation*/
Data_dependence_analysis(id)
/*distinguish regular data flow computation from“specific”computation*/
}
/*customizing parallelization strategy phase*/
switch(id){
   case LINEAR_TASK_COMPUTATION:{
   do    {
         cost_model_info=Collect_interaction_info(PAR_PHASE)
         Task_level_parallelism_exploration(cost_model_info)
         display parallelization result and interact with user
   }while(user expects improvement on parallelization)
/*apply mapping and scheduling on program graph model*/
   }
   case RECURSIVE_TASK_COMPUTATION:{
         DC_transformation()
/*apply Divide and Conquer algorithm using parallelizing library*/
   }
   case REGULAR_DATA_FLOW_COMPUTATION:{
         performance_evaluation_info=Collect_interaction_info(PAR_PHASE)
           AP_transformation(performance_evaluation_info)
/*apply transformation using affine partition algorithm*/
    }
    case SPECIFIC_COMPUTATION:{
          do{
          user_guidance_info=Collect_interaction_info(PAR_PHASE)
          Speculative_parallelism_exploration(user_guidance_info)
/*apply cost driven speculative multithreading parallelization based on profiling*/
          display parallelization result and interact with user
        }while(user expects improvement on parallelization)
    }
}
本发明的交互式并行化编译方法应用交互式并行化编译系统实现本发明的核心算法,包括预备阶段和并行化阶段。在预备阶段,交互式并行化插件与用户交互获取交互信息,并把交互信息传输给交互式并行化引擎。交互式并行化引擎接收交互信息和串行程序信息,自动并行化模块先根据交互信息来筛选线性任务计算,然后进行过程内数据流分析和过程间分析,筛选递归任务计算,最后通过数据依赖分析,区分规则数据流计算和特定计算。在并行化阶段,交互式并行化引擎的程序变换模块对于线性任务计算,通过与用户交互来建立开销模型,并根据开销模型,采用基于图模型理论的方法,对程序图模型进行划分和调度,来挖掘粗粒度任务级并行性,Eclipse编译器显示并行化结果,并行化过程是迭代进行,直到用户满意并行化结果。对于递归任务计算,程序变换模块采用并行分治算法,使用并行库对程序进行变换,Eclipse编译器显示并行化结果。程序变换模块对于规则数据流计算,通过用户交互手段,获取性能评估信息,根据性能模型使用仿射划分算法对程序进行变换,Eclipse编译器显示并行化结果。程序变换模块对于特定计算,通过与用户交互,获取用户经验信息来指导投机执行,采用开销驱动、基于采样和反馈的投机多线程并行化方法对特定计算进行并行化处理,Eclipse编译器显示并行化结果,行化过程迭代进行,直到用户满意并行化结果。

Claims (9)

1、一种交互式并行化编译系统,包括具有多核处理器的计算机和运行在多核处理器的计算机环境下的编译器,其特征在于:
所述编译器为Eclipse编译器;
所述交互式并行化编译系统还包括:
交互式并行化插件,其为基于Eclipse编译器的交互式视图插件,通过和用户交互来获取交互信息,将串行程序信息和所述交互信息传输给交互式并行化引擎;
交互式并行化引擎,接收所述串行程序和所述交互信息,确定所述串行程序的计算结构特性,对不同特性的计算采用不同的并行化策略进行并行化,并将并行化结果传递给所述交互式并行化插件。
2、根据权利要求1所述的交互式并行化编译系统,其特征在于,所述交互式并行化引擎包括交互式模块、自动并行化模块、程序变换模块以及并行代码生成模块,其中:
所述交互式模块为所述交互式并行化插件和所述交互式并行化引擎的接口模块;
所述自动并行化模块对所述串行程序进行过程内数据流分析、过程间分析以及数据依赖分析,筛选出线性任务计算、递归任务计算、规则数据流计算和特定计算;
所述程序变换模块对所述线性任务计算,根据交互信息建立开销模型,采用基于图模型理论方法,对程序图模型进行划分和调度,以挖掘粗粒度任务级并行性,对所述递归任务计算,采用分治算法,使用并行库对程序进行变换,对所述规则数据流计算,根据交互信息建立性能模型,采用仿射划分算法对程序进行变换,获得流水级并行,对所述特定计算,采用开销驱动、基于采样和反馈的用户经验信息指导的投机多线程并行化方法挖掘其并行性;
所述并行代码生成模块根据程序变换的结果生成相应的并行化代码。
3、根据权利要求2所述的交互式并行化编译系统,其特征在于,所述交互式并行化插件提供了性能参数配置页,通过用户自定义性能参数来与所述并行化引擎进行交互,动态地确定开销模型。
4、根据权利要求2所述的交互式并行化编译系统,其特征在于,所述交互并行化插件提供了用户知识窗口,用户通过输入程序运行的相关知识,来指导投机多线程并行化工作。
5、根据权利要求2所述的交互式并行化编译系统,其特征在于,所述交互式并行化插件提供了用于查看并行化效果的可视化性能分析器。
6、根据权利要求2所述的交互式并行化编译系统,其特征在于,所述交互式并行化插件提供了用于查看程序信息图的多图浏览器。
7、一种交互式并行化编译方法,基于编译器,通过与用户交互来对串行程序编译为可由计算机的多核处理器来并行处理的并行程序,其特征在于,所述编译器为Eclipse编译器,所述交互式并行化编译方法包括:
预备阶段:交互式并行化插件与用户交互获取交互信息,交互式并行化引擎接收所述交互信息并进行自动化程序分析,确定串行程序的计算结构特性;
并行化阶段:交互式并行化插件与用户交互获取交互信息,交互式并行化引擎对不同特性的计算采用不同的并行化策略进行并行化,并将并行化结果传递给所述交互式并行化插件,Eclipse编译器显示并行化结果。
8、根据权利要求7所述的交互式并行化编译方法,其特征在于:
在所述预备阶段,交互式并行化引擎的自动并行化模块先根据交互信息来筛选线性任务计算,然后进行过程内数据流分析和过程间分析,筛选递归任务计算,最后通过数据依赖分析,区分规则数据流计算和特定计算;
在所述并行化阶段,交互式并行化引擎的程序变换模块对线性任务计算,通过与用户交互来建立开销模型,并根据开销模型,采用基于图模型理论的方法,对程序图模型进行划分和调度,来挖掘粗粒度任务级并行性,Eclipse编译器显示并行化结果;对递归任务计算,采用并行分治算法,使用并行库对程序进行变换,Eclipse编译器显示并行化结果;对规则数据流计算,通过用户交互手段,获取性能评估信息,根据性能模型使用仿射划分算法对程序进行变换,Eclipse编译器显示并行化结果;对特定计算,通过与用户交互,获取用户经验信息来指导投机执行,采用开销驱动、基于采样和反馈的投机多线程并行化方法对特定计算进行并行化处理,Eclipse编译器显示并行化结果。
9、根据权利要求8所述的交互式并行化编译方法,其特征在于,在所述并行化阶段,程序变换模块对线性任务计算和特定计算的并行化过程均迭代进行。
CN 200910153082 2009-09-30 2009-09-30 一种交互式并行化编译系统及其编译方法 Active CN101667135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910153082 CN101667135B (zh) 2009-09-30 2009-09-30 一种交互式并行化编译系统及其编译方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910153082 CN101667135B (zh) 2009-09-30 2009-09-30 一种交互式并行化编译系统及其编译方法

Publications (2)

Publication Number Publication Date
CN101667135A true CN101667135A (zh) 2010-03-10
CN101667135B CN101667135B (zh) 2013-07-31

Family

ID=41803760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910153082 Active CN101667135B (zh) 2009-09-30 2009-09-30 一种交互式并行化编译系统及其编译方法

Country Status (1)

Country Link
CN (1) CN101667135B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794230A (zh) * 2010-04-07 2010-08-04 孙斌 用于多核的c语言扩充及编译系统支持方法
CN101963916A (zh) * 2010-09-28 2011-02-02 中国科学院地质与地球物理研究所 编译处理方法及装置
CN101963915A (zh) * 2010-09-25 2011-02-02 中兴通讯股份有限公司 一种编译的构建方法及系统
WO2012027907A1 (en) * 2010-09-03 2012-03-08 Siemens Aktiengesellschaft Method for parallelizing automatic control programs and compiler
CN103942096A (zh) * 2014-03-24 2014-07-23 浙江大学 一种数据容错的多线程投机方法
CN103955406A (zh) * 2014-04-14 2014-07-30 浙江大学 一种基于超级块的投机并行化方法
CN104750533A (zh) * 2013-12-31 2015-07-01 上海海尔集成电路有限公司 C程序编译方法及编译器
WO2015143641A1 (en) * 2014-03-26 2015-10-01 Empire Technology Development Llc Compilation of application into multiple instruction sets for a heterogeneous processor
CN106569869A (zh) * 2016-11-14 2017-04-19 平安科技(深圳)有限公司 插件化打包方法及装置
CN107544794A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 程序信息的处理方法和装置
CN107885531A (zh) * 2017-11-28 2018-04-06 昆山青石计算机有限公司 一种基于数组私有化的并发大数据实时处理方法
CN113434548A (zh) * 2021-06-25 2021-09-24 北京理工大学 一种基于Spark的大规模数据流分析方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453407B1 (en) * 1999-02-10 2002-09-17 Infineon Technologies Ag Configurable long instruction word architecture and instruction set
US7089545B2 (en) * 2002-12-17 2006-08-08 International Business Machines Corporation Detection of reduction variables in an assignment statement
CN101078994A (zh) * 2006-05-26 2007-11-28 松下电器产业株式会社 编译器装置、编译器方法和编译器程序

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794230A (zh) * 2010-04-07 2010-08-04 孙斌 用于多核的c语言扩充及编译系统支持方法
CN103080900B (zh) * 2010-09-03 2015-10-14 西门子公司 并行化自动控制程序的方法及编译器
WO2012027907A1 (en) * 2010-09-03 2012-03-08 Siemens Aktiengesellschaft Method for parallelizing automatic control programs and compiler
CN103080900A (zh) * 2010-09-03 2013-05-01 西门子公司 并行化自动控制程序的方法及编译器
CN101963915A (zh) * 2010-09-25 2011-02-02 中兴通讯股份有限公司 一种编译的构建方法及系统
CN101963915B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种编译的构建方法及系统
CN101963916A (zh) * 2010-09-28 2011-02-02 中国科学院地质与地球物理研究所 编译处理方法及装置
CN104750533B (zh) * 2013-12-31 2018-10-19 上海东软载波微电子有限公司 C程序编译方法及编译器
CN104750533A (zh) * 2013-12-31 2015-07-01 上海海尔集成电路有限公司 C程序编译方法及编译器
CN103942096A (zh) * 2014-03-24 2014-07-23 浙江大学 一种数据容错的多线程投机方法
CN103942096B (zh) * 2014-03-24 2017-06-13 浙江大学 一种数据容错的多线程投机方法
WO2015143641A1 (en) * 2014-03-26 2015-10-01 Empire Technology Development Llc Compilation of application into multiple instruction sets for a heterogeneous processor
CN103955406A (zh) * 2014-04-14 2014-07-30 浙江大学 一种基于超级块的投机并行化方法
CN107544794A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 程序信息的处理方法和装置
CN106569869A (zh) * 2016-11-14 2017-04-19 平安科技(深圳)有限公司 插件化打包方法及装置
WO2018086268A1 (zh) * 2016-11-14 2018-05-17 平安科技(深圳)有限公司 插件化打包方法、装置、终端及存储介质
CN106569869B (zh) * 2016-11-14 2019-04-19 平安科技(深圳)有限公司 插件化打包方法及装置
US10387169B2 (en) 2016-11-14 2019-08-20 Ping An Technology (Shenzhen) Co., Ltd. Plug-in packaging method, device, terminal and storage media
TWI679578B (zh) * 2016-11-14 2019-12-11 大陸商平安科技(深圳)有限公司 外掛程式化打包方法、裝置、終端及存儲介質
CN107885531A (zh) * 2017-11-28 2018-04-06 昆山青石计算机有限公司 一种基于数组私有化的并发大数据实时处理方法
CN113434548A (zh) * 2021-06-25 2021-09-24 北京理工大学 一种基于Spark的大规模数据流分析方法及系统
CN113434548B (zh) * 2021-06-25 2022-06-17 北京理工大学 一种基于Spark的大规模数据流分析方法及系统

Also Published As

Publication number Publication date
CN101667135B (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
CN101667135B (zh) 一种交互式并行化编译系统及其编译方法
Linderman et al. Merge: a programming model for heterogeneous multi-core systems
Bhowmik et al. A general compiler framework for speculative multithreading
Raman et al. Parcae: a system for flexible parallel execution
Jimborean et al. Dynamic and speculative polyhedral parallelization using compiler-generated skeletons
CN104035781A (zh) 一种快速开发异构并行程序的方法
Meng et al. Dataflow-driven GPU performance projection for multi-kernel transformations
Caamaño et al. APOLLO: Automatic speculative polyhedral loop optimizer
Bhowmik et al. A general compiler framework for speculative multithreaded processors
Li et al. Transparent runtime parallelization of the R scripting language
Cordes Automatic parallelization for embedded multi-core systems using high level cost models
Sah et al. A review of parallelization tools and introduction to easypar
Mehrara et al. Multicore compilation strategies and challenges
Bücker et al. A class of OpenMP applications involving nested parallelism
Boppu et al. Loop program mapping and compact code generation for programmable hardware accelerators
Liu et al. Toward emotion-aware computing: A loop selection approach based on machine learning for speculative multithreading
Kumar et al. An approach for compiler optimization to exploit instruction level parallelism
Lazarescu et al. Interactive trace-based analysis toolset for manual parallelization of C programs
Kotha et al. Affine parallelization using dependence and cache analysis in a binary rewriter
Lee et al. Benchmarking hpjava: Prospects for performance
Agarwal et al. Spartan: A software tool for parallelization bottleneck analysis
Ulloa et al. Software parallelization and distribution for heterogeneous multi-core embedded systems
Garcia et al. Bridging the parallelization gap: Automating parallelism discovery and planning
Ierotheou et al. Using an interactive parallelisation toolkit to parallelise an ocean modelling code
DC et al. Compiler driven inter block parallelism for multicore processors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Li Ying

Inventor after: Sun Xiuxue

Inventor after: Yuan Xinyu

Inventor after: Xu Yincheng

Inventor after: Wu Chaohui

Inventor before: Li Ying

Inventor before: Sun Xiuxue

Inventor before: Yuan Xinyu

Inventor before: Xu Yincheng

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LI YING SUN XUXUE YUAN XINYU XU YINCHENG TO: LI YING SUN XUXUE YUAN XINYU XU YINCHENG WU ZHAOHUI

C14 Grant of patent or utility model
GR01 Patent grant