在循环处理器(PIL)执行期间,您可以为入口点函数生成的代码生成一个执行时间的概要文件。该软件从添加到PIL应用程序的仪表探头获得的数据中计算执行时间。
使用执行时间配置文件来检查你的代码是否在目标硬件上所需的时间内运行:
如果代码执行超时,寻找减少执行时间的方法。
如果您的代码很容易满足时间要求,那么可以考虑增强功能以利用未使用的处理能力。
在公益诉讼执行结束时,你可以:
查看代码执行时间报告。
使用仿真数据检查器来查看和比较函数执行时间图。
访问和分析执行时间分析数据。
请注意
PIL执行支持多个入口点功能金宝app。一个入口点函数可以调用另一个入口点函数作为子函数。然而,该软件仅为在入口点级别调用的函数生成执行时概要文件。该软件不生成被其他入口点函数作为子函数调用的入口点函数的执行时间配置文件。
请注意
在使用PIL执行时,要确保基准测试
选项的GPU编码器™设置假
.执行带基准的PIL会导致编译错误。
在运行在循环中的处理器(PIL)执行之前,启用执行时分析:
打开GPU编码器应用程序,在MATLAB上®将来发布应用程序选项卡,在代码生成,单击应用程序图标。
要打开项目,单击然后点击打开现有的项目
.选择项目。
在生成代码页面,点击验证代码.
选择启用入口点执行分析复选框。
或者,从命令窗口指定CodeExecutionProfiling
你的属性coder.gpuConfig
对象。例如:
cfg。CodeExecutionProfiling = true;
当您运行启用了执行时间分析的PIL执行时,软件会在测试输出选项卡。例如:
###启动应用程序:'codegen\lib\mandelbrot_count\pil\mandelbrot_count。终止执行:明确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
财产。以微秒为单位显示时间(10-6秒),使用报告
(嵌入式编码)命令。
executionProfile = getCoderExecutionProfile (“mandelbrot_count”);创建工作区变量executionProfile。TimerTicksPerSecond = 2035 * 1e6;报告(executionProfile,...“单位”,“秒”,...“ScaleFactor”,“1 e-06”,...“NumericFormat”,' % 0.3 f ')
要显示代码部分的执行时间,单击Simulation Data Inspector图标在相应的行。您可以使用Simulation Data Inspector来管理和比较来自不同执行的图。
下表列出了代码部分概要文件中提供的信息。
列 | 描述 |
---|---|
部分 | 生成代码的函数名。 |
最大执行时间 | 代码段开始和结束之间的最长时间。 |
平均执行时间 | 代码段开始和结束之间的平均时间。 |
最大的自我时间 | 最大执行时间,不包括子节的时间。 |
平均自我时间 | 平均执行时间,不包括子节的时间。 |
调用 | 对代码段的调用数。 |
单击以显示已分析代码部分的图标。 | |
单击该图标可显示模拟数据检查器测量的执行时间。 |