支撑异构众核全芯片视角的加速编程和编译方法技术

技术编号:27806428 阅读:21 留言:0更新日期:2021-03-30 09:20
本发明专利技术公开一种支撑异构众核全芯片视角的加速编程和编译方法,包括以下步骤:S1、识别__cross关键字声明的全局变量;S2、初始化操作;S3、全芯片加速模式的选择;S4、启动N个运算核组;S5、进入等待所有线程结束的状态;S6、进入等待S4中线程函数的状态信息的状态;S7、置线程结束的标志;S8、线程回收操作;S9、创建pthread线程;S10、线程绑定操作;S11、每个pthread线程将运算核组编号对应的运算核组启动;S12、进入等待线程结束的状态;S13、启动线程函数执行;S14、置线程结束的标志;S15、进行线程回收操作,更新加速核心的状态信息;S16、控制核心运行结束。本发明专利技术支持全芯片视角多模式的并行加速,以应对异构众核处理器的芯片特点和应用需求,为用户提供全片内存视角和全片资源管理方案。资源管理方案。资源管理方案。

【技术实现步骤摘要】
支撑异构众核全芯片视角的加速编程和编译方法


[0001]本专利技术涉及一种支撑异构众核全芯片视角的加速编程和编译方法,属于计算机编译优化


技术介绍

[0002]与传统程序不同,异构混合程序中包含两种面向不同处理器核心的程序代码。异构众核架构上的编程编译一直是高性能计算系统软件研究领域的一个难点问题,涉及到控制核心和加速核心的代码融合、控制核心对加速核心的控制方式和加速模式等。加速编程模式和对应的编译系统一般以控制核心+加速核心簇的视角进行组织和构建。随着芯片结构的不断发展,在异构众核架构中可能包括多个运算核组,每个运算核组由控制核心控制管理一组加速核心,以单个运算核组为基本执行单位的底层编译解决方案将不再适合。
[0003]随着芯片结构的不断发展,异构众核处理器一般采用多运算核组、多加速核心的复杂混合结构,存储层次的设计也变得越来越复杂,多级存储层次不断涌现,加速核心局部存储器的共享、全芯片存储空间的共享等多维共享的特点也比较突出,能够提供超高的计算能力和计算密度,但也给用户编程提出了挑战。另一方面,应用程序也提出了对片内大共享空间、多级细粒度并行等的新需求。这些都对加速编程和编译系统提出了新的要求,需要全芯片视角的相关支撑技术。

技术实现思路

[0004]本专利技术的目的是提供一种支撑异构众核全芯片视角的加速编程和编译方法,该支撑异构众核全芯片视角的加速编程和编译方法通过加速线程库和pthread线程支持全芯片视角多模式的并行加速,以应对异构众核处理器的芯片特点和应用需求,为用户提供全片内存视角和全片资源管理方案。
[0005]为达到上述目的,本专利技术采用的技术方案是:一种支撑异构众核全芯片视角的加速编程和编译方法,基于异构众核处理器,包括以下步骤:S1、编译器识别__cross关键字声明的全局变量,针对找到的每一个全局变量,在地址分配阶段将其排布在全芯片所有运算核组共享的地址空间段;S2、控制核心对全芯片运算核组的加速核心资源进行初始化操作,将加速核心的状态信息、PC值、参数信息的存储空间和数据结构进行初始化;S3、根据单个控制核心的存储空间使用情况,进行全芯片加速模式的选择,若存储空间超过单个运算核组的分布式共享空间的大小,则选择一个控制核心+全片加速核心的全芯片1+M视角的加速编程模式,执行S4;否则,选择全片N个控制核心+全片加速核心的全芯片N+M视角的加速编程模式,执行S9;S4、一个控制核心C进行N次线程函数启动操作启动N个运算核组,每次指定一个运算核组编号,分别将该运算核组编号对应的运算核组启动,并获取加速核心上将要运行的线程函数的状态信息、PC值、参数信息,并写入到S2中所述相应的数据结构中;
S5、S4中的控制核心C进入等待运算核组编号对应的所有线程结束的状态;S6、全芯片所有加速核心进入等待S4中线程函数的状态信息的状态,加速核心获取到线程函数的状态信息后,获取S4中设置的线程函数的PC值和参数信息,根据PC值和参数信息,启动线程函数执行,所有加速核心的线程函数均可以对S1中识别的全局变量进行访问;S7、各加速核心的线程函数执行完毕后,置线程结束的标志,通知控制核心C线程函数已执行结束;S8、控制核心C收到S7中所述来自全芯片所有加速核心的线程结束的标志后,进行线程回收操作,更新加速核心的状态信息,执行S16;S9、每个控制核心创建线程绑定操作的pthread线程;S10、每个控制核心通过运算核组编号进行线程绑定操作,控制核心绑定S9中对应的pthread线程到运算核组编号对应的运算核组上执行;S11、每个pthread线程通过运算核组编号,将运算核组编号对应的运算核组启动,并获取加速核心上将要运行的线程函数的状态信息、PC值、参数信息,并写入到S2中所述相应的数据结构中;S12、S11中所述的pthread线程通过运算核组编号,进入等待运算核组编号对应的线程结束的状态;S13、全芯片所有加速核心进入等待S11中线程函数的状态信息的状态,加速核心获取到线程函数的状态信息后,获取S11中设置的线程函数的PC值和参数信息,根据PC值和参数信息启动线程函数执行,所有加速核心的线程函数均可以对S1中识别的全局变量进行访问;S14、各加速核心的线程函数执行完毕后,置线程结束的标志,通知控制核心线程函数已执行结束;S15、控制核心收到来自S10所绑定的运算核组的所有加速核心线程结束的标志后,进行线程回收操作,更新加速核心的状态信息,执行S16;S16、控制核心运行结束。
[0006]由于上述技术方案的运用,本专利技术与现有技术相比具有下列优点:本专利技术支撑异构众核全芯片视角的加速编程和编译方法,其通过加速线程库和pthread线程支持全芯片视角多模式的并行加速,以应对异构众核处理器的芯片特点和应用需求,为用户提供全片内存视角和全片资源管理方案,隐藏底层硬件细节,满足用户针对全片内存的使用需求,支撑异构众核处理器高效的并行运行模式,对新式应用的开发也具有重要意义。
附图说明
[0007]附图1为本专利技术支撑异构众核全芯片视角的加速编程和编译方法流程示意图;附图2为本专利技术支撑异构众核全芯片视角的加速编程和编译方法流程图。
具体实施方式
[0008]实施例:一种支撑异构众核全芯片视角的加速编程和编译方法,基于异构众核处理器,包括以下步骤:
S1、编译器识别__cross关键字声明的全局变量,针对找到的每一个全局变量,在地址分配阶段将其排布在全芯片所有运算核组共享的地址空间段;S2、控制核心对全芯片运算核组的加速核心资源进行初始化操作,将加速核心的状态信息、PC值、参数信息的存储空间和数据结构进行初始化;S3、根据单个控制核心的存储空间使用情况,进行全芯片加速模式的选择,若存储空间超过单个运算核组的分布式共享空间的大小,则选择一个控制核心+全片加速核心的全芯片1+M视角的加速编程模式,执行S4;否则,选择全片N个控制核心+全片加速核心的全芯片N+M视角的加速编程模式,执行S9;S4、一个控制核心C进行N次线程函数启动操作启动N个运算核组,每次指定一个运算核组编号(编号为1~N),分别将该运算核组编号对应的运算核组启动,并获取加速核心上将要运行的线程函数的状态信息、PC值、参数信息,并写入到S2中所述相应的数据结构中;S5、S4中的控制核心C进入等待运算核组编号对应的所有线程结束的状态;S6、全芯片所有加速核心进入等待S4中线程函数的状态信息的状态,加速核心获取到线程函数的状态信息后,获取S4中设置的线程函数的PC值和参数信息,根据PC值和参数信息,启动线程函数执行,所有加速核心的线程函数均可以对S1中识别的全局变量进行访问;S7、各加速核心的线程函数执行完毕后,置线程结束的标志,通知控制核心C线程函数已执行结束;S8、控制核心C收到S7中所述来自全芯片所有加速核心的线程结束的标志后,进行线程回收操作,更新加速核心的状态信息,执行S16;S9、每个控制核心创建线程绑定操作的pthread线程;S10、每个控制核心通过运算核组编号(编号分别为1~N)进行线程绑定操作,控制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支撑异构众核全芯片视角的加速编程和编译方法,其特征在于:基于异构众核处理器,包括以下步骤:S1、编译器识别__cross关键字声明的全局变量,针对找到的每一个全局变量,在地址分配阶段将其排布在全芯片所有运算核组共享的地址空间段;S2、控制核心对全芯片运算核组的加速核心资源进行初始化操作,将加速核心的状态信息、PC值、参数信息的存储空间和数据结构进行初始化;S3、根据单个控制核心的存储空间使用情况,进行全芯片加速模式的选择,若存储空间超过单个运算核组的分布式共享空间的大小,则选择一个控制核心+全片加速核心的全芯片1+M视角的加速编程模式,执行S4;否则,选择全片N个控制核心+全片加速核心的全芯片N+M视角的加速编程模式,执行S9;S4、一个控制核心C进行N次线程函数启动操作启动N个运算核组,每次指定一个运算核组编号,分别将该运算核组编号对应的运算核组启动,并获取加速核心上将要运行的线程函数的状态信息、PC值、参数信息,并写入到S2中所述相应的数据结构中;S5、S4中的控制核心C进入等待运算核组编号对应的所有线程结束的状态;S6、全芯片所有加速核心进入等待S4中线程函数的状态信息的状态,加速核心获取到线程函数的状态信息后,获取S4中设置的线程函数的PC值和参数信息,根据PC值和参数信息,启动线程函数执行,所有加速核心的线程函数均可以对S1中识别的全局变量进行访问;S7...

【专利技术属性】
技术研发人员:王飞吴伟肖谦沈莉钱宏管茂林周文浩樊行健
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1