存储在GPU上的阵列
一个gpuArray
对象表示存储在GPU内存中的数组。MATLAB中的大量函数®并在其他工具箱中提供支持万博1manbetxgpuArray
对象,允许您在GPU上运行代码,而对代码的更改最少gpuArray
对象,使用任何gpuArray
-启用MATLAB功能,如快速傅里叶变换
,时间
或mldivide
.找到…的完整列表gpuArray
-enabled函数在MATLAB和其他工具箱中,参见GPU支万博1manbetx持的功能。有关详细信息,请参阅在GPU上运行MATLAB函数.
如果需要从GPU中检索阵列,例如使用不支持的函数时万博1manbetxgpuArray
对象,使用收集
函数。
请注意
可以加载包含以下内容的MAT文件:gpuArray
当GPU不可用时,数据作为内存阵列。agpuArray
没有GPU加载的对象是有限的,你不能使用它进行计算。使用一个gpuArray
对象在没有GPU的情况下加载,使用收集
.
有几种方法可以检验a的特性gpuArray
大多数函数的行为类似于同名的MATLAB函数。
isgpuarray |
确定输入是否正确gpuArray |
existsOnGPU |
确定GPU上是否有gpuArray或CUDAKernel |
下垫式 |
确定输入是否指定了基础数据类型 |
ndims |
数组维数 |
大小 |
数组大小 |
下垫式 |
决定数组行为的基础数据类型 |
一些MATLAB工具箱包括内置的函数gpuArray
万博1manbetx支持。查看这些工具箱中支持的所有函数的列表gpuArray
对象,请使用下表中的链接。带有信息指标的列表中的功能,在GPU上运行时会有一定的限制或使用说明。您可以在功能参考页面的扩展功能部分查看使用说明和限制。有关个人资料的更新gpuArray
-已启用的功能,请参阅发行说明。
工具箱的名字 | 具有以下功能的函数列表:gpuArray 万博1manbetx |
特定于GPU的文档 |
---|---|---|
MATLAB | 功能与gpuArray 万博1manbetx |
|
统计和机器学习工具箱™ | 功能与gpuArray 万博1manbetx(统计学和机器学习工具箱) |
在GPU上分析和建模数据(统计学和机器学习工具箱) |
图像处理工具箱™ | 功能与gpuArray 万博1manbetx(图像处理工具箱) |
计算能力(图像处理工具箱) |
深度学习工具箱™ | 功能与 *(参见GPU深度学习) |
在GPU和云中并行扩展深度学习(深度学习工具箱) 基于MATLAB的多gpu深度学习(深度学习工具箱) |
计算机视觉工具箱™ | 功能与gpuArray 万博1manbetx(计算机视觉工具箱) |
GPU代码生成与加速(计算机视觉工具箱) |
通信工具箱™ | 功能与gpuArray 万博1manbetx(通讯工具箱) |
代码生成和加速支持万博1manbetx(通讯工具箱) |
讯号处理工具箱™ | 功能与gpuArray 万博1manbetx(信号处理工具箱) |
代码生成和GPU支持万博1manbetx(信号处理工具箱) |
音频工具箱™ | 功能与gpuArray 万博1manbetx(音频工具箱) |
代码生成和GPU支持万博1manbetx(音频工具箱) |
小波工具箱™ | 功能与gpuArray 万博1manbetx(小波工具箱) |
代码生成和GPU支持万博1manbetx(小波工具箱) |
曲线拟合工具箱™ | 功能与gpuArray 万博1manbetx(曲线拟合工具箱) |
你可以浏览gpuArray
-万博1manbetx所有MathWorks支持的函数®s manbetx 845以下链接中的产品:gpuArray
支万博1manbetx持功能。或者,您可以按产品筛选。在帮助栏,点击功能。在功能列表中,浏览左窗格以选择产品,例如MATLAB。在左窗格底部,选择GPU阵列.如果您选择的产品没有gpuArray
-enabled函数,然后GPU阵列过滤器不可用。
如果您需要更好的性能,或者GPU上没有功能,gpuArray
万博1manbetx支持以下选项:
预编译并运行纯元素代码gpuArray
对象,使用arrayfun
函数。
运行包含CUDA的C++代码®设备代码或库调用,请使用MEX函数。有关详细信息,请参阅运行包含CUDA代码的MEX函数.
要运行用CUDA c++编写的现有GPU内核,请使用MATLAB CUDAKernel接口。有关更多信息,请参见在GPU上运行CUDA或PTX代码.
要从MATLAB代码生成CUDA代码,请使用GPU编码器™. 有关详细信息,请参阅开始与GPU编码器(GPU编码器).
您可以使用以下命令控制GPU上的随机数流:gpurng
.
以下任何一项都不能超过intmax(“int32”)
:
密集数组的元素数。
稀疏数组中非零元素的个数。
任何给定维度中的大小。例如,零(0,3e9,“gpuArray”)
是不允许的。
您还可以创建一个gpuArray
通过指定gpuArray
下表列出了使您能够创建gpuArray
对象。有关详细信息,请参阅the Extended Capabilities section of the function reference page.