SaaSHub helps you find the best software and product alternatives Learn more ā
Top 23 C++ Concurrency Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
parallel-hashmap
A family of header-only, very fast and memory-friendly hashmap and btree containers.
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
SPSCQueue.h
A bounded single-producer single-consumer wait-free and lock-free queue written in C++11
-
continuable
C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Swoole
For parallel programming nowadays, personally I reach for C++ Taskflow when I really care about performance, or a mix of core.async and running multiple load balanced instances when Iām doing more traditional web backend stuff in Clojure.
Slightly OT:
Are ZeroMQ and NanoMQ still widely used (and recommended)?
https://github.com/zeromq/libzmq
https://github.com/nanomq/nanomq
CAF
% rm -rf /tmp/nccl ; git clone --recursive https://github.com/NVIDIA/nccl.git ; cd nccl ; git grep MPI Cloning into 'nccl'... remote: Enumerating objects: 2769, done. remote: Counting objects: 100% (336/336), done. remote: Compressing objects: 100% (140/140), done. remote: Total 2769 (delta 201), reused 287 (delta 196), pack-reused 2433 Receiving objects: 100% (2769/2769), 3.04 MiB | 3.37 MiB/s, done. Resolving deltas: 100% (1820/1820), done. README.md:NCCL (pronounced "Nickel") is a stand-alone library of standard communication routines for GPUs, implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, as well as any send/receive based communication pattern. It has been optimized to achieve high bandwidth on platforms using PCIe, NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP sockets. NCCL supports an arbitrary number of GPUs installed in a single node or across multiple nodes, and can be used in either single- or multi-process (e.g., MPI) applications. src/collectives/broadcast.cc:/* Deprecated original "in place" function, similar to MPI */
Project mention: The One Billion Row Challenge in CUDA: from 17 minutes to 17 seconds | news.ycombinator.com | 2024-04-13Standard library maps/unordered_maps are themselves notoriously slow anyway. A sparse_hash_map from abseil or parallel-hashmaps[1] would be better.
[1] https://github.com/greg7mdp/parallel-hashmap
I am using concurrencpp for my project. What I like about it is that it's basically a thread pool factory with coroutines. It allows for better structuring / organizing of multithreaded work. So for me the main advantage of coroutines is that the code looks easier to follow
C++ Concurrency related posts
-
Open Swoole: PHP Server with Async IO, Coroutines and Fibers
-
AMD's CDNA 3 Compute Architecture
-
Open Swoole ā Programmatic server for PHP with async IO, coroutines and fibers
-
ZeroMQ ā Relicense from LGPL3 and exceptions to MPL 2.0
-
Essentials of Object Oriented and Functional Programming: A Guide to Modular Code
-
C++ Jobs - Q3 2023
-
Improvements of Clojure in his time
-
A note from our sponsor - SaaSHub
www.saashub.com | 16 May 2024
Index
What are some of the best open-source Concurrency projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Swoole | 18,240 |
2 | Taskflow | 9,608 |
3 | ZeroMQ | 9,322 |
4 | moodycamel | 8,874 |
5 | ArrayFire | 4,425 |
6 | readerwriterqueue | 3,476 |
7 | C++ Actor Framework | 3,112 |
8 | NCCL | 2,860 |
9 | libcds | 2,484 |
10 | HPX | 2,418 |
11 | parallel-hashmap | 2,340 |
12 | concurrencpp | 2,083 |
13 | thread-pool | 1,961 |
14 | moderngpu | 1,562 |
15 | Boost.Compute | 1,508 |
16 | junction | 1,365 |
17 | CacheLib | 1,101 |
18 | MPMCQueue.h | 1,103 |
19 | stdgpu | 1,089 |
20 | C++React | 997 |
21 | RaftLib | 928 |
22 | SPSCQueue.h | 846 |
23 | continuable | 813 |
Sponsored