[发明专利]用于在GPU上生成动态踪迹数据的装置和方法在审
申请号: | 201910271570.7 | 申请日: | 2019-04-04 |
公开(公告)号: | CN110457033A | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 洪宣杓;K·莱维特-格瑞维奇;M·别列宰斯基;A·纳尔基斯;N·伊扎基 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F3/048 |
代理公司: | 31100 上海专利商标事务所有限公司 | 代理人: | 黄嵩泉;钱慰民<国际申请>=<国际公布> |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 溢出 输入接口 耦合 二进制代码 存储器 踪迹数据 插桩 缓冲器 控制缓冲器 输出接口 置位 踪迹 二进制 图形处理单元 通信数据 计算机 主控 | ||
公开了用于在GPU上生成动态踪迹数据的装置和方法。呈现了一种用于通过二进制插桩来生成在图形处理单元(GPU)的一个或多个执行单元上运行的二进制代码的动态踪迹数据。在实施例中,该装置可包括:输入接口,设置在GPU中,该输入接口用于接收经插桩的二进制代码和通信数据;以及输出接口,设置在GPU中并且耦合至主控该GPU的计算机的存储器。在实施例中,该存储器可进一步耦合至输入接口以及计算机的中央处理单元(CPU),存储器具有踪迹缓冲器和控制缓冲器,该控制缓冲器包括踪迹缓冲器的溢出标志。在实施例中,该装置可进一步包括:执行单元(EU),设置在GPU中并且耦合至输入接口并耦合至输出接口,该执行单元用于有条件地执行经插桩的二进制代码并在溢出标志不被置位成指示溢出状况时生成动态踪迹数据。在实施例中,如果溢出标志被置位,则该溢出标志可由CPU清除。
技术领域
本发明涉及计算机系统,并且更具体地涉及用于在图形处理单元(GPU)上生成动态踪迹数据的方法和装置。
背景技术
GPU(图形处理单元)上的执行模式与CPU(中央处理单元)上的执行模式不同。GPU可被理解为充当满足来自CPU(可被理解为充当“主(master)”)的请求的“从(slave)”。GPU充当“从”的一个后果是其缺乏操作系统,以及缺乏用于对代码进行插桩的在GPU上可用的服务。
附图说明
图1图示出根据各实施例的示例计算机存储器的示例踪迹缓冲器。
图2图示出根据各实施例的用于在示例GPU上运行的过程的操作流程的概览,该过程包括管理踪迹缓冲器的内容。
图3图示出根据各实施例的用于在示例CPU上运行的过程的操作流程的概览,该过程包括管理踪迹缓冲器的内容。
图4图示出根据各实施例的用于踪迹缓冲器溢出控制的示例系统。
图5图示出根据各实施例的用于动态踪迹生成的过程的操作流程的概览。
图6图示出根据各实施例可生成的若干种类型的动态踪迹。
图7图示出根据各实施例在图6的两种示例动态踪迹类型都被实现时的示例踪迹缓冲器内容。
图8A图示出根据各实施例的示例程序的示例控制流图,该控制流图被用于推断前向程序流中的非控制流改变的基本块。
图8B图示出根据各实施例的用于对动态踪迹数据进行后处理的过程的操作流程的概览。
图8C图示出根据各实施例用于标识二进制代码的未被记录在由计算机的GPU生成的动态踪迹中的中间基本块的过程的操作流程的概览。
图9图示出根据各实施例的用于推断后向程序流中的控制流改变的块的示例算法。
图10图示出根据各实施例的示例踪迹输出文件。
图11图示出根据各实施例适用于实施本公开的计算机设备的框图。
图12图示出根据各实施例的具有指令的示例计算机可读存储介质,这些指令被配置成用于实施图2-图6、图8A、图8B、图8C和图9的过程的各方面。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910271570.7/2.html,转载请声明来源钻瓜专利网。