-
公开(公告)号:CN112948319A
公开(公告)日:2021-06-11
申请号:CN201911255530.X
申请日:2019-12-10
Applicant: 无锡江南计算技术研究所
IPC: G06F15/177 , G06F8/30 , G06F8/41
Abstract: 本发明公开一种面向异构融合众核架构的数据自动布局方法和装置,包括以下步骤:S1、编译器通过静态分析组件确定可以分布布局到计算核心阵列片上高速缓存的数组;S2、编译器使用代码插装组件对布局到片上高速缓存的数组的有关信息进行注册;S3、编译器根据动态分析组件获取的注册信息和循环索引变量,再根据关系表达式计算得到最佳tile值,并将获得的最佳tile值更新到内部数据库中;S4、编译器根据最佳tile值,对循环进行重新分块划分,并重新生成可执行的众核加速目标码;S5、执行编译生成的可执行的众核加速目标码,使数据布局达到最优。本发明解决了用户需要对同一程序的不同规模的算例手动调整tile值来控制关键数据布局的问题,不需要用户手动干预,实现数据的自动布局。
-
公开(公告)号:CN112445486A
公开(公告)日:2021-03-05
申请号:CN201910800767.5
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种基于编译指导的有读写依赖循环的多线程并行方法,包括以下步骤:S1、在循环迭代开始处添加编译指导语句;S2、编译器根据编译指导语句生成数据读写状态表;S3、编译器在对程序中依赖数组进行读访问时,增加判断语句;S4、编译器在对程序中依赖数组进行写访问后,增加对数据读写状态表中该数据对应元素的更新操作;S5、当程序多线程运行时,数据读写状态表中所有数据状态均初始化成false;S6、线程x执行对依赖数组中一个数据的写访问后,将数据读写状态表中对应的状态设置为true。本发明实现了迭代间有先写后读依赖的循环的并行计算,解决了多线程并行时数据的无序竞争访问,能有效提高程序的性能。
-
公开(公告)号:CN112416825A
公开(公告)日:2021-02-26
申请号:CN201910771644.3
申请日:2019-08-21
Applicant: 无锡江南计算技术研究所
IPC: G06F13/28
Abstract: 本发明公开一种面向异构众核基于空间重排的数据传输方法,包括以下步骤:S1、在编译时,为每个加速区建立一张数据传输信息表,此数据传输信息表中包含当前加速区待传输数据的信息;S2、按照数据的传输模式,将待传输的多个数据进行空间重排;S3、在加速区计算开始之前,启动主存数据到局存缓冲区的DMA数据传输,将加速区计算所需的数据,包括读入的数据和读写的数据,从主存一次传输至局存的缓冲区中;S4、在加速区计算完成之后,启动局存缓冲区到主存的DMA数据传输,将加速区需要传输的要写出的数据,包括读写的数据和写出的数据,从局存缓冲区一次传输至主存中。本发明有效降低众核片上局存和主存之间多次数据传输的开销,提升了程序的访存效率和整体性能。
-
公开(公告)号:CN102968379A
公开(公告)日:2013-03-13
申请号:CN201210410331.3
申请日:2012-10-24
Applicant: 无锡江南计算技术研究所
IPC: G06F12/02
Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。
-
公开(公告)号:CN112416539B
公开(公告)日:2022-11-15
申请号:CN201910771643.9
申请日:2019-08-21
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种面向异构众核处理器的多任务并行调度方法,包括以下步骤:S1、创建一个任务队列,用于存储待加速计算的任务;S2、任务运行时,主核将从核上已完成的任务回收,将新任务添加到任务队列的尾部;S3、将从核以适当的粒度进行分组,以组为单位主动从任务队列的头部获取任务;S4、一组从核如果获取了当前任务的一部分计算,则要增加当前任务的已有计算资源的数量;S5、当任务的所需计算资源的数量等于已有计算资源的数量时,则该任务分配完毕。本发明提高了任务调度的效率,实现计算资源的精细管理,还解决了众核处理器计算核心多、而实际应用并行度不够、计算负载不均衡导致的计算资源的浪费问题,提高了资源的利用效率。
-
公开(公告)号:CN112632089B
公开(公告)日:2022-07-12
申请号:CN201910904039.9
申请日:2019-09-24
Applicant: 无锡江南计算技术研究所
IPC: G06F16/23
Abstract: 本发明公开了一种面向异构众核处理器的并行离散更新方法,包括以下步骤:S1、对地址连续的离散更新数据区进行块划分,并将数据块与从核进行映射,使得每个从核负责其中一个数据块的更新;S2、每个从核将指令执行过程中产生的离散更新请求进行分类,分为需从核自己处理的离散更新请求和需其它从核处理的离散更新请求,并在产生离散更新请求的地方插入相应的处理函数;S3、需从核自己处理的离散更新请求按程序段func1的处理流程进行处理;S4、需其它从核处理的离散更新请求按程序段func2的处理流程进行处理。本发明可以实现较高性能的并行离散更新,并可以处理LDM空间装不下的大数据离散更新问题。
-
公开(公告)号:CN112416539A
公开(公告)日:2021-02-26
申请号:CN201910771643.9
申请日:2019-08-21
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种面向异构众核处理器的多任务并行调度方法,包括以下步骤:S1、创建一个任务队列,用于存储待加速计算的任务;S2、任务运行时,主核将从核上已完成的任务回收,将新任务添加到任务队列的尾部;S3、将从核以适当的粒度进行分组,以组为单位主动从任务队列的头部获取任务;S4、一组从核如果获取了当前任务的一部分计算,则要增加当前任务的已有计算资源的数量;S5、当任务的所需计算资源的数量等于已有计算资源的数量时,则该任务分配完毕。本发明提高了任务调度的效率,实现计算资源的精细管理,还解决了众核处理器计算核心多、而实际应用并行度不够、计算负载不均衡导致的计算资源的浪费问题,提高了资源的利用效率。
-
公开(公告)号:CN105487911A
公开(公告)日:2016-04-13
申请号:CN201510830718.8
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F9/45
CPC classification number: G06F8/443 , G06F3/0685
Abstract: 一种基于编译指导的众核数据分片方法,包括:在加速程序段开始处添加编译指导语句,描述原始数组的多个分片特征;编译器识别编译指导语句,记录原始数组的每个分片信息;对原始数组的各个分片信息,计算该分片的大小,并在局存中申请具有相同大小的相应局存数组;扫描整个加速程序段,检查原始数据的每个引用;如果该引用的数据在当前的分片内,则将原始数组的引用转换成对局存数组的引用;如果该引用是读引用,则在原始数组的分片信息上记录读标志;如果该引用是写引用,则在原始数组的分片信息上记录写标志;如果分片有读标志,在加速段开始处插入该分片的数据导入语句;如果分片有写标志,在加速段开始处插入该分片的数据导出语句。
-
公开(公告)号:CN102981837A
公开(公告)日:2013-03-20
申请号:CN201210439950.5
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
IPC: G06F9/44
Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。
-
-
-
-
-
-
-
-