[发明专利]用于在GPU上生成动态踪迹数据的装置和方法在审
申请号: | 201910271570.7 | 申请日: | 2019-04-04 |
公开(公告)号: | CN110457033A | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 洪宣杓;K·莱维特-格瑞维奇;M·别列宰斯基;A·纳尔基斯;N·伊扎基 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F3/048 |
代理公司: | 31100 上海专利商标事务所有限公司 | 代理人: | 黄嵩泉;钱慰民<国际申请>=<国际公布> |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 溢出 输入接口 耦合 二进制代码 存储器 踪迹数据 插桩 缓冲器 控制缓冲器 输出接口 置位 踪迹 二进制 图形处理单元 通信数据 计算机 主控 | ||
1.一种用于生成在图形处理单元GPU上运行的二进制代码的动态踪迹数据的装置,包括:
输入接口,设置在所述GPU中,所述输入接口用于接收经插桩的二进制代码和通信数据;
输出接口,设置在所述GPU中并且耦合至主控所述GPU的计算机的存储器,所述存储器进一步耦合至所述输入接口以及所述计算机的中央处理单元CPU,所述存储器具有踪迹缓冲器和控制缓冲器,所述控制缓冲器包括所述踪迹缓冲器的溢出标志;以及
执行单元EU,设置在所述GPU中并且耦合至所述输入接口和所述输出接口,所述执行单元EU用于有条件地执行所述经插桩的二进制代码并且响应于所述溢出标志未被置位成指示溢出状况而生成所述二进制代码的动态踪迹数据。
2.如权利要求1所述的装置,进一步用于经由所述输入接口来判定所述溢出标志是否指示溢出,其中,所述CPU响应于所述溢出标志被置位成指示溢出的判定而清除所述溢出标志。
3.如权利要求1所述的装置,进一步用于在所述标志不指示溢出时经由所述输出接口将所述踪迹数据存储在所述踪迹缓冲器中,或者在所述标志指示溢出时停止所述代码的执行并对所述溢出标志进行轮询,直到所述溢出标志被清除。
4.如权利要求2所述的装置,其中,存储所述动态踪迹数据包括:将所述动态踪迹数据的各个记录保存在所述踪迹缓冲器中,以及更新所述踪迹缓冲器的当前指针的位置。
5.如权利要求4所述的装置,其中,当所述当前指针位置与所述踪迹缓冲器的结束位置相同时,所述EU进一步用于:
停止所述经插桩的二进制代码的执行;以及
经由所述输出接口来置位所述溢出标志。
6.如权利要求1-5中任一项所述的装置,其中,所述经插桩的二进制代码从所述二进制代码生成,并且其中,所述动态踪迹数据的每个记录包含描述所述二进制代码在所述EU上的执行的概况分析信息,所述概况分析信息包括以下各项中的至少一项:
所述二进制代码的基本块的IP地址;
所述存储器中将由所述二进制代码从其读取或向其写入的地址;
时间戳;
访问尺寸;以及
所述二进制代码的线程ID。
7.如权利要求1-5中任一项所述的装置,其中,生成动态踪迹数据包括以下各项中的至少一项:
生成记录所述二进制代码的哪个基本块被执行的指令踪迹;以及
生成记录哪种存储器类型被执行以及在哪个动态存储器地址处执行的存储器访问踪迹。
8.如权利要求7所述的装置,其中,被包括在所述二进制代码的不是控制流改变的基本块中的指令或存储器访问未被记录在所述踪迹缓冲器中。
9.一种用于管理二进制代码的动态踪迹数据的装置,包括:
存储器,具有踪迹缓冲器,所述踪迹缓冲器用于接收通过在所述装置的图形处理单元GPU上运行的经插桩的二进制代码的执行来有条件地生成的所述动态踪迹数据,其中,所述存储器进一步包括控制缓冲器,所述控制缓冲器具有所述踪迹缓冲器的溢出标志,其中,当所述溢出标志不指示溢出状况时,所述GPU执行所述经插桩的二进制代码并且使得所述动态踪迹数据被生成;以及
CPU,耦合至所述存储器,所述CPU用于控制所述溢出标志的溢出指示,以调节由所述GPU对所述经插桩的二进制代码的执行和对所述动态踪迹数据的生成。
10.如权利要求9所述的装置,其中,所述踪迹缓冲器和所述控制缓冲器由所述CPU在所述存储器中进行预分配。
11.如权利要求9所述的装置,其中,所述溢出标志由所述CPU连续地进行轮询,以判定所述溢出标志是否被置位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910271570.7/1.html,转载请声明来源钻瓜专利网。