torch.cuda¶
此包添加了对 CUDA 张量类型的支持。
它实现了与 CPU 张量相同的函数,但它们利用 GPU 进行计算。
它是延迟初始化的,因此您始终可以导入它,并使用 is_available()
来确定您的系统是否支持 CUDA。
CUDA 语义 包含有关使用 CUDA 的更多详细信息。
选择给定流的上下文管理器。 |
|
检查两个设备之间是否可以进行对等访问。 |
|
返回指向当前 cuBLAS 句柄的 cublasHandle_t 指针 |
|
返回当前选定设备的索引。 |
|
返回给定设备的当前选定 |
|
检索 CUDA 运行时 API 模块。 |
|
返回给定设备的默认 |
|
更改选定设备的上下文管理器。 |
|
返回可用的 GPU 数量。 |
|
将当前设备更改为给定对象的设备的上下文管理器。 |
|
返回此库为其编译的 CUDA 架构列表。 |
|
获取设备的 cuda 功能。 |
|
获取设备的名称。 |
|
获取设备的属性。 |
|
返回此库编译时使用的 NVCC gencode 标志。 |
|
返回 cuda 同步操作的调试模式的当前值。 |
|
初始化 PyTorch 的 CUDA 状态。 |
|
在 CUDA IPC 释放 GPU 内存后强制收集。 |
|
返回一个布尔值,指示 CUDA 是否当前可用。 |
|
返回 PyTorch 的 CUDA 状态是否已初始化。 |
|
返回过去采样周期内全局(设备)内存被读取或写入的时间百分比,由 nvidia-smi 给出。 |
|
设置当前设备。 |
|
设置当前流。这是设置流的包装器 API。 |
|
设置 cuda 同步操作的调试模式。 |
|
围绕选择给定流的上下文管理器 StreamContext 进行包装。 |
|
等待 CUDA 设备上所有流中的所有内核完成。 |
|
返回过去采样周期内 GPU 上执行了一个或多个内核的时间百分比,由 nvidia-smi 给出。 |
|
返回 GPU 传感器的平均温度(摄氏度)。 |
|
返回 GPU 传感器的平均功耗(毫瓦)。 |
|
返回过去采样周期内 GPU SM 的时钟速度(赫兹),由 nvidia-smi 给出。 |
|
当设备内存不足时引发的异常 |
随机数生成器¶
将指定 GPU 的随机数生成器状态作为 ByteTensor 返回。 |
|
返回一个 ByteTensor 列表,表示所有设备的随机数状态。 |
|
设置指定 GPU 的随机数生成器状态。 |
|
设置所有设备的随机数生成器状态。 |
|
为当前 GPU 生成随机数设置种子。 |
|
为所有 GPU 生成随机数设置种子。 |
|
为当前 GPU 生成随机数设置随机数种子。 |
|
为所有 GPU 生成随机数设置随机数种子。 |
|
返回当前 GPU 的当前随机数种子。 |
通信集体操作¶
将张量广播到指定的 GPU 设备。 |
|
将一系列张量广播到指定的 GPU。 |
|
对来自多个 GPU 的张量求和。 |
|
将张量散布到多个 GPU。 |
|
从多个 GPU 设备收集张量。 |
流和事件¶
CUDA 流的包装器。 |
|
外部分配的 CUDA 流的包装器。 |
|
CUDA 事件的包装器。 |
图形 (测试版)¶
如果当前 CUDA 流正在进行 CUDA 图捕获,则返回 True,否则返回 False。 |
|
返回表示图形内存池 ID 的不透明令牌。 |
|
CUDA 图的包装器。 |
|
捕获 CUDA 工作到 |
|
接受可调用对象(函数或 |
内存管理¶
释放缓存分配器当前持有的所有未被占用的缓存内存,以便这些内存可以在其他 GPU 应用程序中使用,并在 nvidia-smi 中可见。 |
|
返回给定设备上正在运行的进程及其 GPU 内存使用情况的可读打印输出。 |
|
使用 cudaMemGetInfo 返回给定设备的全局空闲和总 GPU 内存。 |
|
返回给定设备的 CUDA 内存分配器统计信息的字典。 |
|
返回给定设备的当前内存分配器统计信息的可读打印输出。 |
|
返回所有设备上 CUDA 内存分配器状态的快照。 |
|
返回给定设备上张量占用的当前 GPU 内存(以字节为单位)。 |
|
返回给定设备上张量占用的最大 GPU 内存(以字节为单位)。 |
|
重置给定设备上跟踪张量占用最大 GPU 内存的起始点。 |
|
返回给定设备上缓存分配器管理的当前 GPU 内存(以字节为单位)。 |
|
返回给定设备上缓存分配器管理的最大 GPU 内存(以字节为单位)。 |
|
设置进程的内存比例。 |
|
已弃用;请参阅 |
|
已弃用;请参阅 |
|
重置给定设备上跟踪缓存分配器管理的最大 GPU 内存的起始点。 |
|
重置 CUDA 内存分配器跟踪的“峰值”统计信息。 |
|
使用 CUDA 内存分配器执行内存分配。 |
|
删除使用 CUDA 内存分配器分配的内存。 |
|
返回由 |
|
从 so 文件加载的 CUDA 内存分配器。 |
|
将当前使用的内存分配器更改为提供的分配器。 |
|
MemPool 表示缓存分配器中的一组内存。 |
|
MemPoolContext 保存当前活动的池并存储先前的池。 |
- class torch.cuda.use_mem_pool(pool, device=None)[source]¶
将分配路由到给定池的上下文管理器。
- 参数
pool (torch.cuda.MemPool) – 要激活的 MemPool 对象,以便分配路由到此池。
device (torch.device 或 int, 可选) – 选择的设备。如果
device
为None
(默认值),则使用由current_device()
给出的当前设备上的 MemPool。
NVIDIA 工具扩展 (NVTX)¶
描述在某个时间点发生的瞬时事件。 |
|
将范围推送到嵌套范围跨度的堆栈上。 |
|
从嵌套范围跨度的堆栈中弹出范围。 |
|
上下文管理器/装饰器,在其作用域的开头推送 NVTX 范围,并在末尾弹出。 |
Jiterator (beta)¶
为逐元素运算创建 jiterator 生成的 cuda 内核。 |
|
为支持返回一个或多个输出的逐元素运算创建 jiterator 生成的 cuda 内核。 |