Concurrency

Concurrency and Multithreading

concurrentqueue10.5K

A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]

Taskflow10.5K

A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]

ThreadPool8.1K

A simple C++11 Thread Pool implementation [zlib]

ArrayFire4.6K

A general purpose GPU library. [BSD]

readerwriterqueue3.9K

A fast single-producer, single-consumer lock-free queue for C++. [BSD]

NCCL3.4K

Optimized primitives for collective multi-GPU communication. [BSD]

libmill3K

Introduces Go-style concurrency in C. [MIT]

libcds2.6K

A C++ library of Concurrent Data Structures. [BSD]

HPX2.6K

A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]

libdispatch2.5K

Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] website

ck2.4K

Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]

concurrencpp2.4K

A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.

BS::thread_pool2.3K

A fast, lightweight, and easy-to-use C++17 thread pool library [MIT]

Kokkos2.1K

A performance portable programming model for parallel execution and memory abstraction. [BSD]

marl1.9K

Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]

libdill1.8K

Introduces structured concurrency in C. [MIT]

moderngpu1.7K

moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]

Boost.Compute1.6K

A C++ GPU Computing Library for OpenCL. [Boost] website

junction1.4K

A library of concurrent data structures in C++. [BSD]

Async++1.4K

A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]

stdgpu1.2K

Efficient STL-like Data Structures on the GPU. [Apache2]

Neco1.2K

Concurrency library for C (coroutines). [MIT]

C++React1K

A reactive programming library for C++11. [Boost]

FiberTaskingLib942

Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]

cuda-api-wrappers807

Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]

Intel Parallel STL732

Intel® implementation of C++17 STL for C++11 and above. [Apache2]

VexCL705

A C++ vector expression template library for OpenCL/CUDA. [MIT]

libfork625

A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] website

transwarp623

A header-only C++ library for task concurrency. [MIT]

Quantum581

A powerful C++ coroutine dispatcher framework built on top of Boost.Coroutine2.

SObjectizer504

An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]

Intel Games Task Scheduler449

A task scheduling framework designed for the needs of game developers. [MIT]

Channel438

Thread-safe container for sharing data between threads. [MIT]

Bolt371

A C++ template library optimized for GPUs. [Apache2]

rotor349

Event loop friendly C++ actor micro framework. [MIT]

Coros316

An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]

CUB83

CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]

Libclsph52

An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]

alpaka4

Abstraction library for parallel kernel acceleration. [LGPLv3+]

cupla4

C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]

I
Intel TBB

Intel® Threading Building Blocks. [Apache2]

O
OpenCL

The open standard for parallel programming of heterogeneous systems.

O
OpenMP

The OpenMP API.

R
RaftLib

The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]

T
Thrust

A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]

S
STAPL

A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]