MATLAB ヘルプ センター
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
すべて展開する
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
R2014b で導入
gpuDevice | gputimeit | gpuArray
gpuArray
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ