-
公开(公告)号:CN112130848B
公开(公告)日:2022-06-14
申请号:CN202011013688.9
申请日:2020-09-24
Applicant: 中国科学院计算技术研究所
Abstract: 本发明提出了一种面向便笺式存储器的带宽感知循环分块优化技术,该技术通过协调考虑带宽利用率和片上存储器容量来增强传统的循环分块优化方法。根据针对DMA的测试分析得到的带宽行为模型,创建决策树以针对不同类型的数据访问模式,从而选择最佳的数据提取操作。利用运行时循环分块框架来确定最佳分块大小,并在运行时生成分块代码。并且,本发明还通过利用参数引导的IPA来寻找不规则访问的静态分块机会,并使用冗余计算来节省SPM容量,从而增强循环分块的效果。
-
公开(公告)号:CN112130848A
公开(公告)日:2020-12-25
申请号:CN202011013688.9
申请日:2020-09-24
Applicant: 中国科学院计算技术研究所
Abstract: 本发明提出了一种面向便笺式存储器的带宽感知循环分块优化技术,该技术通过协调考虑带宽利用率和片上存储器容量来增强传统的循环分块优化方法。根据针对DMA的测试分析得到的带宽行为模型,创建决策树以针对不同类型的数据访问模式,从而选择最佳的数据提取操作。利用运行时循环分块框架来确定最佳分块大小,并在运行时生成分块代码。并且,本发明还通过利用参数引导的IPA来寻找不规则访问的静态分块机会,并使用冗余计算来节省SPM容量,从而增强循环分块的效果。
-
公开(公告)号:CN109933327B
公开(公告)日:2021-01-08
申请号:CN201910106880.3
申请日:2019-02-02
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明涉及一种基于代码融合编译框架的OpenCL编译器设计方法和系统,包括:基于共享内存提供主机‑内核代码融合编译框架,在编译器的中间表示——AST层上实现不同端代码的融合;WII‑CFG图用来刻画Kernel代码被实例化成众多线程后,线程之间的指令执行行为,亦即分析工作组内平台特征敏感的程序执行行为;主机‑内核代码联合的数据流分析,用来发掘跨越主机端或内核端的数据流关系以及线程之间的数据流关系,以分析两端代码之间的数据相关性;基于前述分析实施针对性的代码优化,并生成汇编代码进而结束编译过程。本发明能面向不同加速设备,针对主机端代码、Kernel代码同时开展分析,充分发掘线程间优化机会,使得OpenCL程序获得良好的性能可移植性。
-
公开(公告)号:CN109933327A
公开(公告)日:2019-06-25
申请号:CN201910106880.3
申请日:2019-02-02
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明涉及一种基于代码融合编译框架的OpenCL编译器设计方法和系统,包括:基于共享内存提供主机-内核代码融合编译框架,在编译器的中间表示——AST层上实现不同端代码的融合;WII-CFG图用来刻画Kernel代码被实例化成众多线程后,线程之间的指令执行行为,亦即分析工作组内平台特征敏感的程序执行行为;主机-内核代码联合的数据流分析,用来发掘跨越主机端或内核端的数据流关系以及线程之间的数据流关系,以分析两端代码之间的数据相关性;基于前述分析实施针对性的代码优化,并生成汇编代码进而结束编译过程。本发明能面向不同加速设备,针对主机端代码、Kernel代码同时开展分析,充分发掘线程间优化机会,使得OpenCL程序获得良好的性能可移植性。
-
公开(公告)号:CN109901840A
公开(公告)日:2019-06-18
申请号:CN201910114572.5
申请日:2019-02-14
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明通过自动选择优化策略以及分维度进行线程间冗余删除的收益代价分析,能自动根据代码是否含有同步操作和硬件平台的特点,针对性地选择一种优化策略,通过对Kernel代码的编译分析,得出合适的合并维度和合并因子,利于提高Kernel代码的运行性能。采用本发明方法能面向多种异构平台,进行自动分析和变换,得以优化设备端代码的线程间冗余和同步开销,提高设备端代码(即OpenCL的Kernel代码)的性能。
-
公开(公告)号:CN109901840B
公开(公告)日:2020-10-27
申请号:CN201910114572.5
申请日:2019-02-14
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明通过自动选择优化策略以及分维度进行线程间冗余删除的收益代价分析,能自动根据代码是否含有同步操作和硬件平台的特点,针对性地选择一种优化策略,通过对Kernel代码的编译分析,得出合适的合并维度和合并因子,利于提高Kernel代码的运行性能。采用本发明方法能面向多种异构平台,进行自动分析和变换,得以优化设备端代码的线程间冗余和同步开销,提高设备端代码(即OpenCL的Kernel代码)的性能。
-
-
-
-
-