Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Synchronization Primitives

Atomics

cuda::atomic System-wide cuda::std::atomic objects and operations. (class template)

1.0.0 / CUDA 10.2
cuda::atomic_ref System-wide cuda::std::atomic_ref objects and operations. (class template)

1.7.0 / CUDA 11.6

Latches

cuda::latch System-wide cuda::std::latch single-phase asynchronous thread coordination mechanism. (class template)

1.1.0 / CUDA 11.0

Barriers

cuda::barrier System-wide cuda::std::barrier multi-phase asynchronous thread coordination mechanism. (class template)

1.1.0 / CUDA 11.0

Semaphores

cuda::counting_semaphore System-wide cuda::std::counting_semaphore primitive for constraining concurrent access. (class template)

1.1.0 / CUDA 11.0
cuda::binary_semaphore System-wide cuda::std::binary_semaphore primitive for mutual exclusion. (class template)

1.1.0 / CUDA 11.0

Pipelines

The pipeline library is included in the CUDA Toolkit, but is not part of the open source libcu++ distribution.

cuda::pipeline Coordination mechanism for sequencing asynchronous operations. (class template)

CUDA 11.1
cuda::pipeline_shared_state cuda::pipeline shared state object. (class template)

CUDA 11.1
cuda::pipeline_role Defines producer/consumer role for a thread participating in a pipeline. (enum)

CUDA 11.1
cuda::make_pipeline Creates a cuda::pipeline. (function template)

CUDA 11.1
cuda::pipeline_consumer_wait_prior Blocks the current thread until all operations committed up to a prior pipeline stage complete. (function template)

CUDA 11.1
cuda::pipeline_producer_commit Binds operations previously issued by the current thread to a cuda::barrier. (function template)

CUDA 11.1