cupy.cuda.Device#

class cupy.cuda.Device(device=None)[源代码]#

表示 CUDA 设备的对象。

此类提供了一些对 CUDA 设备的基本操作。

它支持上下文协议。例如,以下代码是临时切换当前设备的一个示例:

with Device(0):
    do_something_on_device_0()

with 语句完成后,当前设备将重置为原始设备。

参数:

device (int or cupy.cuda.Device) – 要操作的设备的索引。请注意,设备ID(也称为GPU ID)是从零开始的。如果它是一个Device对象,则使用其ID。默认情况下选择当前设备。

变量:

id (int) – 此设备的ID。

方法

__enter__(self)#
__exit__(self, *args)#
from_pci_bus_id(type cls, pci_bus_id)#

基于PCI总线ID返回一个新的设备实例

参数:

pci_bus_id (str) – 设备字符串的格式如下 [域]:[总线]:[设备].[功能] ,其中域、总线、设备和功能都是十六进制值。

返回:

Device 类的一个实例,其 PCI 总线 ID 由参数 pci_bus_id 给出。

返回类型:

device (Device)

synchronize(self)#

将当前线程同步到设备。

use(self)#

使此设备成为当前设备。

如果你想临时切换设备,请使用 with 语句。

__eq__(value, /)#

返回 self==value。

__ne__(value, /)#

返回 self!=value。

__lt__(value, /)#

返回 self<value。

__le__(value, /)#

返回 self<=value。

__gt__(value, /)#

返回 self>value。

__ge__(value, /)#

返回 self>=value。

属性

attributes#

设备属性的字典。

返回:

属性值的字典,键为属性名称。字符串 cudaDevAttr 已从名称中删除。例如,与枚举值 cudaDevAttrMaxThreadsPerBlock 对应的属性将具有键 MaxThreadsPerBlock

返回类型:

attributes (dict)

compute_capability#

此设备的计算能力。

该能力由包含主索引和次索引的字符串表示。例如,计算能力 3.5 由字符串 ‘35’ 表示。

cublas_handle#

该设备的cuBLAS句柄。

即使设备实例本身不同,相同的设备也会使用相同的句柄。

cusolver_handle#

此设备的 cuSOLVER 句柄。

即使设备实例本身不同,相同的设备也会使用相同的句柄。

cusolver_sp_handle#

该设备的 cuSOLVER Sphandle。

即使设备实例本身不同,相同的设备也会使用相同的句柄。

cusparse_handle#

此设备的 cuSPARSE 句柄。

即使设备实例本身不同,相同的设备也会使用相同的句柄。

id#

‘int’

类型:

id

mem_info#

设备内存信息。

返回:

空闲内存量,单位为字节。total: 总内存量,单位为字节。

返回类型:

free

pci_bus_id#

PCI 总线 ID 的字符串

返回:

返回的设备标识符字符串格式为 [domain]:[bus]:[device].[function],其中 domain、bus、device 和 function 都是十六进制值。

返回类型:

pci_bus_id (str)