C++ parallel-computing

Open-source C++ projects categorized as parallel-computing

Top 20 C++ parallel-computing Projects

  • Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System

    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?

  • Vc

    SIMD Vector Classes for C++

    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

  • mfem

    Lightweight, general, scalable C++ library for finite element methods

    Project mention: rodin alternatives - mfem and FreeFem-sources | libhunt.com/r/rodin | 2023-03-08
  • 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)

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

    Fast inference engine for Transformer models

    Project mention: [D] Faster Flan-T5 inference | reddit.com/r/MachineLearning | 2023-02-22

    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.

  • dolfinx

    Next generation FEniCS problem solving environment

    Project mention: rodin alternatives - mfem and FreeFem-sources | libhunt.com/r/rodin | 2023-03-08
  • 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.

  • oneMKL

    oneAPI Math Kernel Library (oneMKL) Interfaces

    Project mention: Stable Diffusion on AMD RDNA™ 3 Architecture | reddit.com/r/hardware | 2022-12-21

    I think there's already been work done to just use intel MKL on any device: https://github.com/oneapi-src/oneMKL

  • RAJA

    RAJA Performance Portability Layer (C++)

    Project mention: Cuda application question | reddit.com/r/CUDA | 2022-04-24

    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.

  • PothosCore

    The Pothos data-flow framework

  • feelpp

    :gem: Feel++: Finite Element Embedded Language and Library in C++

    Project mention: rodin alternatives - mfem and FreeFem-sources | libhunt.com/r/rodin | 2023-03-08
  • parlaylib

    A Toolkit for Programming Parallel Algorithms on Shared-Memory Multicore Machines

  • ConcurrentDeque

    Fast, generalized, implementation of the Chase-Lev lock-free work-stealing deque for C++17

  • CPURasterizer

    CPU Based Rasterizer Engine

  • Lazy

    Light-weight header-only library for parallel function calls and continuations in C++ based on Eric Niebler's talk at CppCon 2019.

  • Bulk

    A modern interface for implementing bulk-synchronous parallel programs.

  • cppRouting

    Algorithms for Routing and Solving the Traffic Assignment Problem

    Project mention: Using R to Cluster Points by Road Networks | reddit.com/r/Rlanguage | 2022-12-14

    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)

  • cudnnxx

    cuDNN C++ wrapper.

  • kmer-signatures

    High-performance kmer-signatures

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2023-03-08.

C++ parallel-computing related posts


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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives