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