ヘルプ センターヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
GPU の計算が完了するまで待機
wait(gpudev)
例
wait(gpudev) は、GPUDevice オブジェクト gpudev で特定された GPU デバイスが計算を完了するまで、MATLAB® での実行をブロックします。これは、結果をワークスペースに返さない GPU コードのタイミングを設定する場合に、tic および toc の呼び出しの前に使用することができます。関数 gather を使用して GPU から結果を収集する際、MATLAB は GPU の計算が完了するまで待機するため、この場合に wait を明示的に呼び出す必要はありません。
gpudev
GPUDevice
tic
toc
gather
wait
すべて折りたたむ
MATLAB® の GPU 演算は非同期的に実行されます。つまり、バックグラウンドで実行され、後続のコード行が実行されるときに必ずしも完了しているとは限りません。これは、GPU で実行されるコードの時間を測定する際に関連します。
関数gputimeitを使用することで、GPU での関数の実行にかかる時間を測定できます。これにより、GPU でのすべての演算が時間の記録より前に完了している状態にすることができます。gputimeit はこの関数を複数回実行するため、特に長期間実行されるコードの時間を測定するのには適していない場合があります。代替策として、関数ticおよびtocを使用し、それぞれの関数の前に wait を呼び出します。
gputimeit
既定の GPU デバイスを選択します。
gpu = gpuDevice; disp(gpu.Name + " GPU selected.")
NVIDIA RTX A5000 GPU selected.
GPU で乱数が含まれた 1000 行 1000 列の行列を作成します。
A = rand(1000,"gpuArray");
GPU デバイスが行列 A の作成を完了するまで待機し、tic を使用して時間の測定を開始します。
A
wait(gpu) tic
関数luを使用して、行列を上三角行列および置換された下三角行列に因数分解します。
lu
[L,U] = lu(A);
計算が完了するまで待機してから、toc を使用して経過時間を出力します。
wait(gpu) toc
Elapsed time is 0.014811 seconds.
GPU デバイス。現在選択されているデバイスを表す GPUDevice オブジェクトとして指定します。GPUDevice オブジェクトを取得するには、関数 gpuDevice を使用します。
gpuDevice
R2014b で導入
gpuDevice | gputimeit | gpuArray
gpuArray
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office