-
公开(公告)号:CN114327808B
公开(公告)日:2025-01-28
申请号:CN202110425774.9
申请日:2021-04-20
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种自适应任务调度方法,包括在课题开始运行后运行时系统对计算资源进行初始化,初始化节点类型,划分区域,选取节点类型,初始化任务池;课题正式运行时进行任务分配与调度,随着叶子计算节点完成任务后动态生成新任务并进行调度,当叶子计算节点完成某一任务计算且动态产生新的任务时,叶子节点选择第一个新任务继续进行计算,并通过消息回报其余新产生任务(如果存在)给区域主节点,全局主节点采用消息对各区域任务池进行探测,当某一区域任务显著高于其余区域时,对该区域任务进行回收,进入动态子任务任务池。本发明可避免课题运算过程中动态生成的任务导致负载不均衡的现象,提升计算资源的利用率和课题解算效率。
-
公开(公告)号:CN112486424B
公开(公告)日:2022-10-04
申请号:CN201910861483.7
申请日:2019-09-12
Applicant: 无锡江南计算技术研究所
IPC: G06F3/12
Abstract: 本发明公开了一种用户透明的运算核并行打印保序代理方法,对运算核上的打印输出语句进行扩展替换,将打印输出语句变换成调用运行时系统中的线程打印处理函数;对线程打印处理函数进行参数解析,申请数据转存缓冲区,根据参数类型进行数据转存;运算核请求控制核进行打印保序代理,将申请的数据转存缓冲区首地址传送给控制核;控制核接到中断信号,转入中断处理,根据数据转存缓冲的参数类型执行嵌汇编指令装填打印函数参数,调用printf代理实现运算核打印输出。本发明采用编译器和运行时相结合,自动完成所有运算核的并行有序输出;对用户透明且不需要对运算核的打印输出进行额外管理;只需要运算核的基础编译器对运算核程序进行简单的程序变换即可。
-
公开(公告)号:CN114217808B
公开(公告)日:2024-04-30
申请号:CN202110398337.2
申请日:2021-04-14
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种编程语言指针类型Cache属性扩展方法,基于以下配置:扩展指针类型的Cache属性,Cache属性具有cached和uncached两个值,Cache属性初始化,允许在指针变量申明时为指针变量的Cache属性设置初始值;Cache属性设置,允许在程序语句中动态设置和修改指针变量的Cache属性值;Cache写暗示段子属性设置,指示对指定地址空间将马上进行写操作;Cache私有段子属性设置,作用域为其后的for、while、do‑while、if语句或{}括起来的复合语句,指示对指定地址空间的访问是私有的。本发明方便编程人员提高程序访存效率和降低Cache部件功耗。
-
公开(公告)号:CN114218137A
公开(公告)日:2022-03-22
申请号:CN202110478519.0
申请日:2021-04-30
Applicant: 无锡江南计算技术研究所
IPC: G06F12/123
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
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开了一种面向异构混合编程的一站式程序编译方法,编译器总控增加包括扩展关键字和制导语句,在运算核心变量前添加关键字,在运算核心的函数声明及定义点前添加一个编译指示,在控制核心调用运算核心函数的调用点前添加编译指示;经过前端编译,自动分离控制核心与运算核心的变量与函数;编译器中端对分离出的控制核心上与运算核心上的变量和函数分别进行编译和优化,生成控制核心上程序的中间表示和运算核心上程序的中间表示;将控制核心上和运算核心编译和优化的结果编译成异构众核目标代码。本发明通过在一个编译器内一站式完成控制核心和运算核心代码的分离编译和融合编译,能够解决源到源方式实现复杂、调试困难、可扩展性差的问题。
-
公开(公告)号:CN114217913A
公开(公告)日:2022-03-22
申请号:CN202110325187.2
申请日:2021-03-26
Applicant: 无锡江南计算技术研究所
IPC: G06F9/48
Abstract: 本发明公开一种异构众核架构下的任务动态分配异步管理方法,包括以下步骤:S1、运算核心向控制核心发送任务请求;S2、初始化任务池;S3、判断任务请求类型是计算任务还是控制代理任务;S4、控制核心响应运算核心请求,分配任务至运算核心;S5、控制核心继续本地任务,运算核心接收来自控制核心的任务序号,执行对应任务;S6、向控制核心发送任务完成报告信号;S7、更新任务池;S8、运算核心查询是否更新任务;S9、控制核心继续执行本地任务;S10、等待所有任务执行完毕或得到最终结果,通知计算核心退出。本发明解决了控制核心需要通过轮询等方式主动查看任务完成状态,而不能进行其他操作的问题。
-
公开(公告)号:CN112416313A
公开(公告)日:2021-02-26
申请号:CN201910782836.4
申请日:2019-08-23
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开了一种支持大整数数据类型和运算符的编译方法,基于GCC编译器,包括以下步骤:对GCC编译器做如下配置:扩展GCC编译器内部预定义宏,增加大整数数据类型的预定义宏;扩展GCC编译器的关键字,增加大整数数据类型关键字ccc_bint,并利用编译器的attribute机制来设置大整数类型属性;扩展GCC编译器前端,增加对大整数数据类型关键字ccc_bint的识别,使得编译器在词法分析阶段可以通过大整数数据类型相关程序的词法分析;扩展GCC编译器前端,增加对大整数数据类型关键字表达式的语法分析操作,使得编译器为大整数数据类型关键字相关的赋值表达式、运算表达式、初始化表达式等进行正确的语法分析。本发明既大大提高了运算的进度,又提高了对计算机系统资源利用的效率,改善了计算机运行的性能。
-
公开(公告)号:CN102981839B
公开(公告)日:2015-08-12
申请号:CN201210441329.2
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开了一种合并执行大规模并行线程的数据扩展优化方法,包括:在合并执行的并行线程中识别线程不变量;所述线程不变量在每个合并执行的并行线程中保持一致;编译过程中,仅对非线程不变量,进行数据扩展。本发明减少了不必要的线程私有数据扩展,能有效缓解合并后栈空间的剧烈膨胀,提高程序的执行效率。
-
公开(公告)号:CN102929580B
公开(公告)日:2015-07-08
申请号:CN201210442053.X
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
IPC: G06F9/30
Abstract: 一种数组多引用访问的分块方法和装置,其中,所述数组多引用访问的分块方法包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。本发明的数组多引用访问的分块方法分析了应用程序中多个引用访问之间的相关性,又考虑了系统存储架构的结构限制,确保可以获得有效的数组分块参数和缓冲大小参数。
-
公开(公告)号:CN102946379A
公开(公告)日:2013-02-27
申请号:CN201210394765.9
申请日:2012-10-16
Applicant: 无锡江南计算技术研究所
Abstract: 大规模并行系统下的多层摘要文件生成方法及文件正确性验证方法。多层摘要文件生成方法包括:以原始Hash块大小为单位,将目标文件拆分成多个一级文件;用报文摘要算法为每个一级文件生成一级层间摘要;基于一级层间摘要,至少使用一次报文摘要算法生成总摘要。文件正确性验证方法包括:读取文件对应的多层摘要文件,获取原始Hash块大小;以原始Hash块大小为单位,将文件拆分成多个一级文件;用报文摘要算法为每个一级文件生成一级层间摘要,将一级层间摘要与多层摘要文件中对应的一级层间摘要进行比较,若不一致,则输出错误信息。本发明可在大规模并行系统上快速实现大量文件的正确性检查。
-
-
-
-
-
-
-
-
-