NCCL
2.25
NCCL 概述
安装设置
使用 NCCL
创建通信器
使用选项创建通信器
使用多个 ncclUniqueIds 创建通信器
创建更多通信器
并发使用多个 NCCL 通信器
完成通信器
销毁通信器
错误处理和通信器中止
异步错误和错误处理
容错
集体操作
AllReduce
Broadcast
Reduce
AllGather
ReduceScatter
数据指针
CUDA 流语义
在同一 ncclGroupStart/End() 组内混合使用多个流
组调用
从一个线程管理多个 GPU
聚合操作 (2.2 及更高版本)
非阻塞组操作
点对点通信
Sendrecv
一对多 (scatter)
多对一 (gather)
All-to-all
邻居交换
线程安全
原地操作
将 NCCL 与 CUDA Graphs 结合使用
用户缓冲区注册
NVLink Sharp 缓冲区注册
IB Sharp 缓冲区注册
通用缓冲区注册
内存分配器
NCCL API
通信器创建和管理函数
ncclGetLastError
ncclGetErrorString
ncclGetVersion
ncclGetUniqueId
ncclCommInitRank
ncclCommInitAll
ncclCommInitRankConfig
ncclCommInitRankScalable
ncclCommSplit
ncclCommFinalize
ncclCommDestroy
ncclCommAbort
ncclCommGetAsyncError
ncclCommCount
ncclCommCuDevice
ncclCommUserRank
ncclCommRegister
ncclCommDeregister
ncclMemAlloc
ncclMemFree
集体通信函数
ncclAllReduce
ncclBroadcast
ncclReduce
ncclAllGather
ncclReduceScatter
组调用
ncclGroupStart
ncclGroupEnd
ncclGroupSimulateEnd
点对点通信函数
ncclSend
ncclRecv
类型
ncclComm_t
ncclResult_t
ncclDataType_t
ncclRedOp_t
ncclScalarResidence_t
ncclConfig_t
ncclSimInfo_t
用户定义的规约运算符
ncclRedOpCreatePreMulSum
ncclRedOpDestroy
从 NCCL 1 迁移到 NCCL 2
初始化
通信
计数
AllGather 和 ReduceScatter 的原地使用
AllGather 参数顺序
数据类型
错误代码
示例
通信器创建和销毁示例
示例 1:单进程、单线程、多设备
示例 2:每个进程或线程一个设备
示例 3:每个线程多个设备
示例 4:每个设备多个通信器
通信示例
示例 1:每个进程或线程一个设备
示例 2:每个线程多个设备
NCCL 和 MPI
API
每个进程使用多个设备
ReduceScatter 操作
发送和接收计数
其他集体和点对点操作
原地操作
在 MPI 程序中使用 NCCL
MPI 进度
使用 CUDA-aware MPI 进行 GPU 间通信
环境变量
系统配置
NCCL_SOCKET_IFNAME
接受的值
NCCL_SOCKET_FAMILY
接受的值
NCCL_SOCKET_RETRY_CNT
接受的值
NCCL_SOCKET_RETRY_SLEEP_MSEC
接受的值
NCCL_SOCKET_NTHREADS
接受的值
NCCL_NSOCKS_PERTHREAD
接受的值
NCCL_CROSS_NIC
接受的值
NCCL_IB_HCA
接受的值
NCCL_IB_TIMEOUT
接受的值
NCCL_IB_RETRY_CNT
接受的值
NCCL_IB_GID_INDEX
接受的值
NCCL_IB_ADDR_FAMILY
接受的值
NCCL_IB_ADDR_RANGE
接受的值
NCCL_IB_ROCE_VERSION_NUM
接受的值
NCCL_IB_SL
接受的值
NCCL_IB_TC
接受的值
NCCL_IB_FIFO_TC
接受的值
NCCL_IB_RETURN_ASYNC_EVENTS
接受的值
NCCL_OOB_NET_ENABLE
接受的值
NCCL_OOB_NET_IFNAME
接受的值
NCCL_UID_STAGGER_THRESHOLD
接受的值
NCCL_UID_STAGGER_RATE
接受的值
NCCL_NET
接受的值
NCCL_NET_PLUGIN
接受的值
NCCL_TUNER_PLUGIN
接受的值
NCCL_PROFILER_PLUGIN
接受的值
NCCL_IGNORE_CPU_AFFINITY
接受的值
NCCL_CONF_FILE
接受的值
NCCL_DEBUG
接受的值
NCCL_DEBUG_FILE
接受的值
NCCL_DEBUG_SUBSYS
接受的值
NCCL_COLLNET_ENABLE
接受的值
NCCL_COLLNET_NODE_THRESHOLD
接受的值
NCCL_TOPO_FILE
接受的值
NCCL_TOPO_DUMP_FILE
接受的值
NCCL_SET_THREAD_NAME
接受的值
调试
NCCL_P2P_DISABLE
接受的值
NCCL_P2P_LEVEL
接受的值
整数值 (旧版)
NCCL_P2P_DIRECT_DISABLE
接受的值
NCCL_SHM_DISABLE
接受的值
NCCL_BUFFSIZE
接受的值
NCCL_NTHREADS
接受的值
NCCL_MAX_NCHANNELS
接受的值
NCCL_MIN_NCHANNELS
接受的值
NCCL_CHECKS_DISABLE
接受的值
NCCL_CHECK_POINTERS
接受的值
NCCL_LAUNCH_MODE
接受的值
NCCL_IB_DISABLE
接受的值
NCCL_IB_AR_THRESHOLD
接受的值
NCCL_IB_QPS_PER_CONNECTION
接受的值
NCCL_IB_SPLIT_DATA_ON_QPS
接受的值
NCCL_IB_CUDA_SUPPORT
接受的值
NCCL_IB_PCI_RELAXED_ORDERING
接受的值
NCCL_IB_ADAPTIVE_ROUTING
接受的值
NCCL_IB_ECE_ENABLE
接受的值
NCCL_MEM_SYNC_DOMAIN
接受的值
NCCL_CUMEM_ENABLE
接受的值
NCCL_CUMEM_HOST_ENABLE
接受的值
NCCL_NET_GDR_LEVEL (原 NCCL_IB_GDR_LEVEL)
接受的值
整数值 (旧版)
NCCL_NET_GDR_READ
接受的值
NCCL_NET_SHARED_BUFFERS
接受的值
NCCL_NET_SHARED_COMMS
接受的值
NCCL_SINGLE_RING_THRESHOLD
接受的值
NCCL_LL_THRESHOLD
接受的值
NCCL_TREE_THRESHOLD
接受的值
NCCL_ALGO
接受的值
NCCL_PROTO
接受的值
NCCL_NVB_DISABLE
接受的值
NCCL_PXN_DISABLE
接受的值
NCCL_P2P_PXN_LEVEL
接受的值
NCCL_RUNTIME_CONNECT
接受的值
NCCL_GRAPH_REGISTER
接受的值
NCCL_LOCAL_REGISTER
接受的值
NCCL_LEGACY_CUDA_REGISTER
接受的值
NCCL_SET_STACK_SIZE
接受的值
NCCL_GRAPH_MIXING_SUPPORT
接受的值
NCCL_DMABUF_ENABLE
接受的值
NCCL_P2P_NET_CHUNKSIZE
接受的值
NCCL_P2P_LL_THRESHOLD
接受的值
NCCL_ALLOC_P2P_NET_LL_BUFFERS
接受的值
NCCL_COMM_BLOCKING
接受的值
NCCL_CGA_CLUSTER_SIZE
接受的值
NCCL_MAX_CTAS
接受的值
NCCL_MIN_CTAS
接受的值
NCCL_NVLS_ENABLE
接受的值
NCCL_IB_MERGE_NICS
接受的值
NCCL_MNNVL_ENABLE
接受的值
NCCL_RAS_ENABLE
接受的值
NCCL_RAS_ADDR
接受的值
NCCL_RAS_TIMEOUT_FACTOR
接受的值
故障排除
错误
RAS
RAS
操作原理
RAS 查询
示例输出
GPU Direct
GPU 到 GPU 通信
GPU 到 NIC 通信
PCI 访问控制服务 (ACS)
拓扑检测
共享内存
Docker
Systemd
网络问题
IP 网络接口
IP 端口
InfiniBand
基于融合以太网的 RDMA (RoCE)
NCCL
文档
»
搜索
请启用 JavaScript 以启用搜索功能。