主要内容

运行MATLAB函数在GPU

你可以加速通过运行MATLAB代码®GPU的函数。在MATLAB GPU计算需要并行计算工具箱™。

MATLAB功能与gpuArray参数

许多功能在MATLAB和其它工具箱如果你提供一个自动运行在GPUgpuArray数据参数。一个gpuArray在MATLAB代表数组存储在GPU上。

一个= gpuArray ([1 0 1;1 2 0;0 1 1]);e = eig(一个);

每当你与至少一个调用这些函数gpuArray作为数据输入参数,函数执行在GPU上。函数生成一个gpuArray结果,除非返回数值数据到本地工作区是更合适的(例如,大小)。您可以使用这两种混合输入gpuArray数据和数组存储在主机内存相同的函数调用。gpuArray启用功能包括离散傅里叶变换(fft),矩阵乘法(mtimes),左矩阵分裂(mldivide),和成百上千的其他人。

条件gpuArray输入

GPU-enabled功能运行在GPU上只有当输入数据在GPU。参数的数据类型参数如维度或指标不影响功能的运行。例如,总和函数在这段代码中运行在GPU上因为数据,第一个输入,GPU。

一个=兰德(10);d = 2;总和(gpuArray (A), d);
然而,总和函数在这段代码中没有运行在GPU,因为数据,第一个输入,不是在GPU上。
一个=兰德(10);d = 2;总和(A, gpuArray (d));

在GPU处理复数

如果输出函数的运行在GPU可以复杂,您必须显式地指定其输入参数作为复杂。有关更多信息,请参见在GPU处理复数

在GPU处理稀疏阵列

稀疏的函数可以用来创建稀疏gpuArray对象。许多MATLAB函数支持稀疏万博1manbetxgpuArray对象。有关更多信息,请参见在GPU处理稀疏阵列

检查gpuArray支万博1manbetx持功能

几个MATLAB工具箱包括函数gpuArray万博1manbetx支持。视图列出了所有功能的这些工具箱支持万博1manbetxgpuArray对象,使用下表中的链接。功能列表信息指标的局限性或使用notes特定于在GPU上运行的函数。你可以检查使用笔记和局限性的扩展函数参考页面的功能部分。更新个人信息gpuArray启用功能,发布说明。

工具箱的名字 列表的功能gpuArray万博1manbetx GPU-Specific文档
MATLAB 功能与gpuArray万博1manbetx
统计和机器学习的工具箱™ 功能与gpuArray万博1manbetx(统计和机器学习的工具箱) 分析和模型数据在GPU上(统计和机器学习的工具箱)
图像处理工具箱™ 功能与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启用功能,那么GPU数组过滤器是不可用的。

深度学习在gpu上

深度学习的许多功能工具箱,GPU的支持是自动如果你有一个支持GPU和并行计算工具。万博1manbetx你不需要把你的数据gpuArray。下面是一个简单的函数列表,默认情况下,运行在GPU上是否可用。

更多信息自动在深度学习GPU支持工具箱,明白了万博1manbetx并行扩展深度学习,在gpu上,在云端(深度学习工具箱)

对网络和工作流定义为使用网络dlnetwork(深度学习工具箱)对象或函数模型,将数据转换成gpuArray。使用功能与gpuArray万博1manbetx(深度学习工具箱)运行自定义训练循环或推理在GPU上。

检查或选择一个GPU

如果你有一个支持GPU,然后万博1manbetx用MATLAB自动使用GPU计算。如果你有多个gpu,那么您可以使用gpuDeviceTable检查所有gpu的性能检测到您的系统。您可以使用gpuDevice选择其中一个,或使用多个gpu并行池。有关更多信息,请参见识别和选择一个GPU设备运行在多个gpu MATLAB函数。检查是否支持你的GPU,明白了万博1manbetxGPU计算的需求

gpuDeviceTable
索引名称ComputeCapability DeviceAvailable DeviceSelected _____ _____________ _________________ 1售予* * *“NVIDIA RTX A5000”“8.6”真的真的2”住宅区P620”“6.1”真的假的

或者,您可以确定有多少GPU设备可用,检查他们的一些属性,并选择一个设备使用MATLAB®桌面。在选项卡,环境区域,选择平行>选择GPU环境

平行的菜单,包括选择GPU环境窗格显示两个GPU设备。旁边的蜱虫第一设备表明它是所选的设备。

使用MATLAB函数GPU

这个例子展示了如何使用gpuArray启用了MATLAB函数来操作gpuArray对象。你可以检查你的GPU的属性使用gpuDevice函数。

gpuDevice
ans = CUDADevice属性:名称:“方形住宅区P620”指数:2 ComputeCapability:“6.1”SupportsDouble: 1 GraphicsD万博1manbetxriverVersion:“511.79”DriverModel:“WDDM”ToolkitVersion: 11.2000 MaxThreadsPerBlock: 1024 MaxShmemPerBlock: 49152 (49.15 KB) MaxThreadBlockSize: [1024 1024 64] MaxGridSize: [2.1475 e + 09年65535 65535]SIMDWidth: 32 TotalMemory: 2147287040 (2.15 GB) AvailableMemory: 1615209678 (1.62 GB) CachePolicy:“平衡”MultiprocessorCount: 4 ClockRateKHz: 1354000 ComputeMode:“违约”GPUOverlapsTransfers: 1 KernelExecutionTimeout: 1 CanMapHostMemory: 1 DeviceSupported: 1 DeviceAvailable: 1 DeviceSelected: 1

创建一个重复的行向量的值从-15年到15。将其传输到GPU和创建一个gpuArray对象,使用gpuArray函数。

X = [15:15 0 15:15 0 15:15];gpuX = gpuArray (X);谁gpuX
类属性名称大小字节gpuX 760 x95 gpuArray

操作与gpuArray对象,使用任何gpuArray启用了MATLAB函数。MATLAB自动运行在GPU的计算。有关更多信息,请参见运行在GPU MATLAB函数。例如,使用诊断接头,expm,国防部,,腹肌,fliplr在一起。

gpuE = expm(诊断接头(gpuX 1)) * expm(诊断接头(gpuX 1));gpuM =国防部(圆(abs (gpuE)), 2);gpuF = gpuM + fliplr (gpuM);

策划的结果。

显示亮度图像(gpuF);colormap(翻转(灰色));

如果你需要把数据从GPU,使用收集。传输数据到CPU可以是昂贵的,和通常是没有必要的,除非你需要使用结果不支持的功能万博1manbetxgpuArray

结果=收集(gpuF);谁结果
类属性名称大小字节的结果96 x96 73728双

一般来说,运行代码的CPU和GPU可以产生不同的结果,由于数值精度和算法的GPU和CPU之间的差异。从CPU和GPU的答案都是同样有效的浮点近似真实的分析结果,在计算过程中一直受到不同的舍入行为。在本例中,结果是整数消除了舍入错误。

使用gpu的例子

运行示例MATLAB函数在gpu上

下面的示例通过gpuArray对象支持MATLAB函万博1manbetx数,使这些功能在GPU上运行。

工具箱的名字 例子
MATLAB
图像处理工具箱
深度学习工具箱
信号处理工具箱
音频工具箱
小波工具箱

其他的例子使用gpu

下面的例子使用其他自动GPU的支持。万博1manbetx

工具箱的名字 例子
深度学习工具箱
通信工具箱

确认

岩浆是一个线性代数库例程,利用GPU加速。线性代数函数实现gpuArray并行计算工具箱中的对象利用岩浆实现性能和精度高。

另请参阅

|||

相关的例子

更多关于