torch.cuda¶
此包增加了对CUDA张量类型的支持。
它实现了与CPU张量相同的功能,但它们利用GPU进行计算。
它是延迟初始化的,因此您可以随时导入它,并使用
is_available()
来确定您的系统是否支持CUDA。
CUDA 语义 提供了更多关于使用 CUDA 的详细信息。
StreamContext |
选择给定流的上下文管理器。 |
can_device_access_peer |
检查两个设备之间的对等访问是否可能。 |
当前BLAS句柄 |
返回当前 cuBLAS 句柄的 cublasHandle_t 指针 |
当前设备 |
返回当前选定设备的索引。 |
当前流 |
返回给定设备的当前选定的 |
默认流 |
返回给定设备的默认 |
设备 |
上下文管理器,用于更改所选设备。 |
device_count |
返回可用的GPU数量。 |
device_of |
上下文管理器,将当前设备更改为给定对象的设备。 |
get_arch_list |
返回此库编译所针对的CUDA架构列表。 |
get_device_capability |
获取设备的CUDA能力。 |
get_device_name |
获取设备的名称。 |
get_device_properties |
获取设备的属性。 |
get_gencode_flags |
返回此库编译时使用的NVCC gencode标志。 |
get_sync_debug_mode |
返回用于同步操作的 CUDA 调试模式的当前值。 |
初始化 |
初始化 PyTorch 的 CUDA 状态。 |
ipc_collect |
强制在CUDA IPC释放后收集GPU内存。 |
is_available |
返回一个布尔值,指示CUDA当前是否可用。 |
is_initialized |
返回 PyTorch 的 CUDA 状态是否已初始化。 |
memory_usage |
返回在过去采样周期内,全局(设备)内存被读取或写入的时间百分比,如nvidia-smi所示。 |
set_device |
设置当前设备。 |
set_stream |
设置当前流。这是一个设置流的封装API。 |
设置同步调试模式 |
设置用于 CUDA 同步操作的调试模式。 |
stream |
围绕选择给定流的上下文管理器 StreamContext 进行包装。 |
同步 |
等待CUDA设备上所有流中的所有内核完成。 |
利用率 |
返回在过去采样周期内,GPU上有一个或多个内核执行的时间百分比,如nvidia-smi所示。 |
温度 |
返回GPU传感器在摄氏度(摄氏度)下的平均温度。 |
power_draw |
返回GPU传感器在mW(毫瓦)下的平均功耗 |
clock_rate |
返回过去采样周期内GPU SM的时钟速度,单位为赫兹(Hz),由nvidia-smi提供。 |
OutOfMemoryError |
当 CUDA 内存不足时引发的异常 |
随机数生成器¶
获取随机数生成器状态 |
返回指定GPU的随机数生成器状态为ByteTensor。 |
get_rng_state_all |
返回一个表示所有设备随机数状态的 ByteTensor 列表。 |
设置随机数生成器状态 |
设置指定GPU的随机数生成器状态。 |
set_rng_state_all |
设置所有设备的随机数生成器状态。 |
manual_seed |
为当前GPU设置生成随机数的种子。 |
manual_seed_all |
设置在所有GPU上生成随机数的种子。 |
种子 |
将生成随机数的种子设置为当前GPU的随机数。 |
seed_all |
将生成随机数的种子设置为所有GPU上的随机数。 |
初始种子 |
返回当前GPU的当前随机种子。 |
通信集体¶
将张量广播到指定的 GPU 设备。 |
|
将一系列张量广播到指定的GPU。 |
|
从多个GPU中汇总张量。 |
|
在多个GPU上分散张量。 |
|
从多个GPU设备收集张量。 |
图表(测试版)¶
is_current_stream_capturing |
如果当前CUDA流正在进行CUDA图捕获,则返回True,否则返回False。 |
graph_pool_handle |
返回一个表示图内存池ID的不透明令牌。 |
CUDAGraph |
CUDA 图的包装器。 |
graph |
用于将CUDA工作捕获到 |
make_graphed_callables |
接受可调用对象(函数或 |
内存管理¶
empty_cache |
释放缓存分配器当前持有的所有未占用的缓存内存,以便这些内存可以用于其他GPU应用程序,并在nvidia-smi中可见。 |
list_gpu_processes |
返回给定设备的运行进程及其GPU内存使用情况的可读打印输出。 |
mem_get_info |
使用cudaMemGetInfo返回给定设备的全球空闲和总GPU内存。 |
memory_stats |
返回给定设备的CUDA内存分配器统计信息的字典。 |
memory_summary |
返回给定设备的当前内存分配器统计信息的可读打印输出。 |
memory_snapshot |
返回所有设备上CUDA内存分配器状态的快照。 |
memory_allocated |
返回给定设备上张量当前占用的GPU内存,以字节为单位。 |
最大内存分配 |
返回给定设备上张量占用的最大GPU内存,单位为字节。 |
reset_max_memory_allocated |
重置在给定设备上跟踪张量占用的最大GPU内存的起始点。 |
memory_reserved |
返回由缓存分配器管理的指定设备的当前GPU内存,单位为字节。 |
最大保留内存 |
返回给定设备上由缓存分配器管理的最大GPU内存,单位为字节。 |
set_per_process_memory_fraction |
设置进程的内存占用比例。 |
memory_cached |
已弃用;请参阅 |
max_memory_cached |
已弃用;请参阅 |
reset_max_memory_cached |
重置在给定设备上由缓存分配器管理的最大GPU内存跟踪的起始点。 |
重置峰值内存统计 |
重置CUDA内存分配器跟踪的“峰值”统计信息。 |
caching_allocator_alloc |
使用CUDA内存分配器执行内存分配。 |
caching_allocator_delete |
删除使用CUDA内存分配器分配的内存。 |
get_allocator_backend |
返回一个字符串,描述由 |
CUDAPluggableAllocator |
从so文件加载的CUDA内存分配器。 |
change_current_allocator |
将当前使用的内存分配器更改为提供的分配器。 |
NVIDIA 工具扩展 (NVTX)¶
描述在某个时间点发生的瞬时事件。 |
|
将一个范围推入嵌套范围跨度的堆栈中。 |
|
从嵌套范围跨度的堆栈中弹出一个范围。 |
Jiterator (测试版)¶
创建一个由jiterator生成的cuda内核用于元素操作。 |
|
创建一个由jiterator生成的cuda内核,用于支持返回一个或多个输出的元素操作。 |