主要内容

gpucoder.profile

为生成的CUDA代码创建执行概要报告

描述

例子

gpucoder.profile (func_namecodegen_inputs生成为设计文件生成的CUDA代码的执行分析报告func_name.的codegen_inputs参数指定设计文件的输入。您必须安装嵌入式编码器®产品来生成分析报告。

请注意

概要分析工作流依赖于nvprofNVIDIA的工具®.在CUDA®Toolkit v10.1中,NVIDIA将对性能计数器的访问限制为管理用户。若要为所有用户帐户启用GPU性能计数器,请参见性能计数器的权限问题(NVIDIA)

gpucoder.profile (___名称,值使用指定为名值对参数的一个或多个分析选项生成执行分析报告。

例子

全部折叠

通过软件在环(SIL)执行分析,对MATLAB算法及其生成的CUDA代码执行细粒度分析。必须安装Embedded Coder产品才能生成执行分析报告。

写出一个执行N-D快速傅里叶变换的入口点函数。将FFT映射到GPU,使用coder.gpu.kernelfun编译指示。默认情况下,EnableCUFFT属性是启用的,因此代码生成器使用cuFFT库执行FFT操作。

函数[Y] = gpu_fftn(X) code .gpu.kernelfun();Y = fftn(X);结束

要生成执行分析报告,请使用gpucoder.profile函数。

cfg = code .gpu config (exe”);cfg.GpuConfig.MallocMode =“离散”;gpucoder.profile (“gpu_fftn”,{兰德(4500 4)},“CodegenConfig”cfg,...“CodegenArguments”“- d profilingdir”“阈值”, 0.001);

代码执行分析报告根据从SIL执行中收集的数据提供指标。执行时间是从添加到SIL测试工具或在为每个组件生成的代码中记录的检测探头的数据计算出来的。有关更多信息,请参见视图执行次数(嵌入式编码)

输入参数

全部折叠

入口点函数或设计文件的名称。

例子:gpucoder.profile (xdot,{1000兰特(1000 1),1,1,兰德(1000 1),1,1})

导入点函数或设计文件的编译时输入。

例子:gpucoder.profile (xdot,{1000兰特(1000 1),1,1,兰德(1000 1),1,1})

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:gpucoder.profile ('xdot', {1000,rand(1000,1),1,1,rand(1000,1),1,1},'NumCalls',2,'CodegenConfig',cfg,'CodegenArguments','-d discrete','Threshold',0.01)

指定运行经过分析的代码部分的次数。默认值为6。第一次运行被排除在报告之外,因为它通常是一个异常值。

指定用于生成CUDA代码和分析报告的代码生成配置对象。如果不指定此值,则默认值为编码器。EmbeddedCodeConfig对象。

指定任何额外的codegen参数作为字符串。默认值为NULL(空字符串)。

如果需要控制报表中显示的GPU调用,请使用该阈值。任何执行时间低于阈值参数值的函数调用都将从分析跟踪中过滤。

版本历史

在R2018b中介绍

Baidu
map