-
公开(公告)号:CN112540750A
公开(公告)日:2021-03-23
申请号:CN201910897633.X
申请日:2019-09-23
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种自适应内建函数与指令操作选择翻译方法,基于编译器实现,包括以下步骤:S1、编译器使用最高优化等级编译该内建函数,当汇编指令少于或等于3条时,将SDNode一对一的降级为汇编指令;S2、当汇编指令大于3条时,判断该内建函数预设的使用频率,若使用频率不高,则以内建函数可拆分的伪指令节点和定义的虚拟寄存器为参数,通过BuildMI函数将内建函数降级为汇编指令;S3、若使用频率较高,则以内建函数的输入和输出作为源寄存器和目的寄存器,使用BuildMI函数创建一条伪指令,使用BuildMI函数扩展上述伪指令,并将扩展后的伪指令降级为汇编指令。本发明可以根据内建函数实现的复杂度选择内建函数节点降级的途径,以使程序的编译运行达到最优化的效果。
-
公开(公告)号:CN112527304A
公开(公告)日:2021-03-19
申请号:CN201910885756.1
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41 , G06F16/901 , G06K9/62
Abstract: 本发明公开一种基于异构平台的自适应节点融合编译优化方法,包括以下步骤:S1、生成中间表示;S2、DAG融合子图识别;S3、节点融合策略;S4、代价评估;S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略;S6、目标相关节点融合,根据节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到S5选择出的节点融合策略所生成的融合后的DAG子图上,使用融合后的DAG子图替换融合前的DAG子图,转到S22;S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。本发明为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。
-
公开(公告)号:CN112527300A
公开(公告)日:2021-03-19
申请号:CN201910879803.1
申请日:2019-09-18
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种面向多目标的细粒度编译自调优方法,包括以下步骤:S1、根据用户需求,确定编译优化的目标;S2、进行代码核心段标识,即对程序的执行时间进行拆分,并按照程序的执行时间长短对程序内的核心段函数进行排序,根据设定的阈值n,选取程序的执行时间最长的若干核心段函数;S3、对代码进行插桩,根据编译优化的目标,选择对应的插桩接口,用于量化评估编译优化效果;S4、修改配置文件,并启动自调优操作;S5、对调优结果的历史信息进行聚类分析,修改迭代过程的启发式策略。本发明能够挖掘编译优化选项的性能潜力,提高编译器的用户友好性,缩短用户进行应用调优的学习曲线。
-
公开(公告)号:CN112527262A
公开(公告)日:2021-03-19
申请号:CN201910885725.6
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种深度学习框架编译器宽度非一致自动向量优化方法,基于异构平台,包括以下步骤:S1、框架编译器前端识别计算图中可进行向量优化的子图,S2、框架编译器中端对步骤S15标记的可进行向量优化的子图中的算子进行融合,并计算图编译为底层IR,S3、框架编译器后端根据异构众核处理器的控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行宽度非一致的向量优化,S4、框架编译器的代码生成模块将步骤S32获得的向量优化后的底层IR转换为用户指定的高级语言代码,并通过基础编译器生成向量优化后的平台目标码。本发明进一步的挖掘深度学习负载的指令集并行性能,提升深度学习负载的向量化程度,从而提升深度学习负载在异构众核平台上的推理性能。
-
公开(公告)号:CN112445485A
公开(公告)日:2021-03-05
申请号:CN201910799256.6
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种基于编译实现的可扩展向量掩码功能的方法和装置,包括以下步骤:S1、编译器输入用户程序,根据目标平台翻译出正确的掩码向量接口;S2、编译器前端模块对S1中获得的掩码向量接口进行关键字识别,选择对应平台的中端处理入口;S3、编译器中端模块根据目标平台的指令结构对掩码向量接口进行分析,选择合适的处理流程;S4、编译器后端模块将编译器中端模块生成的中间生成代码转换生成最终指令;S5、编译器根据向量宽度的增加,完成对平台向量宽度的识别,选择合适宽度的向量转换和掩码生成。本发明降低了重新开发代码的工作量和复杂度及用户移植的复杂度,更进一步的挖掘了课题的指令级并行性能。
-
公开(公告)号:CN105279004A
公开(公告)日:2016-01-27
申请号:CN201510830299.8
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F9/445 , G06F12/0802
Abstract: 本发明提供了一种基于采样剖析的轻量级程序代码重排方法,包括:编译链接程序,其中预留一段代码空间;加载器读入目标程序;使得目标程序运行一遍,加载器收集目标程序运行时运行信息;利用收集到的运行信息指导代码重排;对代码执行垫塞优化;将垫塞优化后的代码写进新的目标程序。
-
公开(公告)号:CN102541727B
公开(公告)日:2015-07-08
申请号:CN201010594006.8
申请日:2010-12-17
Applicant: 无锡江南计算技术研究所
IPC: G06F11/36
Abstract: 本发明公开了一种程序调试方法及系统,能够将针对尚未研制成功的CPU芯片的程序转换为针对已研制成功并可靠性高的CPU芯片体系结构上的程序,并使用标准的调试器进行调试,对程序的正确性和性能进行分析和评估,从而避免了使用体系结构模拟器进行模拟所带来的处理速度慢、可靠性低的缺点。由于使用了已有的硬件资源和标准的调试器,所以处理速度较快,并且可靠性较高。
-
-
-
-
-
-