Table of Contents

Enum MessagePassingStrategy

Namespace
DotCompute.Abstractions.RingKernels
Assembly
DotCompute.Abstractions.dll

Strategy for message passing between kernels.

public enum MessagePassingStrategy

Fields

AtomicQueue = 1

Lock-free ring buffers in global memory with atomics.

Uses CUDA atomics for lock-free queues in device global memory. Slower than shared memory but scales to larger queue sizes and supports inter-block communication.

NCCL = 3

NVIDIA Collective Communications Library (NCCL).

High-performance multi-GPU communication using NCCL. Supports various collective operations (broadcast, reduce, etc.) and is optimized for distributed training workloads.

P2P = 2

Peer-to-peer GPU memory transfers.

Direct GPU-to-GPU memory copies via P2P. Requires compatible GPUs and P2P support enabled. Optimal for multi-GPU setups.

SharedMemory = 0

Lock-free ring buffers in shared memory.

Uses atomic operations to implement lock-free queues in GPU shared memory. Fastest for intra-block communication but limited by shared memory size.