首页 理论教育 分析器的使用方法:GPU与MATLAB混合编程

分析器的使用方法:GPU与MATLAB混合编程

时间:2023-11-24 理论教育 版权反馈
【摘要】:幸运的是,MATLAB提供了相当易于使用的分析器。图3.5 MATLAB分析器中的耗时分析总结图3.6 分析结果中的更多细节向下滚动这个窗口时,可以看到根据各个类别高亮标识的代码。因为imread()是读取输入图像的函数,imagesc()是缩放或者显示输入图像的函数,所以可以只关注下面的纯计算部分,这部分耗时更多:图3.7 分析结果中每一行的耗时信息3.3节可以看到用c-mex替换这一行时的分析结果,并了解c-mex中的C/C++分析方法。

分析器的使用方法:GPU与MATLAB混合编程

幸运的是,MATLAB提供了相当易于使用的分析器(profiler)。下面再次使用第2章的二维卷积范例进行时间分析范例。

你可以通过两种方式调用MATLAB分析器。第一种方法是在MATLAB Desktop中选择Profiler(见图3.1)。第二种方法是在命令窗口输入“profile viewer”:

978-7-111-52904-0-Chapter03-1.jpg

这样,可以得到如图3.2所示的分析器窗口。

为了使用二维卷积范例,在使用分析器之前,要在MATLAB主窗口下更改当前文件夹,如图3.3所示。然后当需要运行分析器时,在“Run This Code:”处输入想要运行的程序。这里以convQuarterImage.m为例,如图3.4所示。

可以得到如图3.5所示的分析结果。在每一列索引中,可以点击Function Name、Calls、Total Time和 Self Time,根据索引对结果进行排序。

978-7-111-52904-0-Chapter03-2.jpg

图3.1 从MATLAB desktop菜单选择分析器

978-7-111-52904-0-Chapter03-3.jpg

图3.2 MATLAB分析器窗口

978-7-111-52904-0-Chapter03-4.jpg

图3.3 在MATLAB主窗口下更改当前文件夹

978-7-111-52904-0-Chapter03-5.jpg(www.xing528.com)

图3.4 MATALB分析器中Run this code栏

如果在Function Name 列中点击convQuarterImage,就可以得到convQuarter Image文件中每一行更详细的耗时信息,如图3.6所示。

978-7-111-52904-0-Chapter03-6.jpg

图3.5 MATLAB分析器中的耗时分析总结

978-7-111-52904-0-Chapter03-7.jpg

图3.6 分析结果中的更多细节

向下滚动这个窗口时,可以看到根据各个类别(时间、总调用次数、覆盖等)高亮标识的代码。根据分析结果(见图3.7)可以看到imagesc()和imread()占用convQuarterImage大部分的运行时间。因为imread()是读取输入图像的函数,imagesc()是缩放或者显示输入图像的函数,所以可以只关注下面的纯计算部分,这部分耗时更多:

978-7-111-52904-0-Chapter03-8.jpg

图3.7 分析结果中每一行的耗时信息

978-7-111-52904-0-Chapter03-9.jpg

3.3节可以看到用c-mex替换这一行时的分析结果,并了解c-mex中的C/C++分析方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈