一种编程语言指针类型Cache属性扩展方法

    公开(公告)号:CN114217808B

    公开(公告)日:2024-04-30

    申请号:CN202110398337.2

    申请日:2021-04-14

    Abstract: 本发明公开一种编程语言指针类型Cache属性扩展方法,基于以下配置:扩展指针类型的Cache属性,Cache属性具有cached和uncached两个值,Cache属性初始化,允许在指针变量申明时为指针变量的Cache属性设置初始值;Cache属性设置,允许在程序语句中动态设置和修改指针变量的Cache属性值;Cache写暗示段子属性设置,指示对指定地址空间将马上进行写操作;Cache私有段子属性设置,作用域为其后的for、while、do‑while、if语句或{}括起来的复合语句,指示对指定地址空间的访问是私有的。本发明方便编程人员提高程序访存效率和降低Cache部件功耗。

    面向众核多层次存储系统的数据高效传输支持方法

    公开(公告)号:CN112738142B

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

    申请号:CN201910974455.6

    申请日:2019-10-14

    Abstract: 本发明公开了一种面向众核多层次存储系统的数据高效传输支持方法,包括典型访存通信模式性能库和运行时最优模式选择模块,所述典型访存通信模式性能库是通过以下步骤构建形成的,总结科学计算程序中的典型通信访存模式;对每种典型通信访存模式,用多种通信访存方案具体实现;对每种实现通信访存方案,测试在不同数据规模下的性能以及需要的缓冲空间的大小,构建典型访存通信模式性库;所述运行时最优模式选择模块则根据用户程序的访存通信模式、访存数据量、可用缓冲空间大小信息,搜索典型访存通信模式性库,选择最优实现方案。本发明减轻编程人员负担的同时,提供高效的实现方案,对于不了解存储系统细节的编程人员,也能很好的利用系统特性。

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

    公开(公告)号:CN112579059B

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

    申请号:CN201910927244.7

    申请日:2019-09-27

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

    通信域的集中式管理方法

    公开(公告)号:CN112540855B

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

    申请号:CN201910891116.1

    申请日:2019-09-20

    Abstract: 本发明公开了一种通信域的集中式管理方法,创建通信域数据结构;通信域的根进程向全局主进程发起申请,全局主进程收到申请后分配管理索引;全局主进程收从资源列表中读取资源信息,通过通信优化策略从资源列表中选择生成可用资源信息,并通知根进程;将生成可用资源信息加入全局通信域队列中;用户发起消息,运行时库使用本进程通信域队列中的可用资源信息读写数据和通信;发送消息后,运行时库通过轮询本进程通信域队列中消息状态,状态异常的消息触发容错流程。本发明将创建的通信域进行集中式管理的机制,有助于提高物理和软件资源利用效率,在通信域的数据结构中添加可用资源信息,帮助用户实现资源的高效利用和对程序运行状态的查询。

    一种冗余cache淘汰操作消除方法
    5.
    发明公开

    公开(公告)号:CN114218137A

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

    申请号:CN202110478519.0

    申请日:2021-04-30

    Abstract: 本发明公开一种冗余cache淘汰操作消除方法,包括以下步骤:S1、分析程序代码,直至找到第一个cache淘汰操作;S2、继续分析程序代码,若发现函数调用语句,则执行S3,否则执行S4;S3、依次分析并记录子函数调用链中语句的操作;S4、若找到第二个cache淘汰操作,则将其与第一个cache淘汰操作共同组成cache淘汰操作组;S5、判断是否可对该cache淘汰操作组进行优化,若是则执行S6,否则执行S7;S6、对cache淘汰操作进行优化,并将优化后的cache淘汰操作作为第一个cache淘汰操作,返回S2继续执行。本发明能够实现更优的冗余同步消除,进一步提升优化后程序的运行时性能。

    面向异构混合编程的一站式程序编译方法

    公开(公告)号:CN112579088A

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

    申请号:CN201910920675.0

    申请日:2019-09-27

    Abstract: 本发明公开了一种面向异构混合编程的一站式程序编译方法,编译器总控增加包括扩展关键字和制导语句,在运算核心变量前添加关键字,在运算核心的函数声明及定义点前添加一个编译指示,在控制核心调用运算核心函数的调用点前添加编译指示;经过前端编译,自动分离控制核心与运算核心的变量与函数;编译器中端对分离出的控制核心上与运算核心上的变量和函数分别进行编译和优化,生成控制核心上程序的中间表示和运算核心上程序的中间表示;将控制核心上和运算核心编译和优化的结果编译成异构众核目标代码。本发明通过在一个编译器内一站式完成控制核心和运算核心代码的分离编译和融合编译,能够解决源到源方式实现复杂、调试困难、可扩展性差的问题。

    基于摘要的软件可信消息实现方法

    公开(公告)号:CN112448934A

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

    申请号:CN201910826329.6

    申请日:2019-09-03

    Abstract: 本发明公开一种基于摘要的软件可信消息实现方法,基于语言级消息库MPI,包括以下步骤:S1、消息的发送方计算出用户消息M的摘要D,并调用网络驱动接口先后将M和D发送至消息的接收方;S2、消息的接收方接收来自发送方的M和D,获得与M、D对应的消息M’、D’;S3、消息的接收方计算M’的摘要D”;S4、消息的接收方比对D’和D”,如果D’与D”相同,则表明接收到的消息内容可信,否则报警退出。本发明从消息级的层面直接验证消息内容正确性,更加灵活方便,受资源限制小,可信度高,能更直接、更完整反应消息可信度。

    一种自适应任务调度方法

    公开(公告)号:CN114327808B

    公开(公告)日:2025-01-28

    申请号:CN202110425774.9

    申请日:2021-04-20

    Abstract: 本发明公开一种自适应任务调度方法,包括在课题开始运行后运行时系统对计算资源进行初始化,初始化节点类型,划分区域,选取节点类型,初始化任务池;课题正式运行时进行任务分配与调度,随着叶子计算节点完成任务后动态生成新任务并进行调度,当叶子计算节点完成某一任务计算且动态产生新的任务时,叶子节点选择第一个新任务继续进行计算,并通过消息回报其余新产生任务(如果存在)给区域主节点,全局主节点采用消息对各区域任务池进行探测,当某一区域任务显著高于其余区域时,对该区域任务进行回收,进入动态子任务任务池。本发明可避免课题运算过程中动态生成的任务导致负载不均衡的现象,提升计算资源的利用率和课题解算效率。

    用户透明的运算核并行打印保序代理方法

    公开(公告)号:CN112486424B

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

    申请号:CN201910861483.7

    申请日:2019-09-12

    Abstract: 本发明公开了一种用户透明的运算核并行打印保序代理方法,对运算核上的打印输出语句进行扩展替换,将打印输出语句变换成调用运行时系统中的线程打印处理函数;对线程打印处理函数进行参数解析,申请数据转存缓冲区,根据参数类型进行数据转存;运算核请求控制核进行打印保序代理,将申请的数据转存缓冲区首地址传送给控制核;控制核接到中断信号,转入中断处理,根据数据转存缓冲的参数类型执行嵌汇编指令装填打印函数参数,调用printf代理实现运算核打印输出。本发明采用编译器和运行时相结合,自动完成所有运算核的并行有序输出;对用户透明且不需要对运算核的打印输出进行额外管理;只需要运算核的基础编译器对运算核程序进行简单的程序变换即可。

Patent Agency Ranking