Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MATLABでの GPU 計算

基本の GPU 計算を使用してコードを高速化する

コードを高速化するには、まずプロファイリングとベクトル化を試します。詳細については、パフォーマンスとメモリを参照してください。プロファイリングとベクトル化の後、コンピューターの GPU を使用した計算の高速化も試すことができます。使用するすべての関数が GPU でサポートされる場合は、単純にgpuArrayを使用して入力データを GPU に転送し、gatherを呼び出して出力データを GPU から取得できます。GPU コンピューティングを始めるには、GPU での MATLAB 関数の実行を参照してください。

深層学習向けに、MATLAB®は複数の GPU の自動並列処理をサポートしています。MATLAB による複数の GPU での深層学習(Deep Learning Toolbox)を参照してください。

関数

すべて展開する

gpuArray GPU に格納される配列
gather 分散配列または gpuArray をローカル ワークスペースに転送
gpuDevice GPU デバイスのクエリまたは選択
GPUDeviceManager GPU デバイスのマネージャー
gpuDeviceCount 存在する GPU デバイスの数
gpuDeviceTable GPU デバイスのプロパティの table
reset GPU デバイスをリセットし、そのメモリを消去する
wait (GPUDevice) GPU の計算が完了するまで待機
gputimeit GPU で関数を実行するために必要な時間
existsOnGPU GPU で gpuArray または CUDAKernel が使用可能かどうかを判別する
isgpuarray 入力がgpuArrayであるかどうかの判別
arrayfun 関数を GPU 上の配列内の各要素に適用する
pagefun 分散配列または gpuArray の各ページに関数を適用
gpurng GPU 計算の乱数発生を制御
parallel.gpu.RandStream GPU 上の乱数ストリーム
parallel.gpu.enableCUDAForwardCompatibility GPU デバイスの上位互換性のクエリと設定

トピック

GPU でのMATLABコードの実行

GPU での MATLAB 関数の実行

MATLAB および他のツールボックスの数百もの関数はgpuArray引数を渡すことで自動的に GPU で実行されます。

GPU デバイスの識別と選択

この例では、gpuDeviceを使用して、使用するデバイスの識別と選択を行う方法を説明します。

リリース別の GPU サポート

MATLAB リリース別の NVIDIA®GPU アーキテクチャのサポート。

GPU での配列の確立

MATLAB のgpuArrayは GPU に格納される配列を表します。

GPU で FFT2 を使用した回折パターンのシミュレート

この例ではParallel Computing Toolbox™ を使用して、GPU で 2 次元の高速フーリエ変換 (FFT) を実行します。

複数の GPU での MATLAB 関数の実行

この例では、MATLAB コードを複数の GPU で並列に実行する方法を説明します。

自動マルチ GPU サポートを使用したネットワークの学習

この例では、自動並列サポートにより、ローカル マシン上の複数の GPU を使用して深層学習を行う方法を説明します。

GPU でのパフォーマンスの向上

arrayfun を使用した、要素単位の MATLAB® 関数の GPU におけるパフォーマンス改善

この例では、arrayfunを使用して MATLAB® 関数を GPU でネイティブに実行する方法を説明します。

PAGEFUN による GPU 上の小さな行列問題のパフォーマンス改善

この例では、多くの独立した回転と平行移動を 3 次元環境のオブジェクトに適用するときにpagefunを使用してパフォーマンスを改善する方法を説明します。

GPU パフォーマンスの測定と向上

MATLAB のベンチマーク テストを使用して GPU のパフォーマンスを測定します。

GPU における A\b のベンチマーク

この例では、GPU における線形計算の求解のベンチマークを実行する方法について考えます。

詳細

パフォーマンス向上のためのコードのプロファイリング

プロファイラーを使用してコード実行の所要時間を測定し、コードの中で最も時間を消費した行または実行されない行を特定する。

ベクトル化

ループベースのスカラー指向コードを、MATLAB 行列とベクトル操作を使用するように変更する。

GPU 上の乱数ストリーム

CPU 上のものと同じ乱数列を生成するように、GPU 上の乱数ストリームを制御します。

GPU での乱数の生成

この例では、GPU でサポートされているいくつかの乱数発生器の間で切り替えを行う方法を示します。

GPU でのステンシル演算

この例ではConway の "ライフ ゲーム" を使用し、GPU を使ってステンシル演算をどのように実行するのかを示します。

注目の例