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. Learn more →
Top 20 C++ parallel-computing Projects
-
Project mention: gcl v1.1 released - Graph Concurrent Library for C++ | reddit.com/r/cpp | 2023-01-27
Cool. Thanks! How does it compare to taskflow?
-
Project mention: The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations | reddit.com/r/cpp | 2022-12-30
Most high-performance math libraries perform a lot of vectorization (Eigen, etc) under the hood. And you've got stuff like Klein, Vc (which is reminiscent of std::valarray), etc. Then there's OpenMP's #pragma omp simd (assuming version 4.0 or greater).
-
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.
-
kokkos
Kokkos C++ Performance Portability Programming EcoSystem: The Programming Model - Parallel Execution and Memory Abstraction
-
-
Kratos
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface. (by KratosMultiphysics)
-
You can also check out the CTranslate2 library which supports efficient inference of T5 models, including 8-bit quantization on CPU and GPU. There is a usage example in the documentation.
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
I think there's already been work done to just use intel MKL on any device: https://github.com/oneapi-src/oneMKL
-
Since the ability to use C++ parallel algorithms on the GPU is a relatively new thing, some applications have used other C++ abstraction libraries instead, such as Kokkos (https://kokkos.org/) and RAJA (https://github.com/LLNL/RAJA). These both have multiple backends that support GPUs and CPUs without needing to change your application code.
-
-
-
-
ConcurrentDeque
Fast, generalized, implementation of the Chase-Lev lock-free work-stealing deque for C++17
-
-
Lazy
Light-weight header-only library for parallel function calls and continuations in C++ based on Eric Niebler's talk at CppCon 2019.
-
-
cppRouting: I've just discovered this package. I use it if I require fast routing and can provide my own spatial graph data. So if I can't use OSM (maybe because of licence issues) this package will provide very fast results, too! I didn't compare the performance against the sfnetworks package, but I guess it's a lot faster and memory efficient especially for large networks. It also supports many implementations of different routing algorithms.
-
parallel-dfs-dag
A parallel implementation of DFS for Directed Acyclic Graphs (https://research.nvidia.com/publication/parallel-depth-first-search-directed-acyclic-graphs)
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ parallel-computing related posts
-
rodin alternatives - mfem and FreeFem-sources
7 projects | 8 Mar 2023
- Learn PDE constrained optimization
- Open source FEA tools instead of ANSYS Workbench and APDL
- Eighty Years of the Finite Element Method: Birth, Evolution, and Future
- Fortran on GPU
- Best Python package(s) to solve PDEs numerically?
- Generate MFEM initial mesh file using WELSIM
-
A note from our sponsor - Sonar
www.sonarsource.com | 26 Mar 2023
Index
What are some of the best open-source parallel-computing projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Taskflow | 7,959 |
2 | Vc | 1,297 |
3 | kokkos | 1,252 |
4 | mfem | 1,155 |
5 | Kratos | 798 |
6 | CTranslate2 | 591 |
7 | dolfinx | 440 |
8 | oneMKL | 413 |
9 | RAJA | 366 |
10 | PothosCore | 278 |
11 | feelpp | 264 |
12 | parlaylib | 174 |
13 | ConcurrentDeque | 122 |
14 | CPURasterizer | 120 |
15 | Lazy | 99 |
16 | Bulk | 89 |
17 | cppRouting | 86 |
18 | parallel-dfs-dag | 38 |
19 | cudnnxx | 6 |
20 | kmer-signatures | 0 |