Skip to content

In-place NCCL reduce-scatter is not in-place #21

@ndryden

Description

@ndryden

The NCCL backend's in-place reduce-scatter uses sendbuf = recvbuf here. But per NCCL documentation, the in-place reduce-scatter should actually have recvbuf be the appropriate offset into the recvbuf (see here). This appears appears to differ from the usual MPI semantics. Our current version works, but I'm not sure whether using overlapping buffers without telling NCCL that we are is safe. We may also be missing some performance benefits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions