cupy.cuda.Device#

class cupy.cuda.Device(device=None)[source]#

表示 CUDA 设备的类。

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

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

with Device(0):
    do_something_on_device_0()

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

参数:

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

变量:

id (int) – 此设备的 ID。

方法

__enter__(self)#
__exit__(self, *args)#
from_pci_bus_id(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 句柄。

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

cusolver_handle#

此设备的 cuSOLVER 句柄。

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

cusolver_sp_handle#

此设备的 cuSOLVER Sp 句柄。

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

cusparse_handle#

此设备的 cuSPARSE 句柄。

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

id#

‘int’

类型:

id

mem_info#

设备内存信息。

返回:

free: 可用内存量,以字节为单位。total: 总内存量,以字节为单位。

返回类型:

free

pci_bus_id#

PCI 总线 ID 字符串

返回:

返回的设备标识符字符串,格式为 [域]:[总线]:[设备].[功能],其中域、总线、设备和功能均为十六进制值。

返回类型:

pci_bus_id (str)