C++ Concurrency

Open-source C++ projects categorized as Concurrency | Edit details
Related topics: #CPP #C++ #Cpp20 #Cpp17 #Cpp11

Top 23 C++ Concurrency Projects

  • GitHub repo Swoole

    🚀 Coroutine-based concurrency library for PHP

    Project mention: How is node compared to other backend tech? | reddit.com/r/node | 2021-12-02

    It's been around for more then 8 years. Its a very established project with more the 17k stars https://github.com/swoole/swoole-src

  • GitHub repo ZeroMQ

    ZeroMQ core engine in C++, implements ZMTP/3.1

    Project mention: Implement message handling in firmware | reddit.com/r/embedded | 2021-11-28

    I just pulled this: https://github.com/zeromq/libzmq and it was like 80k lines of code.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo moodycamel

    A fast multi-producer, multi-consumer lock-free concurrent queue for C++11

    Project mention: Matthias Killat - Lock-free programming for real-time systems - Meeting C++ 2021 | reddit.com/r/cpp | 2022-01-22

    Not literatue but an example. This is a lock-free (not wait-free!) multi-producer multi-consumer queue, not a FIFO, but access patterns should be similar - if not the same: https://github.com/cameron314/concurrentqueue

  • GitHub repo Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System

    Project mention: [question] does golang has task schedule lib like c++'s taskflow? | reddit.com/r/golang | 2022-01-04
  • GitHub repo ArrayFire

    ArrayFire: a general purpose GPU library.

    Project mention: [D] Neural Networks using a generic GPU framework | reddit.com/r/MachineLearning | 2022-01-04

    Looking for frameworks with Julia + OpenCL I found array fire. It seems quite good, bonus points for rust bindings. I will keep looking for more, Julia completely fell off my radar.

  • GitHub repo Thrust

    The C++ parallel algorithms library.

  • GitHub repo C++ Actor Framework

    An Open Source Implementation of the Actor Model in C++

    Project mention: C++ Jobs - Q4 2021 | reddit.com/r/cpp | 2021-10-02

    Technologies: Apache Arrow, Flatbuffers, C++ Actor Framework, Linux, Docker, Kubernetes

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo readerwriterqueue

    A fast single-producer, single-consumer lock-free queue for C++

    Project mention: ConorWilliams/ConcurrentDeque | reddit.com/r/cpp | 2021-03-11

    We recently removed readerwriterqueue from our project due to issues and replaced with simple locking queue (and got better performance in the result). Your code looks interesting, but we can't use it due to C++17 usage.

  • GitHub repo libcds

    A C++ library of Concurrent Data Structures

    Project mention: Retiring boost from my codebase | reddit.com/r/cpp | 2021-07-29

    I'm also looking for replacement for concurrent containers: I have used TBB, it's good, though I would like to use the containers only. I have seen some alternatives like https://github.com/khizmax/libcds but didn't have an opportunity to try it yet.

  • GitHub repo HPX

    The C++ Standard Library for Parallelism and Concurrency

    Project mention: Would anyone be interested in an HPC coroutine library for MPI? | reddit.com/r/cpp | 2021-10-07

    We're working on something similar, but based on sender/receiver in HPX (a lightweight threading runtime) and DLA-Future (distributed linear algebra currently based on (HPX) futures; based on sender/receiver in the future). With senders-as-awaitables this would also get you coroutine support for asynchronous MPI calls for free. We don't have that yet, but it's planned. In the meantime libunifex should be able to fill in the gaps.

  • GitHub repo NCCL

    Optimized primitives for collective multi-GPU communication

    Project mention: Distributed Training Made Easy with PyTorch-Ignite | dev.to | 2021-08-10

    backends from native torch distributed configuration: nccl, gloo, mpi.

  • GitHub repo moderngpu

    Patterns and behaviors for GPU computing

  • GitHub repo Boost.Compute

    A C++ GPU Computing Library for OpenCL

  • GitHub repo parallel-hashmap

    A family of header-only, very fast and memory-friendly hashmap and btree containers.

    Project mention: I built PanakeDB, a 100% Rust event ingestion solution, and now it's available for free. | reddit.com/r/rust | 2022-01-11

    If you need to build a concurrent hash map, this is probably the best way: https://greg7mdp.github.io/parallel-hashmap/ (use, say, 16 hashmap shards based on hash % 16). This way you can insert a new entry to the hashmap without blocking everything.

  • GitHub repo junction

    Concurrent data structures in C++

    Project mention: Experiences with Concurrent Hash Map Libraries | reddit.com/r/cpp | 2021-04-27

    junction has a very impressive performance benchmark here. Initially it worked for my application, but I ran into some issues: Only raw pointers are supported as either keys or values. This means I am responsible for memory management and it was a pain. junction's required dependency "turf" causes linker errors when compiling with -fsanitize=address because there are symbol name collisions. Every thread that accesses the hash map must periodically call an update function or memory will be leaked. No commits in over three years, GitHub issues aren't getting any attention. The author said it's experimental and he doesn't want it to become more popular

  • GitHub repo C++React

    C++React: A reactive programming library for C++11.

  • GitHub repo concurrencpp

    Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all

    Project mention: Simple(r) introduction to C++20 Coroutines | reddit.com/r/cpp | 2021-09-21

    We were hoping we'd start by getting the foundations in place. The async stuff is a bit of a mess and didn't want to get bogged down in that here. There will be a follow-on post covering the async aspects - but until C++23 I'd generally say std::async covers one set of "use cases" or check out the excellent `concurrencpp` library ( https://github.com/David-Haim/concurrencpp )

  • GitHub repo RaftLib

    The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators

  • GitHub repo continuable

    C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)

  • GitHub repo VexCL

    VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP

  • GitHub repo MPMCQueue.h

    A bounded multi-producer multi-consumer concurrent queue written in C++11

    Project mention: Correctly implementing a spinlock in Modern C++ | news.ycombinator.com | 2021-06-25

    You can align and pad each ring buffer slot to the cache line size. Example https://github.com/rigtorp/MPMCQueue/blob/master/include/rig...

  • GitHub repo stdgpu

    stdgpu: Efficient STL-like Data Structures on the GPU

  • GitHub repo CacheLib

    Pluggable in-process caching engine to build and scale high performance services

    Project mention: CacheLib, Facebook’s open source caching engine for web-scale services | reddit.com/r/cpp | 2021-09-02

    [1] https://github.com/facebook/CacheLib/blob/main/BENCHMARKS.md

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-22.

C++ Concurrency related posts


What are some of the best open-source Concurrency projects in C++? This list will help you:

Project Stars
1 Swoole 17,232
2 ZeroMQ 7,500
3 moodycamel 6,382
4 Taskflow 6,275
5 ArrayFire 3,716
6 Thrust 3,642
7 C++ Actor Framework 2,650
8 readerwriterqueue 2,474
9 libcds 2,024
10 HPX 1,817
11 NCCL 1,667
12 moderngpu 1,277
13 Boost.Compute 1,264
14 parallel-hashmap 1,249
15 junction 1,213
16 C++React 934
17 concurrencpp 771
18 RaftLib 769
19 continuable 702
20 VexCL 652
21 MPMCQueue.h 650
22 stdgpu 639
23 CacheLib 569
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.