paddle.device

paddle.device 模块提供了一系列与设备相关的 API,用于管理和配置计算设备。具体如下:

paddle.device 目录下包含 cuda 目录, cuda 目录中存放 CUDA 相关的 API。具体如下:

设备设置与属性获取

API 名称

API 功能

获得所有可用的自定义设备类型

获得所有可用的设备类型

获得所有可用的自定义设备

获得所有可用的设备

获得 cudnn 的版本

指定 OP 运行的全局设备

获得 OP 运行的全局设备

编译环境检测

API 名称

API 功能

检查 whl 包是否可以被用来在 CINN 上运行模型

检查 whl 包是否可以被用来在 GPU 上运行模型

检查 whl 包是否可以被用来在指定类型的自定义新硬件上运行模型

检查 whl 包是否可以被用来在 Graphcore IPU 上运行模型

检查 whl 包是否可以被用来在 Cambricon MLU 上运行模型

检查 whl 包是否可以被用来在 NPU 上运行模型

检查 whl 包是否可以被用来在 AMD 或海光 GPU(ROCm) 上运行模型

检查 whl 包是否可以被用来在 Baidu Kunlun XPU 上运行模型

设备描述符

API 名称

API 功能

IPUPlace 是一个设备描述符,指定 IPUPlace 则模型将会运行在该设备上

MLUPlace 是一个设备描述符,指定 MLUPlace 则模型将会运行在该设备上

XPUPlace 是一个设备描述符,表示一个分配或将要分配 Tensor 的 Baidu Kunlun XPU 设备

Stream 与 Event 辅助类

类名称

辅助类功能

StreamBase 的设备流包装器

StreamBase 的设备事件包装器

Stream 与 Event 相关 API

API 名称

API 功能

通过 device 返回当前的 stream

设置当前的 stream

切换当前的 stream 为输入指定的 stream,该 API 目前仅支持动态图模式

等待给定的设备上的计算完成

CUDA 相关

API 名称

API 功能

CUDA StreamBase 的设备流包装器,该 API 未来计划废弃,不推荐使用

CUDA StreamBase 的设备事件包装器,该 API 未来计划废弃,不推荐使用

通过 device 返回当前的 CUDA stream

返回值是 int,表示当前程序可用的 GPU 数量

用于释放显存分配器中空闲的显存

获取 CUDA 设备计算能力的主要和次要修订号

获取 CUDA 设备名称

获取 CUDA 设备属性

返回给定设备上分配给 Tensor 的显存峰值

返回给定设备上由 Allocator 管理的显存峰值

返回给定设备上当前分配给 Tensor 的显存大小

返回给定设备上当前由 Allocator 管理的显存大小

切换当前的 CUDA stream 为输入指定的 stream,该 API 目前仅支持动态图模式

等待给定的 CUDA 设备上的计算完成