C++ Scientific Computing

Open-source C++ projects categorized as Scientific Computing
C++ CPP HPC Python Cpp17

Top 23 C++ Scientific Computing Projects

Scientific Computing
  1. mlpack

    mlpack: a fast, header-only C++ machine learning library

  2. Nutrient

    Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers. Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.

    Nutrient logo
  3. ArrayFire

    ArrayFire: a general purpose GPU library.

  4. matplotplusplus

    Matplot++: A C++ Graphics Library for Data Visualization 📊🗾

  5. FluidX3D

    The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs and CPUs via OpenCL. Free for non-commercial use.

    Project mention: FluidX3D | news.ycombinator.com | 2024-12-07
  6. NumCpp

    C++ implementation of the Python Numpy library

  7. thread-pool

    BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library

  8. TileDB

    The Universal Storage Engine

    Project mention: Ask HN: Who is hiring? (February 2025) | news.ycombinator.com | 2025-02-03

    TileDB, Inc. | Full-time | REMOTE | USA, Greece | https://tiledb.com/

    TileDB is the database designed for discovery, built to organize, structure, and analyze any data. Our solutions for single-cell and population genomics are used by major pharmaceutical companies and research institutes, and power large public data collections such as the Cellxgene Discover Census. We are actively hiring for several roles building our unified data catalog, scalable computation, and interactive analysis platform.

    - Infrastructure Engineer: Kubernetes, Terraform, Argo, Grafana, Prometheus, CloudWatch, GitOps; Golang, Python, C++, or Rust (GMT -8/+4).

    - Frontend/UI developer: Typescript, React; experience with high-performance/high-volume data and visualization applications. GMT -8/+1

    We are fully-remote, with optional co-working hubs in Cambridge, MA, New York, NY, and Athens, Greece. Apply today at https://ats.rippling.com/tiledb-careers/jobs or reach out directly (email in profile).

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. casadi

    CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.

  11. mfem

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

  12. ITK

    Insight Toolkit (ITK) -- Official Repository. ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.

  13. Trilinos

    Primary repository for the Trilinos Project

  14. 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)

  15. preCICE

    A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations.

  16. amgcl

    C++ library for solving large sparse linear systems with algebraic multigrid method

    Project mention: CuPy: NumPy and SciPy for GPU | news.ycombinator.com | 2024-09-20

    For my tasks, I had some success with algebraic multigrid solvers as preconditioner, for example from AMGCL or PyAMG. They are also reasonably easy to get started with.

    https://github.com/pyamg/pyamg

    https://github.com/ddemidov/amgcl

    But I only have to deal with positive definite systems, so YMMV.

    I am not sure whether those libraries can deal with multiple right-hand sides, but most complexity is in the preconditioners anyway.

  17. ExprTK

    C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html

  18. VexCL

    VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP

  19. amrex

    AMReX: Software Framework for Block Structured AMR

  20. avogadrolibs

    Avogadro libraries provide 3D rendering, visualization, analysis and data processing useful in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas.

  21. blitz

    Blitz++ Multi-Dimensional Array Library for C++ (by blitzpp)

  22. feelpp

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

  23. gdl

    GDL - GNU Data Language

  24. espresso

    The ESPResSo package (by espressomd)

  25. monolish

    monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture

  26. SaaSHub

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

    SaaSHub logo
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).

C++ Scientific Computing discussion

Log in or Post with

C++ Scientific Computing related posts

  • Profiling Specific Code Segments of Applications

    5 projects | dev.to | 5 Dec 2024
  • Forscape – A Language and Editor for Scientific Computation

    4 projects | news.ycombinator.com | 15 Oct 2024
  • LeanDojo: Theorem Proving in Lean Using LLMs

    2 projects | news.ycombinator.com | 28 Jul 2024
  • Why Wolfram uses square brackets for function calls

    1 project | /r/ProgrammingLanguages | 14 Jul 2023
  • What's the best way to get my language stress tested?

    2 projects | /r/ProgrammingLanguages | 1 May 2023
  • Nelson Numerical Software

    1 project | news.ycombinator.com | 15 Feb 2023
  • Word Processor from scratch WYSIWYG with Web Assembly

    1 project | /r/cpp_questions | 13 Feb 2023
  • A note from our sponsor - Nutrient
    www.nutrient.io | 14 Feb 2025
    Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries. Learn more →

Index

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

# Project Stars
1 mlpack 5,236
2 ArrayFire 4,621
3 matplotplusplus 4,418
4 FluidX3D 4,204
5 NumCpp 3,656
6 thread-pool 2,364
7 TileDB 1,895
8 casadi 1,822
9 mfem 1,794
10 ITK 1,465
11 Trilinos 1,238
12 Kratos 1,068
13 preCICE 778
14 amgcl 767
15 ExprTK 716
16 VexCL 706
17 amrex 573
18 avogadrolibs 506
19 blitz 411
20 feelpp 311
21 gdl 281
22 espresso 233
23 monolish 200

Sponsored
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io

Did you know that C++ is
the 7th most popular programming language
based on number of references?