PIL的执行时间分析
在循环中处理器(PIL)执行期间,您可以为从入口点函数生成的代码生成执行时间的概要。该软件从添加到PIL应用程序的仪器探测获得的数据计算执行时间。
使用执行时间配置文件来检查你的代码是否在目标硬件上所需的时间内运行:
如果代码执行超时,请寻找减少执行时间的方法。
如果您的代码很容易满足时间要求,可以考虑增强功能以利用未使用的处理能力。
在PIL执行的最后,您可以:
查看代码执行时间的报告。
使用仿真数据检查器来查看和比较函数执行时间的图。
访问和分析执行时间分析数据。
请注意
PIL执行支持多个入口点函数。入口点函数可以调用另一个入口点函数作为子函数。但是,该软件仅为在入口点级别调用的函数生成执行时概要文件。该软件不会为入口点函数生成执行时间配置文件,这些入口点函数被其他入口点函数作为子函数调用。
请注意
当使用PIL执行时,确保基准测试
选项在GPU Coder™设置是假
.使用基准测试执行PIL会导致编译错误。
生成执行概要
在运行一个循环中处理器(PIL)执行之前,启用执行时分析:
打开GPU Coder应用程序,在MATLAB®将来发布应用程序选项卡,在代码生成,单击应用程序图标。
要打开项目,请单击然后点击
打开现有的项目
.选择项目。在生成代码页面,点击验证代码.
选择启用入口点执行分析复选框。
或者,从命令窗口中指定CodeExecutionProfiling
你的属性coder.gpuConfig
对象。例如:
cfg。CodeExecutionProfiling = true;
视图执行时间
当您在启用执行时间分析的情况下运行PIL执行时,软件将在测试输出选项卡。例如:
启动应用程序:'codegen\lib\mandelbrot_count\pil\mandelbrot_count. 'elf `终止执行:明确mandelbrot_count_pil启动应用程序mandelbrot_count.elf…可以查看执行分析数据。开放仿真数据检查.终止后可获得执行分析报告。
打开代码执行分析报告:
单击
停止公益诉讼验证
链接。该软件终止执行过程并显示一个新的链接。
执行分析报告:报告(getCoderExecutionProfile (mandelbrot_count))
单击新链接。
报告提供了:
一个总结。
关于剖析代码段的信息,包括以下方面的时间度量:
的
entry_point_fn
_initialize
例如,函数mandelbrot_count_initialize
.例如,入口点函数,
mandelbrot_count
.的
entry_point_fn
_terminate
例如,函数mandelbrot_count_terminate
.
定义指标。
缺省情况下,报表以滴答为单位显示时间。您可以指定时间单位和数字显示格式。只有当计时器被校准时,报告才会以秒为单位显示时间,也就是说,每秒计时器滴答数被确定。例如,如果您的处理器速度为2.035 GHz,则可以使用TimerTicksPerSecond
财产。以微秒为单位显示时间6秒),使用报告
(嵌入式编码)命令。
executionProfile = getCoderExecutionProfile (“mandelbrot_count”);%创建工作区varexecutionProfile。TimerTicksPerSecond = 2035 * 1e6;报告(executionProfile,...“单位”,“秒”,...“ScaleFactor”,“1 e-06”,...“NumericFormat”,' % 0.3 f ')
要显示代码部分的测量执行时间,单击模拟数据检查器图标在相应的行上。您可以使用模拟数据检查器来管理和比较来自不同执行的图。
下表列出了代码节概要文件中提供的信息。
列 | 描述 |
---|---|
部分 | 生成代码的函数名称。 |
最大执行时间 | 代码段开始和结束之间最长的时间。 |
平均执行时间 | 代码段开始和结束之间的平均时间。 |
最大的自我时间 | 最大执行时间,不包括子节的时间。 |
平均自我时间 | 平均执行时间,不包括子节的时间。 |
调用 | 对代码部分的调用数。 |
图标,单击该图标可显示分析的代码部分。 | |
图标,单击该图标可显示使用模拟数据检查器测量的执行时间。 |