C++ Parallel

Open-source C++ projects categorized as Parallel

Top 23 C++ Parallel Projects

  • LightGBM

    A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

    Project mention: Use whatever is best for the problem, but still | reddit.com/r/datascience | 2022-08-09

    LGBM doesn't do RF well, but it's easy to manually bag single LGBM trees.

  • napajs

    Napa.js: a multi-threaded JavaScript runtime

    Project mention: Napa.js: A multi-threaded JavaScript runtime | news.ycombinator.com | 2022-10-26

    Each thread or worker is a V8 Isolate, each with their own GC. I don't think WeakMaps could cross the isolate boundary.

    The project lists a set of "transportable" types, which can be passed in as an argument when calling a worker function - https://github.com/microsoft/napajs/blob/master/docs/api/tra...

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System

    Project mention: Parallel Computations in C++: Where Do I Begin? | reddit.com/r/learnprogramming | 2022-09-23

    If you want some sort of "job" system, where you submit items to a some sort of queue to be processed in parallel, try searching for a thread pool - there isn't one in the standard library, but there's about a million implementations online. There are more complicated versions of that idea, that describe computation as a directed acyclic graph, such as taskflow.

  • root

    The official repository for ROOT: analyzing, storing and visualizing big data, scientifically

    Project mention: Graph in C++ | reddit.com/r/cpp | 2022-11-05
  • parallel-hashmap

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

    Project mention: My own Concurrent Hash Map picks | reddit.com/r/cpp | 2022-11-27

    Cool! Looking forward to you trying my phmap - and please let me know if you have any question.

  • Vc

    SIMD Vector Classes for C++

    Project mention: John "God" Carmack: C++ with a C flavor is still the best (also: Python performance "keeps hitting me in the face") | reddit.com/r/cpp | 2022-08-21

    I personally like the ideas in Parallelism v2 TS, which is available in for libstdc++ 11 onwards. The reference implementation is a library named Vc (afaik Vc is the most popular SIMD library for C++), and this has also been implemented in recent versions of HPX.

  • moose

    Multiphysics Object Oriented Simulation Environment

    Project mention: Open-source FEA software | reddit.com/r/fea | 2022-06-16

    GitHub Discussions as their forum: https://github.com/idaholab/moose/discussions

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • thread-pool

    BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library (by bshoshany)

    Project mention: A C++17 thread pool for high-performance scientific computing | news.ycombinator.com | 2022-06-14

    There are lots of them and many are built into the OS(e.g. GCD on mac's, Windows has a thread pool api, TBB on all of them...)

    It would be neat if the github site https://github.com/bshoshany/thread-pool or the paper did some comparisons to the existing body out there.

  • RaftLib

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

  • HiGHS

    Linear optimization software

    Project mention: HiGHS: High performance open source MILP and QP solver | news.ycombinator.com | 2022-05-10
  • libgrape-lite

    🍇 A C++ library for parallel graph processing (GRAPE) 🍇

    Project mention: libgrape-lite VS CXXGraph - a user suggested alternative | libhunt.com/r/libgrape-lite | 2022-03-17
  • HPCInfo

    Information about many aspects of high-performance computing. Wiki content moved to ~/docs.

    Project mention: Open source arm64 fortran? | reddit.com/r/fortran | 2022-03-23

    I wrote a script to make it easy for people to install and try new Flang: https://github.com/jeffhammond/HPCInfo/blob/master/buildscripts/llvm-git.sh

  • YACLib

    Yet Another Concurrency Library

    Project mention: YACLib: Yet Another Concurrency Library | reddit.com/r/cpp_coroutines | 2022-08-08
  • rangeless

    c++ LINQ -like library of higher-order functions for data manipulation

  • ips4o

    In-place Parallel Super Scalar Samplesort (IPS⁴o)

    Project mention: Hoare’s Rebuttal and Bubble Sort’s Comeback | news.ycombinator.com | 2022-01-28

    A while ago I was tinkering with Quicksort and avoiding branch mispredictions.

    https://easylang.online/blog/qsort_c.html

    My implementation is pretty fast. At a size of 40 or 50, I switch to Insertion sort, and there the branchless bubblesort is significantly slower (I just tried it).

    But I have to admit defeat to this SampleSort:

    https://github.com/SaschaWitt/ips4o

  • cvise

    Super-parallel Python port of the C-Reduce

    Project mention: How we use binary search to find compiler bugs | news.ycombinator.com | 2022-10-20

    cvise is another tool for test case reduction, similar to creduce mentioned in the article:

    https://github.com/marxin/cvise

  • rocPRIM

    ROCm Parallel Primitives

    Project mention: Nvidia in the Valley | news.ycombinator.com | 2022-09-26

    > AMD doesn't have a library of warp-level/kernel-level/global "software primitives" like Cuda Unbound or Thrust either.

    The ROCm software primatives library is rocPRIM and the ROCm equivalent to Thrust is rocThrust.

    https://github.com/ROCmSoftwarePlatform/rocPRIM

  • elbencho

    A distributed storage benchmark for file systems, object stores & block devices with support for GPUs

  • ParallelReductionsBenchmark

    Thrust, CUB, TBB, AVX2, CUDA, OpenCL, OpenMP, SyCL - all it takes to sum a lot of numbers fast!

    Project mention: Failing to Reach 204 GB/S DDR4 Bandwidth | news.ycombinator.com | 2022-02-02

    For the single threaded version, they have a data hazard on the sums that could be smoothed out with a little loop unrolling and separate variables.

    But in the [threaded version](https://github.com/unum-cloud/ParallelReductions/blob/fd16d9...) they have separate slots for an accumulator but it's still in a shared vector, which most likely has the issue I described.

  • indexed_bzip2

    Fast parallel random access to bzip2 and gzip files in Python

    Project mention: Show HN: Parallelized random access to bzip2 files from Python written in C++ | news.ycombinator.com | 2022-06-25
  • scj3

    experimental parallel json parser, scj3 (claujson)

    Project mention: Parallel Json Parser -claujson (scj3) | dev.to | 2022-10-22
  • VectorizedKernel

    Running GPGPU-like kernels on CPU with auto-vectorization for SSE/AVX/AVX512 SIMD Architectures

    Project mention: Good algorithm to demonstrate advantage of CUDA | reddit.com/r/CUDA | 2022-04-25
  • Other-Parallel-Parenthesis-Matching

    Other Parallel Parenthesis Matching

    Project mention: Parallel-Parenthesis-Matching? | reddit.com/r/learnprogramming | 2022-03-27
  • Zigi

    Close all those tabs. Zigi will handle your updates.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

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-11-27.

C++ Parallel related posts

Index

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

Project Stars
1 LightGBM 14,451
2 napajs 9,242
3 Taskflow 7,560
4 root 1,986
5 parallel-hashmap 1,685
6 Vc 1,261
7 moose 1,062
8 thread-pool 1,046
9 RaftLib 829
10 HiGHS 431
11 libgrape-lite 284
12 HPCInfo 219
13 YACLib 189
14 rangeless 181
15 ips4o 149
16 cvise 136
17 rocPRIM 98
18 elbencho 81
19 ParallelReductionsBenchmark 42
20 indexed_bzip2 30
21 scj3 6
22 VectorizedKernel 2
23 Other-Parallel-Parenthesis-Matching 0
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.
scoutapm.com