SaaSHub helps you find the best software and product alternatives Learn more →
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.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
parallel-hashmap
A family of header-only, very fast and memory-friendly hashmap and btree containers.
-
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.
-
libfork
A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines
-
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!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: SIRUS.jl: Interpretable Machine Learning via Rule Extraction | /r/Julia | 2023-06-29SIRUS.jl is a pure Julia implementation of the SIRUS algorithm by Bénard et al. (2021). The algorithm is a rule-based machine learning model meaning that it is fully interpretable. The algorithm does this by firstly fitting a random forests and then converting this forest to rules. Furthermore, the algorithm is stable and achieves a predictive performance that is comparable to LightGBM, a state-of-the-art gradient boosting model created by Microsoft. Interpretability, stability, and predictive performance are described in more detail below.
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.
Project mention: A list of JavaScript engines, runtimes, interpreters | /r/learnjavascript | 2023-12-10Napa.js
Project mention: If you can't reproduce the model then it's not open-source | news.ycombinator.com | 2024-01-17I think the process of data acquisition isn't so clear-cut. Take CERN as an example: they release loads of data from various experiments under the CC0 license [1]. This isn't just a few small datasets for classroom use; we're talking big-league data, like the entire first run data from LHCb [2].
On their portal, they don't just dump the data and leave you to it. They've got guides on analysis and the necessary tools (mostly open source stuff like ROOT [3] and even VMs). This means anyone can dive in. You could potentially discover something new or build on existing experiment analyses. This setup, with open data and tools, ticks the boxes for reproducibility. But does it mean people need to recreate the data themselves?
Ideally, yeah, but realistically, while you could theoretically rebuild the LHC (since most technical details are public), it would take an army of skilled people, billions of dollars, and years to do it.
This contrasts with open source models, where you can retrain models using data to get the weights. But getting hold of the data and the cost to reproduce the weights is usually prohibitive. I get that CERN's approach might seem to counter this, but remember, they're not releasing raw data (which is mostly noise), but a more refined version. Try downloading several petabytes of raw data if not; good luck with that. But for training something like a LLM, you might need the whole dataset, which in many cases have its own problems with copyrights…etc.
[1] https://opendata.cern.ch/docs/terms-of-use
[2] https://opendata.cern.ch/docs/lhcb-releases-entire-run1-data...
[3] https://root.cern/
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
Project mention: Algorithms - Researchers Approach New Speed Limit for Seminal Problem | news.ycombinator.com | 2024-01-29
Project mention: Show HN: Rapidgzip – Parallel Gzip Decompressing with 10 GB/S | news.ycombinator.com | 2023-09-04
C++ Parallel related posts
- Experimental Parallel JSON Parser - vztpv/scj3, claujson (Using modified simdjson as Tokenizer, and some code of rapidjson - when ast->text, and std::thread)
- New Fast Python CVT MAP-Elites + CMA-ES implementation
- How we use binary search to find compiler bugs
- Optimization for Quantum Computer Simulations
- Transaction and Payment Optimization Problem
- Use One Big Server
- A new fast local search heuristic for a location problem
-
A note from our sponsor - SaaSHub
www.saashub.com | 26 Apr 2024
Index
What are some of the best open-source Parallel projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | LightGBM | 16,043 |
2 | Taskflow | 9,552 |
3 | napajs | 9,238 |
4 | root | 2,418 |
5 | parallel-hashmap | 2,316 |
6 | thread-pool | 1,924 |
7 | moose | 1,570 |
8 | Vc | 1,418 |
9 | RaftLib | 923 |
10 | HiGHS | 800 |
11 | libfork | 452 |
12 | libgrape-lite | 365 |
13 | rapidgzip | 314 |
14 | YACLib | 246 |
15 | cvise | 195 |
16 | rangeless | 192 |
17 | ips4o | 159 |
18 | elbencho | 147 |
19 | rocPRIM | 143 |
20 | firebuild | 117 |
21 | charly-vm | 93 |
22 | indexed_bzip2 | 66 |
23 | ParallelReductionsBenchmark | 59 |
Sponsored