面向异构众核处理器的多任务并行调度方法

    公开(公告)号:CN112416539B

    公开(公告)日:2022-11-15

    申请号:CN201910771643.9

    申请日:2019-08-21

    Abstract: 本发明公开一种面向异构众核处理器的多任务并行调度方法,包括以下步骤:S1、创建一个任务队列,用于存储待加速计算的任务;S2、任务运行时,主核将从核上已完成的任务回收,将新任务添加到任务队列的尾部;S3、将从核以适当的粒度进行分组,以组为单位主动从任务队列的头部获取任务;S4、一组从核如果获取了当前任务的一部分计算,则要增加当前任务的已有计算资源的数量;S5、当任务的所需计算资源的数量等于已有计算资源的数量时,则该任务分配完毕。本发明提高了任务调度的效率,实现计算资源的精细管理,还解决了众核处理器计算核心多、而实际应用并行度不够、计算负载不均衡导致的计算资源的浪费问题,提高了资源的利用效率。

    面向异构众核处理器的并行离散更新方法

    公开(公告)号:CN112632089B

    公开(公告)日:2022-07-12

    申请号:CN201910904039.9

    申请日:2019-09-24

    Abstract: 本发明公开了一种面向异构众核处理器的并行离散更新方法,包括以下步骤:S1、对地址连续的离散更新数据区进行块划分,并将数据块与从核进行映射,使得每个从核负责其中一个数据块的更新;S2、每个从核将指令执行过程中产生的离散更新请求进行分类,分为需从核自己处理的离散更新请求和需其它从核处理的离散更新请求,并在产生离散更新请求的地方插入相应的处理函数;S3、需从核自己处理的离散更新请求按程序段func1的处理流程进行处理;S4、需其它从核处理的离散更新请求按程序段func2的处理流程进行处理。本发明可以实现较高性能的并行离散更新,并可以处理LDM空间装不下的大数据离散更新问题。

    面向异构众核处理器的多任务并行调度方法

    公开(公告)号:CN112416539A

    公开(公告)日:2021-02-26

    申请号:CN201910771643.9

    申请日:2019-08-21

    Abstract: 本发明公开一种面向异构众核处理器的多任务并行调度方法,包括以下步骤:S1、创建一个任务队列,用于存储待加速计算的任务;S2、任务运行时,主核将从核上已完成的任务回收,将新任务添加到任务队列的尾部;S3、将从核以适当的粒度进行分组,以组为单位主动从任务队列的头部获取任务;S4、一组从核如果获取了当前任务的一部分计算,则要增加当前任务的已有计算资源的数量;S5、当任务的所需计算资源的数量等于已有计算资源的数量时,则该任务分配完毕。本发明提高了任务调度的效率,实现计算资源的精细管理,还解决了众核处理器计算核心多、而实际应用并行度不够、计算负载不均衡导致的计算资源的浪费问题,提高了资源的利用效率。

    一种基于多版本代码生成的众核循环分块方法

    公开(公告)号:CN105242909A

    公开(公告)日:2016-01-13

    申请号:CN201510829920.9

    申请日:2015-11-24

    Abstract: 本发明提供了一种基于多版本代码生成的众核循环分块方法,其中众核处理器由控制核心和计算核心阵列组成,其中每个计算核心带有一块高速缓存;而且其中每个计算核心自带的一块高速缓存作为片上存储以存储器直接访问的方式与主存进行数据传输;其特征在于,编译器在对众核循环进行并行变换时,根据编译器指示的值来确定循环分块的粒度,从而生成不同版本的并行代码,同时编译器通过代码插装的方式将片上存储的使用信息在运行时进行反馈以便能够根据反馈的使用信息对编译指示的值进行相应的调整,以使得片上存储的利用率最大化。

    数据布局方法及其装置
    5.
    发明授权

    公开(公告)号:CN102968388B

    公开(公告)日:2016-01-13

    申请号:CN201210417584.3

    申请日:2012-10-26

    Abstract: 本发明提供了一种数据分布方法以及装置,所述方法包括:将第一代码所处理的第一数据块划分成多个第二数据块,其中每一个第二数据块和一个处理器核对应;根据所述第一代码确定每一个第二数据块对应的边界数据;为每一个第二数据块和对应的边界数据在对应的处理器核中申请局部存储空间;以及根据所述第一代码生成与每一个第二数据块对应的第二代码,所述第二代码能在第二数据块对应的处理器核中根据所述第一代码的处理逻辑完成对所述第二数据块的处理。所述方法能够减少访存开销,从而提高处理器的程序执行速度。

    面向异构众核基于空间重排的数据传输方法

    公开(公告)号:CN112416825B

    公开(公告)日:2022-10-04

    申请号:CN201910771644.3

    申请日:2019-08-21

    Abstract: 本发明公开一种面向异构众核基于空间重排的数据传输方法,包括以下步骤:S1、在编译时,为每个加速区建立一张数据传输信息表,此数据传输信息表中包含当前加速区待传输数据的信息;S2、按照数据的传输模式,将待传输的多个数据进行空间重排;S3、在加速区计算开始之前,启动主存数据到局存缓冲区的DMA数据传输,将加速区计算所需的数据,包括读入的数据和读写的数据,从主存一次传输至局存的缓冲区中;S4、在加速区计算完成之后,启动局存缓冲区到主存的DMA数据传输,将加速区需要传输的要写出的数据,包括读写的数据和写出的数据,从局存缓冲区一次传输至主存中。本发明有效降低众核片上局存和主存之间多次数据传输的开销,提升了程序的访存效率和整体性能。

    一种面向众核分布式局存的隐式数据动态重用方法

    公开(公告)号:CN114217811A

    公开(公告)日:2022-03-22

    申请号:CN202110453214.4

    申请日:2021-04-26

    Abstract: 本发明公开一种面向众核分布式局存的隐式数据动态重用方法,包括以下步骤:S1、根据加速计算中的数据访问模式、数据量、以及加速计算核心本地局存的容量,对数据在加速计算核心本地局存中的存放方式分别进行处理;S2、通过“注册编译指示”标记程序中可能重用的数据变量名或数组偏移;S3、创建重用数据的主存地址和局存地址映射表;S4、通过“重用编译指示”指明需要重用的数据变量名或数组偏移;S6、将“重用编译指示”所标记的代码段中对重用数据主存变量的访问做替换处理。本发明既能动态地申请释放,充分利用有限的局存空间,又能使重用数据尽可能长地驻留在局存中,减少数据传输的开销,提高程序的性能。

    面向异构融合众核架构的数据自动布局方法和装置

    公开(公告)号:CN112948319A

    公开(公告)日:2021-06-11

    申请号:CN201911255530.X

    申请日:2019-12-10

    Abstract: 本发明公开一种面向异构融合众核架构的数据自动布局方法和装置,包括以下步骤:S1、编译器通过静态分析组件确定可以分布布局到计算核心阵列片上高速缓存的数组;S2、编译器使用代码插装组件对布局到片上高速缓存的数组的有关信息进行注册;S3、编译器根据动态分析组件获取的注册信息和循环索引变量,再根据关系表达式计算得到最佳tile值,并将获得的最佳tile值更新到内部数据库中;S4、编译器根据最佳tile值,对循环进行重新分块划分,并重新生成可执行的众核加速目标码;S5、执行编译生成的可执行的众核加速目标码,使数据布局达到最优。本发明解决了用户需要对同一程序的不同规模的算例手动调整tile值来控制关键数据布局的问题,不需要用户手动干预,实现数据的自动布局。

    基于编译指导的有读写依赖循环的多线程并行方法

    公开(公告)号:CN112445486A

    公开(公告)日:2021-03-05

    申请号:CN201910800767.5

    申请日:2019-08-28

    Abstract: 本发明公开一种基于编译指导的有读写依赖循环的多线程并行方法,包括以下步骤:S1、在循环迭代开始处添加编译指导语句;S2、编译器根据编译指导语句生成数据读写状态表;S3、编译器在对程序中依赖数组进行读访问时,增加判断语句;S4、编译器在对程序中依赖数组进行写访问后,增加对数据读写状态表中该数据对应元素的更新操作;S5、当程序多线程运行时,数据读写状态表中所有数据状态均初始化成false;S6、线程x执行对依赖数组中一个数据的写访问后,将数据读写状态表中对应的状态设置为true。本发明实现了迭代间有先写后读依赖的循环的并行计算,解决了多线程并行时数据的无序竞争访问,能有效提高程序的性能。

Patent Agency Ranking