wait
GPU の計算が完了するまで待機
説明
例
GPU の計算が完了するまで待機
MATLAB® の GPU 演算は非同期的に実行されます。つまり、バックグラウンドで実行され、後続のコード行が実行されるときに必ずしも完了しているとは限りません。これは、GPU で実行されるコードの時間を測定する際に関連します。
関数gputimeit
を使用することで、GPU での関数の実行にかかる時間を測定できます。これにより、GPU でのすべての演算が時間の記録より前に完了している状態にすることができます。gputimeit
はこの関数を複数回実行するため、特に長期間実行されるコードの時間を測定するのには適していない場合があります。代替策として、関数tic
およびtoc
を使用し、それぞれの関数の前に wait
を呼び出します。
既定の GPU デバイスを選択します。
gpu = gpuDevice;
disp(gpu.Name + " GPU selected.")
NVIDIA RTX A5000 GPU selected.
GPU で乱数が含まれた 1000 行 1000 列の行列を作成します。
A = rand(1000,"gpuArray");
GPU デバイスが行列 A
の作成を完了するまで待機し、tic
を使用して時間の測定を開始します。
wait(gpu) tic
関数lu
を使用して、行列を上三角行列および置換された下三角行列に因数分解します。
[L,U] = lu(A);
計算が完了するまで待機してから、toc
を使用して経過時間を出力します。
wait(gpu) toc
Elapsed time is 0.014811 seconds.
入力引数
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2014b で導入
MATLAB コマンド
次の 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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)