このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
gpuArray
GPU に格納される配列
説明
gpuArray
オブジェクトは GPU メモリに格納される配列を表します。MATLAB® や他のツールボックスにある多数の関数が gpuArray
オブジェクトをサポートしており、コードに最小限の変更を加えて GPU で実行することができます。gpuArray
オブジェクトを扱うには、fft
、mtimes
、mldivide
など、gpuArray
対応の任意の MATLAB 関数を使用します。MATLAB と他のツールボックスにおける gpuArray
対応の関数の完全なリストは、GPU をサポートする関数を参照してください。詳細については、GPU での MATLAB 関数の実行を参照してください。
GPU から配列を取得する場合は (gpuArray
オブジェクトをサポートしていない関数を使用する場合など)、関数 gather
を使用します。
メモ
GPU を使用できない場合は、gpuArray
データが含まれる MAT ファイルをインメモリ配列として読み込むことができます。GPU なしで読み込まれた gpuArray
オブジェクトには制限があり、計算には使用できません。GPU なしで読み込まれた gpuArray
オブジェクトを使用するには、gather
を使用して内容を取得します。
作成
gpuArray
を使用して、MATLAB ワークスペース内の配列を gpuArray
オブジェクトに変換します。一部の MATLAB 関数でも、gpuArray
オブジェクトを直接作成することができます。詳細については、GPU での配列の確立を参照してください。
入力引数
オブジェクト関数
gpuArray
オブジェクトの特性を調べるためのメソッドがいくつかあります。そのほとんどは同名の MATLAB 関数と同様に動作します。
isgpuarray | 入力が gpuArray であるかどうかの判別 |
existsOnGPU | GPU で gpuArray または CUDAKernel が使用可能かどうかを判別する |
isUnderlyingType | 入力に基となるデータ型が指定されているかどうかを判別 |
ndims | 配列の次元数 |
size | 配列サイズ |
underlyingType | 配列の動作を決定する基となるデータの型 |
複数の MATLAB ツールボックスに、gpuArray
をサポートする関数が含まれています。これらのツールボックスに含まれる、gpuArray
オブジェクトをサポートするすべての関数のリストを表示するには、次の表のリンクを使用してください。リスト内にある情報インジケーター付きの関数には、関数を GPU 上で実行する場合に固有の制限または使用に関するメモがあります。使用に関するメモと制限は、関数のリファレンス ページの「拡張機能」の節で確認できます。個々の gpuArray
対応関数の更新の詳細については、リリース ノートを参照してください。
ツールボックス名 | gpuArray をサポートする関数のリスト | GPU 固有のドキュメンテーション |
---|---|---|
MATLAB | gpuArray をサポートする関数 | |
Statistics and Machine Learning Toolbox™ | gpuArray をサポートする関数 (Statistics and Machine Learning Toolbox) | GPU でのデータの解析とモデル化 (Statistics and Machine Learning Toolbox) |
Image Processing Toolbox™ | gpuArray をサポートする関数 (Image Processing Toolbox) | GPU コンピューティング (Image Processing Toolbox) |
Deep Learning Toolbox™ |
*(GPU を使用した深層学習も参照) | Scale Up Deep Learning in Parallel, on GPUs, and in the Cloud (Deep Learning Toolbox) MATLAB による複数の GPU での深層学習 (Deep Learning Toolbox) |
Computer Vision Toolbox™ | gpuArray をサポートする関数 (Computer Vision Toolbox) | GPU コード生成と高速化 (Computer Vision Toolbox) |
Communications Toolbox™ | gpuArray をサポートする関数 (Communications Toolbox) | コード生成と高速化のサポート (Communications Toolbox) |
Signal Processing Toolbox™ | gpuArray をサポートする関数 (Signal Processing Toolbox) | コード生成と GPU サポート (Signal Processing Toolbox) |
Audio Toolbox™ | gpuArray をサポートする関数 (Audio Toolbox) | Code Generation and GPU Support (Audio Toolbox) |
Wavelet Toolbox™ | gpuArray をサポートする関数 (Wavelet Toolbox) | コード生成と GPU サポート (Wavelet Toolbox) |
Curve Fitting Toolbox™ | gpuArray をサポートする関数 (Curve Fitting Toolbox) |
すべての MathWorks® 製品の gpuArray
をサポートする関数のリストについては、gpuArray
をサポートする関数を参照してください。あるいは、製品別にフィルター処理できます。[ヘルプ] バーで [関数] をクリックします。関数リストの左ペインを参照し、MATLAB などの製品を選択します。左ペイン下部で、[GPU 配列] を選択します。gpuArray
対応の関数のない製品を選択した場合、[GPU 配列] フィルターは使用できません。
例
ヒント
パフォーマンスを向上させる必要がある場合、または関数が GPU で使用できない場合、
gpuArray
は次のオプションをサポートしています。gpuArray
オブジェクトに関する純粋に要素単位のコードをプリコンパイルして実行するには、関数arrayfun
を使用します。CUDA® デバイス コードまたはライブラリ呼び出しを含む C++ コードを実行するには、MEX 関数を使用します。詳細については、CUDA コードを含む MEX 関数の実行を参照してください。
CUDA C++ で記述された既存の GPU カーネルを実行するには、MATLAB CUDAKernel インターフェイスを使用します。詳細については、GPU での CUDA または PTX コードの実行を参照してください。
MATLAB コードから CUDA コードを生成するには、GPU Coder™ を使用します。詳細については、GPU Coder 入門 (GPU Coder)を参照してください。
gpurng
を使用して、GPU での乱数ストリームを制御できます。次のいずれも
intmax("int32")
を超えてはなりません。密配列の要素数。
スパース配列の非ゼロ要素数。
指定された次元のサイズ。たとえば、
zeros(0,3e9,"gpuArray")
は許可されません。
代替方法
一部の MATLAB 関数では、gpuArray
出力を指定することにより、gpuArray
オブジェクトを作成することもできます。次の表は、gpuArray
オブジェクトを直接作成することが可能な MATLAB 関数の一覧です。詳細については、関数リファレンス ページの「拡張機能」節を参照してください。
拡張機能
バージョン履歴
R2010b で導入
参考
isgpuarray
| canUseGPU
| arrayfun
| gpuDevice
| existsOnGPU
| gather
| reset
| pagefun
| gputimeit