基于代码融合编译框架的OpenCL编译器设计方法和系统

    公开(公告)号:CN109933327B

    公开(公告)日:2021-01-08

    申请号:CN201910106880.3

    申请日:2019-02-02

    Abstract: 本发明涉及一种基于代码融合编译框架的OpenCL编译器设计方法和系统,包括:基于共享内存提供主机‑内核代码融合编译框架,在编译器的中间表示——AST层上实现不同端代码的融合;WII‑CFG图用来刻画Kernel代码被实例化成众多线程后,线程之间的指令执行行为,亦即分析工作组内平台特征敏感的程序执行行为;主机‑内核代码联合的数据流分析,用来发掘跨越主机端或内核端的数据流关系以及线程之间的数据流关系,以分析两端代码之间的数据相关性;基于前述分析实施针对性的代码优化,并生成汇编代码进而结束编译过程。本发明能面向不同加速设备,针对主机端代码、Kernel代码同时开展分析,充分发掘线程间优化机会,使得OpenCL程序获得良好的性能可移植性。

    基于代码融合编译框架的OpenCL编译器设计方法和系统

    公开(公告)号:CN109933327A

    公开(公告)日:2019-06-25

    申请号:CN201910106880.3

    申请日:2019-02-02

    Abstract: 本发明涉及一种基于代码融合编译框架的OpenCL编译器设计方法和系统,包括:基于共享内存提供主机-内核代码融合编译框架,在编译器的中间表示——AST层上实现不同端代码的融合;WII-CFG图用来刻画Kernel代码被实例化成众多线程后,线程之间的指令执行行为,亦即分析工作组内平台特征敏感的程序执行行为;主机-内核代码联合的数据流分析,用来发掘跨越主机端或内核端的数据流关系以及线程之间的数据流关系,以分析两端代码之间的数据相关性;基于前述分析实施针对性的代码优化,并生成汇编代码进而结束编译过程。本发明能面向不同加速设备,针对主机端代码、Kernel代码同时开展分析,充分发掘线程间优化机会,使得OpenCL程序获得良好的性能可移植性。

    一种线程间冗余删除的异构编译优化方法

    公开(公告)号:CN109901840A

    公开(公告)日:2019-06-18

    申请号:CN201910114572.5

    申请日:2019-02-14

    Abstract: 本发明通过自动选择优化策略以及分维度进行线程间冗余删除的收益代价分析,能自动根据代码是否含有同步操作和硬件平台的特点,针对性地选择一种优化策略,通过对Kernel代码的编译分析,得出合适的合并维度和合并因子,利于提高Kernel代码的运行性能。采用本发明方法能面向多种异构平台,进行自动分析和变换,得以优化设备端代码的线程间冗余和同步开销,提高设备端代码(即OpenCL的Kernel代码)的性能。

    一种线程间冗余删除的异构编译优化方法

    公开(公告)号:CN109901840B

    公开(公告)日:2020-10-27

    申请号:CN201910114572.5

    申请日:2019-02-14

    Abstract: 本发明通过自动选择优化策略以及分维度进行线程间冗余删除的收益代价分析,能自动根据代码是否含有同步操作和硬件平台的特点,针对性地选择一种优化策略,通过对Kernel代码的编译分析,得出合适的合并维度和合并因子,利于提高Kernel代码的运行性能。采用本发明方法能面向多种异构平台,进行自动分析和变换,得以优化设备端代码的线程间冗余和同步开销,提高设备端代码(即OpenCL的Kernel代码)的性能。

Patent Agency Ranking