一种基于硬件的高级程序动态控制流追踪方法和装置

    公开(公告)号:CN112905474A

    公开(公告)日:2021-06-04

    申请号:CN202110253236.6

    申请日:2021-03-09

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于硬件的高级程序动态控制流追踪方法和装置。该方法对待追踪程序静态分析,生成控制流图、类继承图和调用图,通过虚拟机执行待追踪程序收集字节码指令模版、执行信息和追踪数据。然后按照线程对追踪数据进行解码匹配,对照控制流图生成相应的执行流图,最后判断是否存在执行流数据是否存在缺失,如果是,则尽可能还原出执行流图,恢复其中缺失的部分,最终输出执行流图。本发明实现了利用硬件追踪模块对高级语言程序的控制流追踪,并且通过执行流数据的补缺分析处理,解决硬件输出追踪数据和磁盘存储速度不一致的问题。

    一种基于硬件的高级程序动态控制流追踪方法和装置

    公开(公告)号:CN112905474B

    公开(公告)日:2022-04-22

    申请号:CN202110253236.6

    申请日:2021-03-09

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于硬件的高级程序动态控制流追踪方法和装置。该方法对待追踪程序静态分析,生成控制流图、类继承图和调用图,通过虚拟机执行待追踪程序收集字节码指令模版、执行信息和追踪数据。然后按照线程对追踪数据进行解码匹配,对照控制流图生成相应的执行流图,最后判断是否存在执行流数据是否存在缺失,如果是,则尽可能还原出执行流图,恢复其中缺失的部分,最终输出执行流图。本发明实现了利用硬件追踪模块对高级语言程序的控制流追踪,并且通过执行流数据的补缺分析处理,解决硬件输出追踪数据和磁盘存储速度不一致的问题。

    一种针对CUDA程序的反馈式动态优化方法

    公开(公告)号:CN116450209A

    公开(公告)日:2023-07-18

    申请号:CN202310350878.7

    申请日:2023-04-04

    Applicant: 南京大学

    Abstract: 本发明公开了一种针对CUDA程序的反馈式动态优化方法,包括步骤:首先收集CUDA程序动态信息,对待优化CUDA程序静态分析,生成最小生成树和分歧分支信息;插桩收集分支分歧、基本块频率和核函数参数信息,执行插桩过的程序得到持久化的运行时信息;接着实施反馈式优化,按照相同CUDA程序加载运行时信息,计算分支概率;根据运行时信息并做出判断和优化,判断是否有价值核函数参数组合,若有,生成新版本核函数;判断是否存在高频一致热点路径,若存在,生成快速循环或控制路径;判断是否存在高频分歧分支,若存在,控制流线性化来减少分歧分支内指令;最终生成优化过的可执行文件,通过以上技术方案,可以使CUDA程序拥有更好的运行时性能。

Patent Agency Ranking