基于RMA的众核分布式共享SPM实现方法

    公开(公告)号:CN112631593A

    公开(公告)日:2021-04-09

    申请号:CN201910904073.6

    申请日:2019-09-24

    Abstract: 本发明公开了一种基于RMA的众核分布式共享SPM实现方法,语言级共享SPM空间描述方法,由编程人员显示申明共享SPM数据;编译器对程序中的共享SPM数据的访问转换为RMA消息,根据访问特征生成对应的高效RMA操作;运行时提供高效RMA支持。本发明为用户提供分布式共享SPM变量的描述机制,并通过运行时RMA实现众核核心SPM的逻辑共享,简化众核核心间的通信,增大众核核心能够访问的高速缓存的空间;同时,充分利用众核处理器SPM和RMA的优势,简化在众核处理器上的编程,提高众核处理器的好用性、易用性,提升众核系统的可编程性。

    基于数据压缩存储的细粒度并行查表方法

    公开(公告)号:CN112636765B

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

    申请号:CN201910903873.6

    申请日:2019-09-24

    Abstract: 本发明公开了一种基于数据压缩存储的细粒度并行查表方法,包括以下步骤,原始数据压缩,将原细元素粒度的表按照其粒度压缩存储为int类型的表X;根据原表元素粒度生成不同的掩码表Y;根据原表元素粒度对原查表偏移进行处理,得到偏移量为A和B;按查表偏移A按int类型并行查表X,得到查表结果X1;按查表偏移B按int类型并行查表Y,得到查表结果Y1;对X1和Y1进行逻辑运算及移位操作得到最终查表结果。本发明是对用户原始细粒度表元素合并压缩存储,通过增加简单逻辑运算及移位运算实现细粒度的并行查表功能,有效避免以int为单位进行查表导致的空间膨胀,大大提升了具有细粒度查表类课题的向量并行优化的可能性。

    一种异构众核架构下的任务动态分配异步管理方法

    公开(公告)号:CN114217913A

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

    申请号:CN202110325187.2

    申请日:2021-03-26

    Abstract: 本发明公开一种异构众核架构下的任务动态分配异步管理方法,包括以下步骤:S1、运算核心向控制核心发送任务请求;S2、初始化任务池;S3、判断任务请求类型是计算任务还是控制代理任务;S4、控制核心响应运算核心请求,分配任务至运算核心;S5、控制核心继续本地任务,运算核心接收来自控制核心的任务序号,执行对应任务;S6、向控制核心发送任务完成报告信号;S7、更新任务池;S8、运算核心查询是否更新任务;S9、控制核心继续执行本地任务;S10、等待所有任务执行完毕或得到最终结果,通知计算核心退出。本发明解决了控制核心需要通过轮询等方式主动查看任务完成状态,而不能进行其他操作的问题。

    支持有限域数据类型和运算符的编译方法

    公开(公告)号:CN112579059A

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

    申请号:CN201910927244.7

    申请日:2019-09-27

    Abstract: 本发明公开一种支持有限域数据类型和运算符的编译方法,在GCC编译器中新增对__field关键字的支持,用于对有限域上数据类型的描述,所述__field是有限域上的数据类型,此__field类型中包含固定的两个常量成员,此两个常量成员的名字是固定的,用户通过指定此两个常量成员的值,定义一个具体的有限域类型,再使用定义的有限域类型,声明有限域上的变量;在GCC编译器中新增有限域数据类型关键字__field,扩展GCC编译器前端,增加对有限域数据类型关键字__field的支持,扩展GCC编译器前端,增加对有限域数据类型关键字表达式的语法分析和语义分析操作,使得编译器为有限域数据类型关键字相关的初始化表达式、赋值表达式、运算表达式、打印语句进行正确的分析。本发明提高用户程序中有限域运算的效率。

    用户发起的运行时状态检测方法

    公开(公告)号:CN112540894A

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

    申请号:CN201910891124.6

    申请日:2019-09-20

    Abstract: 本发明公开了一种用户发起的运行时状态检测方法,子节点将通信域记录的运行时状态信息发送给父节点;父节点开始进入收消息流程,收到子节点发来的第一个状态包后设置与通信域编号绑定的定时器并进入下一次消息流程,若定时器超时之前所有子节点状态包到齐,则删除定时器并进入分析流程,否则其超时将触发父节点向所有超时子节点发起主动探测消息,并向网络管理部件获取端口状态和链路状态,发现问题后输出给用户;父节点收集到子节点运行时状态后,比对每个子节点每项集合操作的次数,找到最大值max_count以及未达到最大值的子节点的节点编号列表。本发明以解决用户视图长时间无输出而不清楚程序运行状态的问题。

    支持大整数数据类型和运算符的编译方法

    公开(公告)号:CN112416313A

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

    申请号:CN201910782836.4

    申请日:2019-08-23

    Abstract: 本发明公开了一种支持大整数数据类型和运算符的编译方法,基于GCC编译器,包括以下步骤:对GCC编译器做如下配置:扩展GCC编译器内部预定义宏,增加大整数数据类型的预定义宏;扩展GCC编译器的关键字,增加大整数数据类型关键字ccc_bint,并利用编译器的attribute机制来设置大整数类型属性;扩展GCC编译器前端,增加对大整数数据类型关键字ccc_bint的识别,使得编译器在词法分析阶段可以通过大整数数据类型相关程序的词法分析;扩展GCC编译器前端,增加对大整数数据类型关键字表达式的语法分析操作,使得编译器为大整数数据类型关键字相关的赋值表达式、运算表达式、初始化表达式等进行正确的语法分析。本发明既大大提高了运算的进度,又提高了对计算机系统资源利用的效率,改善了计算机运行的性能。

    数组多引用访问的分块方法和装置

    公开(公告)号:CN102929580B

    公开(公告)日:2015-07-08

    申请号:CN201210442053.X

    申请日:2012-11-06

    Abstract: 一种数组多引用访问的分块方法和装置,其中,所述数组多引用访问的分块方法包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。本发明的数组多引用访问的分块方法分析了应用程序中多个引用访问之间的相关性,又考虑了系统存储架构的结构限制,确保可以获得有效的数组分块参数和缓冲大小参数。

    多层摘要文件生成方法及文件正确性验证方法

    公开(公告)号:CN102946379A

    公开(公告)日:2013-02-27

    申请号:CN201210394765.9

    申请日:2012-10-16

    Abstract: 大规模并行系统下的多层摘要文件生成方法及文件正确性验证方法。多层摘要文件生成方法包括:以原始Hash块大小为单位,将目标文件拆分成多个一级文件;用报文摘要算法为每个一级文件生成一级层间摘要;基于一级层间摘要,至少使用一次报文摘要算法生成总摘要。文件正确性验证方法包括:读取文件对应的多层摘要文件,获取原始Hash块大小;以原始Hash块大小为单位,将文件拆分成多个一级文件;用报文摘要算法为每个一级文件生成一级层间摘要,将一级层间摘要与多层摘要文件中对应的一级层间摘要进行比较,若不一致,则输出错误信息。本发明可在大规模并行系统上快速实现大量文件的正确性检查。

    并行任务动态分配方法
    20.
    发明公开

    公开(公告)号:CN102929707A

    公开(公告)日:2013-02-13

    申请号:CN201210438264.6

    申请日:2012-11-06

    Abstract: 一种并行任务动态分配方法,适用于包括多级用户进程的并行系统,所述多级用户进程包括至少两级主进程和普通进程。该方法包括:主进程将本级待分配的并行任务排序,形成本级待分配任务队列;接收下一级用户进程发送的任务请求消息及所请求的任务数量;从本级待分配任务队列的队首开始,按照下一级用户进程所请求的任务数量,为下一级用户进程分配任务,并更新本级待分配任务队列。本发明可提高动态任务分配的效率,以达到众多计算资源间的负载平衡。

Patent Agency Ranking