发明名称 程序代码的并行性的分析方法和系统
摘要 本发明提供一种程序代码的并行性的分析方法和系统以及用于跟踪程序代码的执行信息的模拟器。该程序代码的并行性的分析方法包括:模拟程序代码的顺序执行,以跟踪该程序代码的执行过程;以及根据对上述程序代码的执行过程的跟踪结果,对上述程序代码进行并行性的分析。本发明通过模拟程序代码的顺序执行来收集其执行信息,并根据所收集的执行信息对该程序代码进行并行性的分析,以帮助程序设计者更有效地针对多核体系结构进行程序代码的并行任务的划分,从而提高并行软件开发的效率。
申请公布号 CN101329638B 申请公布日期 2011.11.09
申请号 CN200710109089.5 申请日期 2007.06.18
申请人 国际商业机器公司 发明人 冯博;阎蓉;王鲲;王华勇
分类号 G06F9/45(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 北京市中咨律师事务所 11247 代理人 李峥;于静
主权项 一种程序代码的并行性的分析方法,包括:模拟程序代码的顺序执行,以跟踪该程序代码的执行过程;以及根据对上述程序代码的执行过程的跟踪结果,对上述程序代码进行并行性的分析,其中上述模拟程序代码的顺序执行,以跟踪该程序代码的执行过程的步骤进一步包括:为上述程序代码模拟其目标系统的执行环境;将上述程序代码加载到上述所模拟的执行环境中;在上述执行环境中,顺序执行上述所加载的程序代码中的各指令;以及将上述程序代码在上述顺序执行过程中的执行信息记入日志,其中上述将程序代码在上述顺序执行过程中的执行信息记入日志的步骤进一步包括:判断上述程序代码中的当前指令的类型:如果其是调用非系统API的函数调用/返回指令,则将当前执行周期以及被调用函数的标识记入日志;如果其是调用系统API中的存储器分配或释放函数的函数调用/返回指令,则将当前执行周期以及被分配的存储器大小、存储器地址记入日志;以及如果其是加载/存储指令,则将当前执行周期以及数据地址、数据大小、读/写类型记入日志。
地址 美国纽约