torch.cuda¶
此包增加了对 CUDA 张量类型的支持,这些类型实现了相同的 函数作为 CPU 张量,但它们使用 GPU 进行计算。
它是延迟初始化的,因此你可以随时导入它,并使用is_available()以确定您的系统是否支持 CUDA。
CUDA 语义 有更多关于使用 CUDA 的详细信息。
| 选择给定流的 context-manager。 | |
| 检查两个设备之间是否可以进行对等访问。 | |
| 返回指向当前 cuBLAS 句柄cublasHandle_t指针 | |
| 返回当前所选设备的索引。 | |
| 返回当前选定的 | |
| 返回默认值 | |
| 更改所选设备的 context-manager 。 | |
| 返回可用的 GPU 数量。 | |
| 将当前设备更改为给定对象的设备的上下文管理器。 | |
| 返回 列出为此库编译的 CUDA 架构。 | |
| 获取设备的 cuda 功能。 | |
| 获取设备的名称。 | |
| 获取设备的属性。 | |
| 返回此库编译时使用的 NVCC gencode 标志。 | |
| 返回 cuda 同步作的调试模式的当前值。 | |
| 初始化 PyTorch 的 CUDA 状态。 | |
| Force 在 CUDA IPC 释放 GPU 内存后收集 GPU 内存。 | |
| 返回一个布尔值,指示 CUDA 当前是否可用。 | |
| 返回 PyTorch 的 CUDA 状态是否已初始化。 | |
| 返回上一个采样周期中读取或写入全局(设备)内存的时间百分比。 | |
| 设置当前设备。 | |
| 设置当前流。这是一个用于设置流的包装器 API。 | |
| 设置 cuda 同步作的调试模式。 | |
| 围绕选择给定流的 Context-manager StreamContext 的包装器。 | |
| 等待 CUDA 设备上所有流中的所有内核完成。 | |
| 返回上一个采样周期内一个或多个内核在 GPU 上执行的时间百分比,由 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 内存分配器分配的内存。 | 
NVIDIA 工具扩展 (NVTX)¶
| 描述在某个时间点发生的瞬时事件。 | |
| 将范围推送到嵌套范围 span 的堆栈上。 | |
| 从嵌套范围 span 堆栈中弹出一个范围。 | 
Jiterator(测试版)¶
| 为 elementwise op 创建一个 jiterator 生成的 cuda 内核。 |