如果你有几个gpu,你可以执行你的计算在多个gpu并行使用并行池。
可用来确定数量的gpu用于MATLAB、使用gpuDeviceCount
函数。
开始一个尽可能多的工人提供gpu并行池。为获得最佳性能,MATLAB分配一个不同的GPU默认每个工人。
开始平行池(parpool)使用过程的概要文件…连接到平行池(工人数量:3)。
确定每个职工使用GPU,称之为gpuDevice
在一个spmd
块。的spmd
块运行gpuDevice
在每一个工人。
使用并行语言特性,如parfor
或parfeval
,分发计算工人并行池中。如果你使用gpuArray
使计算函数,这些函数运行在GPU上的工人。有关更多信息,请参见运行在GPU MATLAB函数。例如,看到的运行在多个gpu MATLAB函数。
当你完成了你的计算,关闭平行池。您可以使用gcp
函数获得当前并行池。
如果你想使用一个不同的gpu的选择,那么你可以使用gpuDevice
选择一个特定的GPU在每个工人,利用GPU设备索引。您可以获得的指数GPU设备系统中使用gpuDeviceCount
函数。
假设你有三个gpu可在您的系统,但是你想用只有两个计算。获取设备的指标。
定义要使用的设备的指标。
开始你的平行池。使用一个spmd
块和gpuDevice
把每个工人和一个您想要使用gpu,使用设备索引。的spmdIndex
识别每个工人的指数函数。
开始平行池(parpool)使用过程的概要文件…连接到平行池(工人数量:2)。
作为一项最佳实践,和最佳性能,为每个工人分配不同的GPU。
当你完成了你的计算,关闭平行池。