主要内容

gpuDeviceCount

GPU设备个数

    描述

    例子

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

    例子

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

    例子

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

    例子

    全部折叠

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

    [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中可用的图形处理器的数量,使用gpuDeviceCount函数。

    availableGPUs = gpuDeviceCount (“可用”
    availableGPUs = 3

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

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

    要识别每个工作者正在使用的GPU,调用gpuDevice在一个spmd块。的spmd块运行gpuDevice在每一个工人。

    spmdgpuDevice结束

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

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

    删除(gcp (“nocreate”));

    如果你想使用不同的gpu选择,那么你可以使用gpuDevice使用GPU设备索引在每个工人上选择一个特定的GPU。您可以通过该文件获取系统中每个GPU设备的索引gpuDeviceCount函数。

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

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

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

    useGPUs = [1 3];

    启动并行池。使用一个spmd块和gpuDevice使用设备索引将每个worker与你想要使用的一个gpu关联。的labindex函数标识每个工作者的索引。

    parpool (“本地”元素个数(useGPUs));
    使用'local'配置文件启动并行池(parpool)…连接到并行池(工人数量:2)。
    spmdgpuDevice (useGPUs (labindex));结束

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

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

    删除(gcp (“nocreate”));

    输入参数

    全部折叠

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

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

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

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

    例子:“可用”

    数据类型:字符|字符串

    输出参数

    全部折叠

    GPU设备的数量,以正标量返回。

    GPU设备的索引,作为一个数字向量返回。的每个元素indx为已计数GPU设备的设备索引。使用设备索引选择或查询图形处理器设备gpuDevice函数。

    介绍了R2010b