gpuArray
存储在GPU上的数组
描述
一个gpuArray
对象表示存储在GPU内存中的数组。MATLAB中大量的函数®并在其他工具箱中支持gpuArray
对象,允许您在gpu上运行代码,只需对代码进行最小的更改。与…一起工作gpuArray
对象,使用任何gpuArray
-启用MATLAB函数如fft
,mtimes
或mldivide
.的完整列表gpuArray
-在MATLAB和其他工具箱中启用的函数,请参见GPU-supported功能.有关更多信息,请参见在图形处理器上运行MATLAB函数.
如果您想从GPU检索数组,例如当使用不支持的函数时gpuArray
对象,使用收集
函数。
请注意
您可以加载MAT文件包含gpuArray
当GPU不可用时,将数据作为内存数组。一个gpuArray
没有GPU加载的对象是有限的,你不能使用它进行计算。使用gpuArray
对象加载没有GPU,检索内容使用收集
.
对象的功能
有几种方法可以检查的特性gpuArray
对象。大多数函数的行为类似于同名的MATLAB函数。
isgpuarray |
确定输入是否为gpuArray |
existsOnGPU |
确定GPU上是否有gpuArray或CUDAKernel可用 |
isUnderlyingType |
确定输入是否具有指定的底层数据类型 |
ndims |
数组维数 |
大小 |
数组大小 |
underlyingType |
决定数组行为的底层数据类型 |
有几个MATLAB工具箱包含带有gpuArray
支持。查看这些工具箱中支持的所有函数的列表gpuArray
对象,请使用下表中的链接。带有信息指示器的列表中的函数具有特定于在GPU上运行该函数的限制或使用说明。您可以在函数参考页面的Extended Capabilities部分查看使用说明和限制。有关个人更新的信息gpuArray
-启用的函数,请参见发布说明。
工具箱的名字 | 函数列表gpuArray 支持 |
GPU-Specific文档 |
---|---|---|
MATLAB | 功能与gpuArray 支持 |
|
统计和机器学习工具箱™ | 功能与gpuArray 支持(统计和机器学习工具箱) |
在GPU上分析和建模数据(统计和机器学习工具箱) |
图像处理工具箱™ | 功能与gpuArray 支持(图像处理工具箱) |
GPU计算(图像处理工具箱) |
深度学习工具箱™ | 功能与 *(参见gpu深度学习) |
并行、gpu和云中扩展深度学习(深度学习工具箱) 基于MATLAB的多gpu深度学习(深度学习工具箱) |
计算机视觉工具箱 | 功能与gpuArray 支持(计算机视觉工具箱) |
GPU代码生成和加速(计算机视觉工具箱) |
通信工具箱™ | 功能与gpuArray 支持(通信工具箱) |
代码生成和加速支持(通信工具箱) |
信号处理工具箱 | 功能与gpuArray 支持(信号处理工具箱) |
代码生成和GPU支持(信号处理工具箱) |
音频工具箱™ | 功能与gpuArray 支持(音频工具箱) |
代码生成和GPU支持(音频工具箱) |
小波工具箱™ | 功能与gpuArray 支持(小波工具箱) |
代码生成和GPU支持(小波工具箱) |
曲线拟合工具箱™ | 功能与gpuArray 支持(曲线拟合工具箱) |
的函数列表gpuArray
支持所有MathWorks®2022世界杯八强谁会赢?产品,请参阅gpuArray
支持功能.或者,您可以根据产品进行过滤。在帮助栏,点击功能.在功能列表中,浏览左侧窗格选择一个产品,例如MATLAB。在左侧窗格的底部,选择GPU数组.如果您选择的产品没有gpuArray
-enabled函数,然后GPU数组过滤器不可用。
例子
提示
如果你需要更好的性能,或者GPU上无法使用某个功能,
gpuArray
支持以下选项:来预编译和运行纯元素代码
gpuArray
对象,使用arrayfun
函数。运行包含CUDA的c++代码®设备代码或库调用时,使用MEX函数。有关更多信息,请参见运行包含CUDA代码的MEX-Functions.
要运行用CUDA c++编写的现有GPU内核,请使用MATLAB CUDAKernel接口。有关更多信息,请参见在GPU上运行CUDA或PTX Code.
要从MATLAB代码生成CUDA代码,使用GPU Coder™。有关更多信息,请参见开始使用GPU编码器(GPU编码器).
支持对GPU上的随机数流进行控制
gpurng
.以下任何一项都不能超过
intmax(“int32”)
:密集数组的元素数。
稀疏数组中非零元素的个数。
任何给定维度的大小。例如,
0 (0,3 e9,“gpuArray”)
是不允许的。
选择
您还可以创建一个gpuArray
对象使用MATLAB函数指定gpuArray
输出。下表列出了允许您创建的MATLAB函数gpuArray
直接对象。有关更多信息,请参阅函数参考页的扩展功能部分。
扩展功能
版本历史
在R2010b中引入