跳到主要内容

用户缓冲区注册

用户缓冲区注册是一个功能,它允许 MCCL 直接通过用户缓冲区发送/接收/操作数据,无需额外的内部复制(零复制)。它可以加速集体操作,并大大减少资源使用(例如#通道使用)。

内存分配器

MCCL 集体操作可以使用通过 MUSA 分配器(例如 musaMalloc)分配的缓冲区。

对于使用 VMM API 的分配器,分配器分配的缓冲区需要满足以下要求:

  • 在支持的 GPU 上,分配缓冲区时需要使用共享标志 MU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,同时也要使用 MU_MEM_HANDLE_TYPE_FABRIC
  • 缓冲区物理内存大小是 MUMEM 推荐粒度的倍数(即 muMemGetAllocationGranularity(..., MU_MEM_ALLOC_GRANULARITY_RECOMMENDED)
  • 缓冲区虚拟头部地址至少与 MUMEM 推荐粒度对齐,大小是 MUMEM 推荐粒度的倍数。