在GPU上运行内置函数
MATLAB函数gpuArray参数
许多MATLAB®内置函数支持万博1manbetxgpuArray
输入参数。无论何时调用这些函数和至少一个gpuArray作为输入参数,函数在GPU上执行并生成gpuArray作为结果。您可以使用gpuArray和MATLAB混合输入数组相同的函数调用;MATLAB函数的数组是转移到GPU执行。万博1manbetx支持功能包括离散傅里叶变换(fft
),矩阵乘法(mtimes
),左矩阵分裂(mldivide
)。
以下功能和象征运营商增强接受gpuArray输入参数,这样他们在GPU执行:
看到更新个人信息的发布说明功能。
任何限制或限制的信息有关的支持这些功能gpuArray对象类型:万博1manbetx
帮助gpuArray /functionname
例如,查看帮助的过载陆
、类型
帮助gpuArray /逻辑单元
在大多数情况下,如果这些函数的输入参数是一个gpuArray, gpuArrays任何输出数组。如果输出始终是标量,它返回在工作区中MATLAB数据。如果结果是gpuArray复杂的数据和所有的虚部为零,这些部分被保留和数据仍是复杂的。这可能在使用产生影响排序
,伊斯雷尔
等。
例如:与gpuArray输入和输出功能
下面的例子使用了fft
和真正的
功能,随着算术运算符+
和*
。所有的计算都是在GPU上执行,那么收集
检索的数据GPU回MATLAB工作区。
Ga =兰德(1000“单一”,“gpuArray”);Gfft = fft (Ga);Gb =(真正的(Gfft) + Ga) * 6;G =收集(Gb);
的谁
命令的显示每个变量数据存储的地方。
谁
名称大小字节类G 1000 x1000 1000单Ga 4000000 x1000 108 gpuArray Gb 1000 x1000 108 gpuArray Gfft 1000 x1000 108 gpuArray
请注意,所有的数组存储在GPU (gpuArray
),除了G
的结果收集
函数。
在GPU稀疏阵列
稀疏gpuArrays以下功能支持。万博1manbetx
abs角bicg bicgstab装天花板classUnderlying连词ctranspose函数结束expm1找到修复地板全部gmr gpuArray。speye图像放大isaUnderlying isdiag isempty |
isequal isequaln isfloat isinteger islogical isnumeric伊斯雷尔issparse istril istriu长度log1p - mtimes ndims nextpow2 nnz非零元素个数nzmax首选 |
+ rad2deg真正realsqrt圆形标志大小稀疏spfun spones sprandsym√6和转置下三角阵triu uminus uplus |
您可以创建一个稀疏gpuArray要么通过调用稀疏的
gpuArray输入,或通过调用gpuArray
稀疏的输入。例如,
x = [0 1 0 0 0;0 0 0 0 1)
0 1 0 0 0 0 0 0 0 1
s =稀疏(x)
(1、2)1 (2、5)1
g = gpuArray(年代);% g是一个稀疏gpuArraygt = ' (g);% gt是一个稀疏gpuArrayf =全(gt)% f是一个完整的gpuArray
0 0 1 0 0 0 0 0 0 1
考虑复数
如果函数运行在GPU上的输出可能复杂,您必须显式地指定它的输入参数复杂。这适用于gpuArray
由中调用函数或代码arrayfun
。
例如,如果创建一个gpuArray可能负面元素,使用G = gpuArray(复杂(p))
,那么你就可以成功地执行sqrt (G)
。
或者,在一个传递给函数arrayfun
,如果x
是一个向量的实数,和一些元素有负值,sqrt (x)
将生成一个错误;相反,你应该叫√复杂(x))
。
下表列出了可能返回复杂数据的函数,随着输入范围的输出仍然是真实的。
函数 | 输入范围实际产出 |
---|---|
这些“可信赖医疗组织”(x) |
abs (x) < = 1 |
作用(x) |
x > = 1 |
acoth (x) |
abs (x) > = 1 |
正式启动(x) |
abs (x) > = 1 |
asec (x) |
abs (x) > = 1 |
asech (x) |
0 < = x < = 1 |
正如(x) |
abs (x) < = 1 |
atanh |
abs (x) < = 1 |
日志(x) |
x > = 0 |
log1p (x) |
x > = 1 |
log10 (x) |
x > = 0 |
log2 (x) |
x > = 0 |
功率(x, y) |
x > = 0 |
reallog (x) |
x > = 0 |
realsqrt (x) |
x > = 0 |
sqrt (x) |
x > = 0 |
确认
岩浆是一个线性代数库例程,利用GPU加速。gpuArrays并行计算实现线性代数函数工具箱™杠杆岩浆实现性能和精度高。