文档

pagefun

应用功能,阵列的每个页面上的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函数一个等,每一个对应于的输出参数之一FUNpagefun所调用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

也可以看看

|||

介绍了在R2013b

是这个主题有帮助吗?