主要内容

gpuDeviceCount

GPU设备个数

    描述

    例子

    n= gpuDeviceCount返回本地机器中存在的GPU设备数量,由GPU设备驱动程序报告。驱动程序报告的所有设备都被统计,包括MATLAB中不支持的设备金宝app®以及当前MATLAB会话中不可用的设备。

    例子

    n= gpuDeviceCount (countMode返回机器中GPU设备的数量,根据countMode.使用此语法仅计算受支持的GPU设备,或仅计算可在此MATLA金宝appB会话中使用的设备。

    例子

    nindx= gpuDeviceCount(___还返回任何前面语法的已计数GPU设备的索引。当您想要选择或检查已计数的GPU设备时,请使用此语法。

    例子

    全部折叠

    确定计算机中可用的GPU设备数量及其索引。

    [n,indx] = gpuDeviceCount . [n,indx] = gpuDeviceCount .
    N = 2 index = 1

    使用实例查询图形处理器的属性gpuDeviceTable

    gpuDeviceTable
    ans =索引名称ComputeCapability DeviceAvailable DeviceSelected  _____ __________________ _________________ _______________ ______________ 1“泰坦RTX”“7.5”真假2“GeForce GTX 1080”“5.0”真正的事实

    如果您可以访问多个gpu,则可以使用并行池在多个gpu上并行执行计算。

    若要确定可在MATLAB中使用的gpu数量,请使用gpuDeviceCount函数。

    availableGPUs = gpuDeviceCount(“可用”
    availableGPUs = 3

    用尽可能多的可用gpu启动一个并行池。为了获得最佳性能,MATLAB默认为每个worker分配不同的GPU。

    parpool (“过程”, availableGPUs);
    使用'Processes'配置文件启动并行池(parpool)…连接到并行池(工人数:3)。

    要识别每个工作人员使用的GPU,请调用gpuDevice在一个spmd块。的spmd块运行gpuDevice每个工人身上。

    spmdgpuDevice结束

    使用并行语言特性,例如parforparfeval,将计算分发给并行池中的工作人员。如果你使用gpuArray在你的计算中启用函数,这些函数在worker的GPU上运行。有关更多信息,请参见在图形处理器上运行MATLAB函数.有关示例,请参见在多gpu上运行MATLAB函数

    完成计算后,关闭并行池。您可以使用gcp函数获取当前的并行池。

    删除(gcp (“nocreate”));

    如果你想使用不同的gpu选择,那么你可以使用gpuDevice来选择每个worker上的特定GPU,使用GPU设备索引。方法可以获取系统中每个GPU设备的索引gpuDeviceCount函数。

    假设您的系统中有三个可用的gpu,但您希望只使用两个gpu进行计算。获取设备的索引。

    [availableGPUs,gpuIndx] = gpuDeviceCount(“可用”
    availableGPUs = 3
    gpuIndx =1×31 2 3

    定义要使用的设备的索引。

    useGPUs = [1 3];

    开始你的平行泳池。使用一个spmd块和gpuDevice使用设备索引将每个worker与你想要使用的一个gpu关联起来。的spmdIndex函数标识每个worker的索引。

    parpool (“过程”元素个数(useGPUs));
    使用'Processes'配置文件启动并行池(parpool)…连接到并行池(工人数:2)。
    spmdgpuDevice (useGPUs (spmdIndex));结束

    作为最佳实践,为了获得最佳性能,为每个worker分配不同的GPU。

    完成计算后,关闭并行池。

    删除(gcp (“nocreate”));

    输入参数

    全部折叠

    设备计数模式,指定为下列之一:

    • “所有”—统计GPU设备驱动上报的所有GPU设备。计数包括MATLAB中不支持的设备和当前MATLAB会话中不可用的设备。金宝app

    • “金宝app支持”—仅计算当前版本MATLAB支持的GPU设备。金宝app

    • “可用”-只计算当前MATLAB会话中可用的GPU设备。

    例子:“可用”

    数据类型:字符|字符串

    输出参数

    全部折叠

    GPU设备数量,作为正标量返回。

    GPU设备的索引,作为数字向量返回。的每个元素indx是已统计GPU设备的设备索引。通过设备索引选择或查询GPU设备gpuDevice函数。

    版本历史

    在R2010b中引入