Enum MessagePassingStrategy
- Namespace
- DotCompute.Abstractions.RingKernels
- Assembly
- DotCompute.Abstractions.dll
Strategy for message passing between kernels.
public enum MessagePassingStrategy
Fields
AtomicQueue = 1Lock-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 = 3NVIDIA 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 = 2Peer-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.
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.