ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

gputimeit

GPU で関数を実行するために必要な時間

構文

t = gputimeit(F)
t = gputimeit(F,N)

説明

t = gputimeit(F) は、関数ハンドル F で指定された関数を実行するための標準的な時間 (秒単位) を測定します。この関数ハンドルは外部入力引数に対応していませんが、内部関数呼び出しへの入力引数で定義することはできます。

t = gputimeit(F,N)F を呼び出し、N 個の出力引数を返します。既定では、gputimeit は関数 F を 1 つの出力引数により呼び出します。ただし、F が出力を返さない場合は、出力引数を使用しません。

GPU で sum(A.' .* B, 1) を計算する時間を測定します。ここで A は 12000 行 400 列の行列で、B は 400 行 12000 列の行列です。

A = rand(12000,400,'gpuArray');
B = rand(400,12000,'gpuArray');
f = @() sum(A.' .* B, 1);
t = gputimeit(f)
0.0026

GPU での svd の実行時間を、1 つの出力引数と 3 つの出力引数の場合で比較します。

X = rand(1000,'gpuArray');
f = @() svd(X);
t3 = gputimeit(f,3)
1.0622
t1 = gputimeit(f,1)
0.2933

ヒント

GPU を使用する関数については gputimeit の方が timeit よりも推奨されます。これにより、GPU でのすべての操作が時間の記録より前に完了し、オーバーヘッドが補正されます。GPU を使用しない操作については、timeit を使用すると精度が大幅に高まります。

次の制限に注意してください。

  • 関数 Ftictoc を呼び出さないようにする必要があります。

  • tictoc を使用して gputimeit 自体の実行時間を測定することはできません。

参考

|

R2013b で導入