-
公开(公告)号:CN113391817B
公开(公告)日:2022-08-26
申请号:CN202110665389.1
申请日:2021-06-16
Applicant: 中国海洋大学 , 青岛海洋科学与技术国家实验室发展中心
IPC: G06F8/41
Abstract: 本申请公开了一种基于ANTLR4的头文件替换方法及装置。所述基于ANTLR4的头文件替换方法包括:获取目标语言的头文件映射数据结构,所述目标语言的头文件映射数据结构包括目标头文件信息及原有头文件信息;获取待替换文件,其包括头文件以及内容文件;在内容文件进行源代码解析转换过程中,获取待替换文件的头文件信息;将待替换文件的头文件信息与原有头文件信息进行匹配从而获取匹配到的原有头文件信息并将匹配到的原有头文件信息作为替换头文件信息;将各个替换头文件信息插入至内容文件转换后的待替换文件中的头文件中。本申请的基于ANTLR4的头文件能够实现头文件快速准确的匹配与插入,提高代码转换的效率。
-
公开(公告)号:CN114780239A
公开(公告)日:2022-07-22
申请号:CN202210464650.6
申请日:2022-04-29
Applicant: 青岛海洋科学与技术国家实验室发展中心
Abstract: 本发明公开了一种基于众核处理器以BCSR存储格式的SpMV实现方法与系统,上述方法包括:通过主核按任务块的大小遍历待计算的稀疏矩阵,并按数据块的大小以BCSR存储格式对稀疏矩阵进行划分并压缩,获得压缩后的矩阵;根据矩阵的规模将矩阵按任务块的大小进行划分并编号,形成任务池,并将划分好的任务按任务号分配至各从核;根据从核的数量划分系数向量,并将划分后的系数向量根据从核号分配并静态存储到各从核中;根据分配至各从核的所述任务中的任务数据以及获取的系数向量进行SpMV计算,获得各从核计算的结果向量;整合各从核计算的结果向量,得到完整的结果向量。通过上述方法,有效提高了SpMV的计算速度和性能。
-
公开(公告)号:CN114064047A
公开(公告)日:2022-02-18
申请号:CN202111345891.0
申请日:2021-11-15
Applicant: 青岛海洋科学与技术国家实验室发展中心
Abstract: 本发明提出一种基于ANTLR4的智能代码插桩方法和系统,其方法技术方案包括根据一待插桩工程的源码文件的编程语言,通过ANTLR4构建语法解析树;对所述源码文件根据所述语法解析树进行第一语法解析,所述第一语法解析包括识别并保存函数信息和数据结构信息;根据所述函数信息和所述数据结构信息,在所述源码文件中识别插桩位置,并在所述插桩位置添加第一插桩结构,编译执行结束后输出执行结果;根据所述执行结果获取一预设范围的热点函数信息,并根据所述热点函数信息进行通过第二插桩结构进行进一步插桩,编译执行结束后输出测试结果。本发明解决了现有代码插桩方法对多语言的插桩支持有限以及对智能代码翻译系统翻译的程序进行正确性验证和性能分析效果不佳的问题。
-
公开(公告)号:CN113467828A
公开(公告)日:2021-10-01
申请号:CN202110698088.9
申请日:2021-06-23
Applicant: 中国海洋大学 , 青岛海洋科学与技术国家实验室发展中心
Abstract: 本发明提出一种异构众核处理器中编程语言转换方法和系统,其方法技术方案包括构建异构众核处理器主核中C++语言转换至C语言的语法识别规则和语法映射规则,并通过ANTLR技术对所述C++语言STL容器源代码进行语法解析,形成抽象语法树;对所述抽象语法树进行遍历,根据所述语法识别规则自动识别所述STL容器的声明语句,并将所述声明语句的声明信息保存到Utility类数据结构中;对所述抽象语法树再次进行遍历,根据所述语法映射规则将所述STL容器映射到基于所述C语言的libcstl上;根据所述libcstl的语法规则,对所述C++语言STL容器源代码进行重构,将所述C++语言STL容器转换为所述C语言的libcstl。本发明解决了现有STL容器数据重构复杂耗时,手工编写方式效率低、成本高的问题。
-
公开(公告)号:CN115631087A
公开(公告)日:2023-01-20
申请号:CN202211316069.6
申请日:2022-10-26
Applicant: 青岛超级计算与大数据中心 , 青岛海洋科学与技术国家实验室发展中心
Abstract: 本申请公开了一种基于国产SW处理器的Blender移植方法。所述基于国产SW处理器的Blender移植方法包括:在国产SW处理器中移植Mesa3D库;在国产SW处理器中移植xvfb,同时修改Blender源代码,在主函数中fork一个进程用于运行Blender的同时启动xvfb进程;在拥有Mesa3D库以及所述xvfb的环境下移植Blender。本申请能够使Blender的三维图形渲染功能可以脱离显卡,实现在无图形显示卡设备、无图形界面的情况,仅利用cpu进行光栅化渲染及光线追踪渲染;在交叉编译环境下,在编译过程中需要使用神威处理器生成中间源文件的情况下,使用本方法可以避免移植编译过程人工介入,简化了编译流程,提高了编译准确度;首次在国产神威超算机器上实现了Blender的移植,可满足绝大部分三维图形渲染应用场景需求。
-
公开(公告)号:CN113391817A
公开(公告)日:2021-09-14
申请号:CN202110665389.1
申请日:2021-06-16
Applicant: 中国海洋大学 , 青岛海洋科学与技术国家实验室发展中心
IPC: G06F8/41
Abstract: 本申请公开了一种基于ANTLR4的头文件替换方法及装置。所述基于ANTLR4的头文件替换方法包括:获取目标语言的头文件映射数据结构,所述目标语言的头文件映射数据结构包括目标头文件信息及原有头文件信息;获取待替换文件,其包括头文件以及内容文件;在内容文件进行源代码解析转换过程中,获取待替换文件的头文件信息;将待替换文件的头文件信息与原有头文件信息进行匹配从而获取匹配到的原有头文件信息并将匹配到的原有头文件信息作为替换头文件信息;将各个替换头文件信息插入至内容文件转换后的待替换文件中的头文件中。本申请的基于ANTLR4的头文件能够实现头文件快速准确的匹配与插入,提高代码转换的效率。
-
公开(公告)号:CN113421649B
公开(公告)日:2022-10-28
申请号:CN202110693502.7
申请日:2021-06-22
Applicant: 中国海洋大学 , 青岛海洋科学与技术国家实验室发展中心
IPC: G16H50/50
Abstract: 本申请公开了一种心脏电生理模型的并行仿真方法及系统。所述心脏电生理模型的并行仿真方法包括:计算主核控制与其连接的从核对模拟的细胞进行初始化;计算主核根据其获取的仿真任务为各个与其连接的从核下发电位仿真任务;各个从核同时对各自对应模拟的细胞进行电位仿真计算从而获得心脏细胞电位仿真计算结果;各个从核将计算得到的心脏细胞电位仿真计算结果写入与其连接的计算主核;控制主核获取各个计算主核所传递的心脏细胞电位仿真计算结果。本申请的心脏电生理模型的并行仿真方法可同时开启十万级规模进程并行计算仿真,能够快速完成动作电位周期的仿真计算,加快心脏电生理模型的仿真速度,有效缩短仿真时间。
-
公开(公告)号:CN114625374A
公开(公告)日:2022-06-14
申请号:CN202210248764.7
申请日:2022-03-14
Applicant: 青岛海洋科学与技术国家实验室发展中心
Abstract: 本申请公开了一种CUDA‑C向ATHREAD‑C的转换方法及装置。所述CUDA‑C向ATHREAD‑C的转换方法包括:获取CUDA内核代码;获取预设转换方法;通过ANTLR语言翻译工具,自动生成CUDA代码的抽象语法树;根据所述抽象语法树以及预设转换方法生成ATHREAD代码。本申请公开的CUDA‑C向ATHREAD‑C的转换方法构建了异构加速器的硬件对应关系,并在此基础上设计了基于编译器前端的软件自动转换架构,完全继承了CUDA‑C的并行算法结构,无需在国产超算上重新设计并行算法,保证了移植后数据的准确性和软件的可扩展性,硬件上的近似性对应以及与之相匹配的内存使用原则使得转换后的代码性能得到基本保证。
-
公开(公告)号:CN113421649A
公开(公告)日:2021-09-21
申请号:CN202110693502.7
申请日:2021-06-22
Applicant: 中国海洋大学 , 青岛海洋科学与技术国家实验室发展中心
IPC: G16H50/50
Abstract: 本申请公开了一种心脏电生理模型的并行仿真方法及系统。所述心脏电生理模型的并行仿真方法包括:计算主核控制与其连接的从核对模拟的细胞进行初始化;计算主核根据其获取的仿真任务为各个与其连接的从核下发电位仿真任务;各个从核同时对各自对应模拟的细胞进行电位仿真计算从而获得心脏细胞电位仿真计算结果;各个从核将计算得到的心脏细胞电位仿真计算结果写入与其连接的计算主核;控制主核获取各个计算主核所传递的心脏细胞电位仿真计算结果。本申请的心脏电生理模型的并行仿真方法可同时开启十万级规模进程并行计算仿真,能够快速完成动作电位周期的仿真计算,加快心脏电生理模型的仿真速度,有效缩短仿真时间。
-
公开(公告)号:CN112445492A
公开(公告)日:2021-03-05
申请号:CN202011390106.9
申请日:2020-12-02
Applicant: 青岛海洋科学与技术国家实验室发展中心
Abstract: 本发明提出一种基于ANTLR4的源码翻译方法,属于翻译方法技术领域,其基于多线程机制,翻译效率高,且支持多语言解析。该翻译方法包括如下步骤:对待翻译工程所包含的源码文件按照语言种类进行分类,并将不同种类的源码文件分别放入不同的待解析目录中;通过调度线程将不同待解析目录中的源码文件分别调入不同的预处理线程;预处理线程分析调入的源码文件之间的依赖关系并确定解析顺序,计算得到应输出解析文件总数;解析线程按照解析顺序调取源码文件,利用ANTLR4进行翻译并输出对应的解析文件;判断输出的解析文件总数与应输出解析文件总数是否相等;若相等,则翻译结束,否则重复上述步骤;整合输出的解析文件,得到翻译结果。
-
-
-
-
-
-
-
-
-