主要内容

建立数组GPU

一个gpuArray在MATLAB®代表了一个数组,存储在GPU内存。关于函数的更多信息在GPU支持数组,明白了万博1manbetx运行在GPU MATLAB函数

从现有的数据创建GPU数组

把数组的GPU

您可以创建GPU阵列转移现有数组从主机内存到GPU。把一个数组从主机内存使用的GPUgpuArray函数。

gpuArray例如,函数只支持数万博1manbetx字输入参数,,int8,或逻辑输入参数。的gpuArray函数支持复数的输入万博1manbetx。有关更多信息,请参见在GPU处理复数

N = 6;M =魔法(N);G = gpuArray (M);

获取数组的GPU

将数组从GPU到主机内存,使用收集函数。这个函数返回一个常规的MATLAB数组存储在主机内存。验证收集用函数返回正确的值isequal

传输数据的GPU可能代价高昂。调用收集通常是没有必要的,除非你需要用你的结果与功能不支持吗万博1manbetxgpuArray

G = gpuArray(的(100“uint32”));D =收集(G);好吧= isequal (D(100年,“uint32”))

数组转移到GPU

创建一个1000 -,- 1000随机矩阵,然后将其传输到GPU。更多信息生成随机数的GPU,明白了在GPU随机数流

X =兰德(1000);G = gpuArray (X);

更多信息在生成随机数的GPU,明白了在GPU随机数流

传递数组指定的精度

创建一个矩阵随机双精度值和转移矩阵对GPU单精度格式。

X =兰德(1000);G = gpuArray(单(X));

直接创建GPU数组

你可以直接在GPU通过指定创建数组gpuArray作为一些函数的输入参数类型。这些函数只需要数组大小和数据类信息,这样他们就可以构造一个数组,而无需从主机内存传输任何元素。有关更多信息,请参见gpuArray

您还可以创建数组在GPU镜像一个现有的数据类型gpuArray使用“喜欢”名称-值参数。您可以使用一些函数来构造数组具有相同数据类型数组作为原型p通过提供像= p作为输入参数。功能支持万博1manbetx“喜欢”选项包括0,,眼睛,真正的,,,兰德,兰迪,randn

在GPU上创建单位矩阵

创建一个1024 - 1024单位矩阵的类型int32在GPU上。

2 =眼睛(1024,“int32”,“gpuArray”);大小(2)
1024 1024

在GPU上创建多维数组

创建一个三维数组的数据类型在GPU上。

50 G =(100100年,“gpuArray”);大小(G)
100 100 50
underlyingType (G)

在GPU上创建矢量

8192 -元素创建一个列向量GPU上的0。

Z = 0(8192年1“gpuArray”);大小(Z)
8192年1

基于原型在GPU创建数组的数组

创建一个100 - 100的数组的随机数具有相同数据类型数组作为原型。

G = gpuArray ((1 2 3));R =兰德(100年,像= G);

检查gpuArray特征

使用这些函数来检查的特征gpuArray对象。

函数 描述
underlyingType 类的底层数据数组
existsOnGPU 指示如果阵列存在的GPU和访问
伊斯雷尔 指示如果数组的数据是真实的
isUnderlyingType

确定底层数组数据指定的类,例如

isequal 确定两个或多个数组是相等的
isnumeric 确定是数值数据类型的数组
issparse 判断一个数组是稀疏的
长度 最大长度的向量或数组维度
mustBeUnderlyingType 验证数组指定的基本类型,如双
ndims 数组的维数
大小 数组的大小尺寸

检查的大小gpuArray对象G

G =兰德(100“gpuArray”);s =大小(G)
100 100

保存和加载gpuArray对象

你可以节省gpuArray变量作为垫文件。当你保存gpuArray,MATLAB作为一个保存数据gpuArray变量在垫子上文件。当你加载一个文件包含一个垫gpuArray在GPU的变量,MATLAB装载数据gpuArray

请注意

你可以加载垫文件包含gpuArray数据时内存中的数组GPU是不可用的。一个gpuArray没有加载GPU是有限的,你不能用它来计算。使用一个gpuArray使用加载没有GPU,检索内容收集

为更多的信息关于如何保存和加载变量在MATLAB工作区,明白了保存和加载工作空间变量

另请参阅

|

相关的话题