主要内容

gpuarray

gpuに格纳れる配列

说明

gpuarrayオブジェクトはgpuメモリに格纳される配列表しますます。。®や他ツールにある多数のががgpuarrayオブジェクトサポートて,コードに最小限変更を加えてててててでででするするますgpuarrayオブジェクトを扱うは,FFTmtimesMldivideなど,gpuarraymatlab关数关数关数をします。。。。とと他のツールにおけるにおけるgpuarray対応のの完全な,,gpuをサポート关数を参照てください详细については,gpuでmatlab关数关数実行実行を参照しください。

gpuから配列取得する(gpuarrayオブジェクトをしいないを使用场合などなど),收集を使用し。

メモ

gpuを使用ない场合,,gpuarrayデータれるれるファイルをイン配列として読み込むます。。。。なしなしなしでgpuarrayオブジェクトにが,计算にはできません。。。なしなしなし読み込ま読み込まgpuarrayオブジェクトをするには,收集を使用て内容取得します。

作成

gpuarrayMatlabワークワークワークスペース内内配列をををgpuarrayオブジェクトにします一部のののの关数关数も,,gpuarrayオブジェクトを作成ことができます详细については,gpuでのの确立を参照しください。

说明

g = gpuarray(Xは配列Xをgpuににし,,gpuarrayオブジェクトを返し。

入力引数

すべて展开する

gpuにする。またはまたはまたはまたは配列配列指定ますますますますますデバイスデバイスデバイスデバイスデバイスにはは,データを保存するするためためためにに十分Xが既にgpuarrayオブジェクトの场合,gpuarrayXを変更ずに出力。。

スパース配列ももに転送できます。。gpuarrayは,の配列のみサポートします。

例:g = gpuarray(魔术(3));

データ::单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑
复素数サポート:あり

オブジェクト关数

arrayfun 关数gpu上上配列の各要素にするするする
收集 分散配列またはgpuarrayををワークスペースに転送転送
pagefun 分散配列またはまたは配列各ページに关数适用适用

gpuarrayオブジェクトの调べるのメソッドがいくつあり。。ほとんどほとんどはは同名のの​​ののの关数关数关数

isgpuarray 入力がgpuarrayであるかどうの判别
存在 gpuでgpuarrayまたはcudakernelがが可能どうをするするする
Isunderlyingtype 入力になる型が指定さいるかどうか判别判别
ndims 配列の次元数
尺寸 配列サイズ
基础类型 配列のをする基なるデータの型

Matlabツールツールツールには,のののgpuarrayサポートをがれていますのツールボックスに含ま,gpuarrayオブジェクトをすべて关数のリスト表示するはは次次表ののリンクリンクリンクををを使用使用しくださいください。。。。リストリストリストリスト内内内内ににあるあるある情报情报インジケーターインジケーターインジケーター付き付き付き付きののまたは使用メモあります。使用メモは,,ののリファレンスページページの「拡张机能机能」ののの节节gpuarray対応关数の详细は,リリースをししくださいください。

ツールボックス名 gpuarrayをサポートするのリスト gpu固有のドキュメンテーション
MATLAB gpuarrayをサポートする关数
统计和机器学习工具箱™ gpuarrayをサポートする关数(统计和机器学习工具箱) 分析和建模GPU(统计和机器学习工具箱)
图像处理工具箱™ gpuarrayをサポートする关数(图像处理工具箱) gpuコンピューティング(图像处理工具箱)
深度学习工具箱™

gpuarrayをサポートする关数(深度学习工具箱)

*((gpuを使用た深层学习も参照)

并行扩展深度学习,在GPU和云中扩展(深度学习工具箱)

matlabによる复数ののでで深层学习学习(深度学习工具箱)

计算机视觉工具箱™ gpuarrayをサポートする关数(计算机视觉工具箱) gpuコード生成高速化(计算机视觉工具箱)
Communications Toolbox™ gpuarrayをサポートする关数(通信工具箱) コード生成高速化のサポート(通信工具箱)
信号处理工具箱™ gpuarrayをサポートする关数(信号处理工具箱) コード生成とgpuサポート(信号处理工具箱)
音频工具箱™ gpuarrayをサポートする关数(音频工具箱) 代码生成和GPU支持金宝app(音频工具箱)
小波工具箱™ gpuarrayをサポートする关数(小波工具箱) コード生成とgpuサポート(小波工具箱)
曲线拟合工具箱™ gpuarrayをサポートする关数(曲线拟合工具箱)

gpuarrayをサポートする关数のリンク先ですべてののの®制品から,gpuarrayをサポートを参照ことができます。,别にフィルター处理できます。[ヘルプ]バーで[关数]をクリック。リストの左ペイン参照しし,,などなどなどなど制品を选択しますます。。ペインペイン[GPU配列]を选択し。gpuarray対応のの制品をした场合,[GPU配列]フィルターはできません。

すべて折りたたむ

cpuからgpuにデータ転送するに关数关数关数gpuarrayを使用し。

配列Xを作成し。

x = [1,2,3];

Xをgpuににします。

g = gpuarray(x);

データがgpuにあること确认します。。

isgpuarray(g)
ans =逻辑1

配列Gの要素の乘を计算し。。

gsq =g。^2;

结果GSQCPUににます。。

XSQ =收集(GSQ)
XSQ =1×31 4 9

データがgpuにないこと确认します。。

isgpuarray(XSQ)
ans =逻辑0

Matlab关数关数关数使用し,オプションgpuarray”を指定こと,,,で直接をするするます。。

乱数のををででに作成します。。

g = rand(1,3,“ gpuarray”
G = 0.3640 0.5421 0.6543

出力gpuににされいること确认します。。

isgpuarray(g)
ans =逻辑1

この例で,gpuarrayMatlab关数关数を使用てててgpuarrayオブジェクトをするを说明します关数关数gpudeviceを使用ててののをチェックできます。。

gpudevice
ans = CUDADevice with properties: Name: 'TITAN RTX' Index: 1 ComputeCapability: '7.5' 金宝appSupportsDouble: 1 DriverVersion: 11.2000 ToolkitVersion: 11 MaxThreadsPerBlock: 1024 MaxShmemPerBlock: 49152 MaxThreadBlockSize: [1024 1024 64] MaxGridSize: [2.1475e+09 6553565535] SIMDWidth: 32 TotalMemory: 2.5770e+10 AvailableMemory: 2.4177e+10 MultiprocessorCount: 72 ClockRateKHz: 1770000 ComputeMode: 'Default' GPUOverlapsTransfers: 1 KernelExecutionTimeout: 1 CanMapHostMemory: 1 Device金宝appSupported: 1 DeviceAvailable: 1 DeviceSelected: 1

-15 ~15のを缲り返す行ベクトル作成ます。。これををををにににgpuarrayオブジェクトをするには关数关数gpuarrayを使用し。

x = [-15:15 0 -15:15 0 -15:15];gpux = gpuarray(x);谁是GPUX
名称大小字节类属性gpux 1x95 760 gpuarray

gpuarrayオブジェクトをするにはののgpuarraymatlab关数关数使用します。。。はは自动ににをををををででで実行実行gpuでmatlab关数关数実行実行を参照てください。,,诊断expmmod圆形的腹肌Fliplrを一绪使用します。

gpue = expm(diag(gpux,-1)) * expm(diag(gpux,1));gpum = mod(round(abs(gpue)),2);GPUF = GPUM + FLIPLR(GPUM);

结果をプロットます。

Imagesc(GPUF);colormap(翻转(灰色));

gpuからを転送て收集するがある场合,,收集cpuへへへと戻す転送高になる可能性があり,,gpuarrayをサポート关数结果をするがあるを除いて,一般一般にに転送はは

结果=聚集(GPUF);谁是结果
名称大小字节类属性结果96x96 73728 double

cpu gpu gpu gpu gpu gpu gpu cpu cpuとと间间间で数値数値の精度アルゴリズムアルゴリズムが异なっ异なってているいるいることからから,,,结果结果生じる生じるがことことことことことことことことことががががあり结果に対しな小数点数の近似计算中に异なる丸め动作がが行われてています。。このこのこの例圆形的により丸めがされてい。。

Matlabののの关数とと子をををgpuarrayオブジェクト共にに,积分法をてののを计算するする方法を说明说明。。

サンプリングするをします关数の领域,つまりX座标y y座标の両方区间区间[-1,1]に关数兰德でランダムをし,点サンプリングしますます。。上上上乱数配列配列を直接作成作成兰德を使用,,gpuarray”を指定ます。详细,,gpuでのの确立を参照しください。

n = 1e6;x = 2*rand(n,1,“ gpuarray”)-1;y = 2*rand(n,1,“ gpuarray”)-1;

被积分し,にモンテカルロ式をします。このこの关数は,単位単位円内のの点点点により π の値近似しますははgpuarray対応のと演算子をgpuarraygpuににに,に的的的的でで。。ますますますますれ配列配列配列配列配列にするするものと同じ同じ构文构文を使用しgpuarray対応のの详细について,,gpuでmatlab关数关数実行実行を参照しください。

f = x。^2 + y。^2 <= 1;结果= 4*1/n*f*一个(n,1,“ gpuarray”
结果= 3.1403

ヒント

  • パフォーマンスをせるがが场合,または关数がががでででできないない,gpuarrayは次オプションサポートしてい。。

    • gpuarrayオブジェクトにに単位のコードをて実行するには关数arrayfunを使用し。

    • 库达®C ++コードコードコード実行実行するにははははは关数关数关数关数关数使用します。。cudaコード含む含む含む关数关数実行を参照しください。

    • cuda c ++で记述れたのののカーネルを実行にはmatlabcudakernelインターフェイスインターフェイスをししますます。gpuでcuda ptxコードコード実行実行実行を参照しください。

    • matlabコードからからコードコード生成する,,,,,,,,,,,,,をを使用ますGPU编码器入门(GPU编码器)を参照しください。

  • gpurngを使用て,,でで乱数を制御でき。。

  • 次のいずれもintmax(“ int32”)を超えはなりませ。。

    • 密配列の要素。

    • スパース配列非ゼロ要素数。

    • 指定さた次元サイズ。たとえば,零(0,3E9,“ gpuarray”)は许可さません。

代替方法

一部matlab关数关数で,,gpuarray出力をすることにより,gpuarrayオブジェクトをこともます。次表,,,gpuarrayオブジェクトを作成ことが可能可能可能关数关数です详细详细については,关数关数ページのの「拡张机能机能」」」

眼睛(___,“ gpuarray”) 真的(___,“ gpuarray”)
错误的(___,“ gpuarray”) (___,“ gpuarray”)
inf(___,“ gpuarray”) gpuarray。冒号
(___,“ gpuarray”) gpuarray。Freqspace
那些(___,“ gpuarray”) gpuarray。linspace
兰德(___,“ gpuarray”) gpuarray。logspace
兰迪(___,“ gpuarray”) gpuarray。斯皮尔
兰德(___,“ gpuarray”)

バージョン履歴

R2010Bで导入