主要内容

Gputimeit

在GPU上运行功能所需的时间

描述

例子

t= guptimeit(F测量运行由函数句柄指定的函数所需的典型时间F。该函数句柄不接受外部输入参数,但是您可以将其定义为输入参数到其内部函数调用。

例子

t= guptimeit(F,,,,numOutputs呼叫F随着所需数量的输出参数,numOutputs。默认,Gputimeit调用功能F有一个输出参数,或没有输出参数,如果F不返回任何输出。

例子

全部收缩

此示例显示了如何测量计算时间sum(a。'。* b,1)在GPU上一个是12000 x 400矩阵和b是400 x-12000。

a = rand(12000,400,'gpuarray');b = rand(400,12000,'gpuarray');f = @()sum(a。'。* b,1);t = gutatimeit(f)
0.0026

比较跑步的时间SVD在GPU上,有一个与三个输出参数。

x = rand(1000,'gpuarray');f = @()svd(x);t3 = gputimeit(f,3)
1.0622
T1 = Gputimeit(F,1)
0.2933

输入参数

全部收缩

测量功能,指定为函数句柄。

在函数调用中使用的输出参数数量,指定为标量整数。

如果功能由F具有可变数量的输出,numOutputs指定哪个语法Gputimeit用于调用功能。例如,SVD功能返回单个输出,s,或三个输出,[u,s,v]。放numOutputs1时间s = svd(x)语法或将其设置为3时间[u,s,v] = svd(x)句法。

限制

  • 功能F不得打电话抽动或者TOC

  • 您不能使用抽动TOC测量执行时间Gputimeit本身。

提示

Gputimeit优先时间段对于使用GPU的功能,因为它可以确保GPU上的所有操作都在记录时间之前完成并补偿开销。对于不使用GPU的操作,时间段提供更高的精度。

在R2013B中引入