应用功能,阵列的每个页面上的GPU
A = pagefun(FUN,B)
A = pagefun(FUN,B,C,...)
[A,B,...] = pagefun(FUN,C,...)
pagefun
遍历一个gpuArray的页面,应用相同的功能的每一页。
A = pagefun(FUN,B)
应用由指定的功能FUN
到gpuArray的每一页乙
,并返回结果中gpuArray一个
,这样A(:,:,I,J,......)= FUN(B(:,:,I,J,......))
。FUN
是一个句柄给带有二维输入自变量的函数。
您可以使用收集
检索来自GPU回MATLAB工作区中的阵列。
A = pagefun(FUN,B,C,...)
评估板FUN
使用阵列的页面乙
,C
等,与标量扩展输入参数启用。任何输入页面尺寸是标量被虚拟复制到其他数组的大小在该维度,使得匹配的A(:,:,I,J,......)= FUN(B(:,:,I,J,......),C(:,:,I,J,...),...)
。至少其中的一个输入乙
,C
等必须是gpuArray。在CPU存储器中保存的任何其他输入调用GPU上的功能之前被转换为gpuArray。如果阵列是在几个不同的所使用pagefun
电话,它是更有效的数组到gpuArray转换您的系列之前pagefun
调用。输入页面B(:,:,I,J,...)
,C(:,:,I,J,...)
等,必须满足所有的输入和输出要求FUN
。
[A,B,...] = pagefun(FUN,C,...)
,其中FUN
的句柄返回多个输出,返回gpuArrays函数一个
,乙
等,每一个对应于的输出参数之一FUN
。pagefun
所调用FUN
与尽可能多的产出,因为在调用pagefun
。的所有元素一个
必须是相同的类;乙
可以是来自不同的类一个
,但所有元素乙
必须是相同的类的;等等
FUN
必须在每次调用时返回相同类的值。该顺序pagefun
计算页面没有指定,不应该倚重。
FUN
必须是一个句柄是写在MATLAB语言的函数(即不是一个内置函数或MEX-功能)。
目前所支持的值万博1manbetxFUN
是:
大多数元素智能gpuArray功能,在上市运行内置函数在GPU和以下:
@ctranspose
@fliplr
@flipud
@inv
@mldivide
@mrdivide
@mtimes
@ rot90
@transpose
M = 3;%的行的输出数K = 6;%矩阵乘法内部尺寸N = 2;%列的输出数P1 = 10;第一页尺寸的大小%P2 = 17;第二页尺寸的尺寸%P3 = 4;第三页尺寸的大小%P4 = 12;第四页尺寸的大小%A =兰特(M,K,P1,1,P3,'gpuArray');B =兰特(K,N,1,P2,P3,P4,'gpuArray');C = pagefun(@ mtimes,A,B);S =尺寸(C)%M-通过-N-通过-P1-通过-P2-通过-P3-通过-P4
S = 3 2 10 17 4 12
M = 300;%的行的输出数K = 500;%矩阵乘法内部尺寸N = 1000;%列的输出数P = 200;% 页数A =兰特(M,K,'gpuArray');B =兰特(K,N,P,'gpuArray');C = pagefun(@ mtimes,A,B);S =尺寸(C)%返回M-通过-N-通过-P
S = 300 1000 200