C++ Scientific Computing

Open-source C++ projects categorized as Scientific Computing | Edit details
Related topics: #C++ #Python #CPP #HPC #Data Science

Top 23 C++ Scientific Computing Projects

  • mlpack

    mlpack: a scalable C++ machine learning library --

    Project mention: What is the most used library for AI in C++ ? | reddit.com/r/cpp_questions | 2022-01-23

    mlpack is a great library for machine learning in C++. It's very fast and not too much of a learning curve.

  • ArrayFire

    ArrayFire: a general purpose GPU library.

    Project mention: [D] Neural Networks using a generic GPU framework | reddit.com/r/MachineLearning | 2022-01-04

    Looking for frameworks with Julia + OpenCL I found array fire. It seems quite good, bonus points for rust bindings. I will keep looking for more, Julia completely fell off my radar.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • matplotplusplus

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

    Project mention: How can I create animation of mathematical function that changes over time in c++ and save it as video | reddit.com/r/cpp_questions | 2021-12-27
  • NumCpp

    C++ implementation of the Python Numpy library

    Project mention: Machine Learning using C++ vs Python | reddit.com/r/cpp_questions | 2021-12-27

    Yeah, as someone who writes C++ daily for their ML related job, I concur that the cost of executing a convolutions dwarves the overhead of calling from Python. So as much as I like C++ over Python (because static compilation to find little typos or type mismatches ahead of time is much nicer than exploding 5 minutes later into my batched vision recognition problem 😠), generally for small problems, Python is a nice quick and dirty approach. I do have my eye though on this little C++ numpy clone.

  • TileDB

    The Universal Storage Engine

    Project mention: TileDB VS Activeloop hub - a user suggested alternative | libhunt.com/r/TileDB | 2021-10-20
  • 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.

    Project mention: Ask HN: What is a cool technology to learn? | news.ycombinator.com | 2021-07-01

    Yeah, Prolog is pretty cool!

    Another technology I found interesting too learn is ITK (https://itk.org/). You need a different mindset using ITK than other image processing libraries.

    Lisp is cool as well.

    And fully homomorphic encryption.

  • 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.

    Project mention: Are there any optimization libraries/packages that use automatic differentiation? | reddit.com/r/optimization | 2021-11-04

    JuMP.jl (Julia) or casADi (Python) are good choices.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • mfem

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

    Project mention: Intact Solutions is hiring a Software Engineer | reddit.com/r/fea | 2021-08-31

    We currently have several solvers of our own, as well as interfacing with MPI capable solvers via mfem. We are currently a pre and post processor for several NASTRAN based solvers using our meshing free method.

  • Trilinos

    Primary repository for the Trilinos Project

  • VexCL

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

  • 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)

  • preCICE

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

    Project mention: Coupling Abaqus with external hydrodynamic code. | reddit.com/r/fea | 2021-12-23

    In addition to other answers, there is hype around preCICE so if Abaqus allows for a way of exchanging data during iterations, you could make a (public, thanks :) ) coupling adapter. And there is adapter for CalculiX that works with Abaqus INP specs.

  • ExprTK

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

    Project mention: library for solving equations from string? | reddit.com/r/cpp | 2021-10-08
  • espresso

    The ESPResSo package (by espressomd)

    Project mention: Cmake error | reddit.com/r/cmake | 2021-09-13

    With the addition of the build directory you created of course. I took this list from their repo. Be sure to download the sources before trying to build the project: https://github.com/espressomd/espresso

  • monolish

    monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture

    Project mention: [New linear algebra library] monolish: MONOlithic LIner equation Solvers for Highly-parallel architecture | reddit.com/r/computerscience | 2021-04-17
  • Units

    A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements (by LLNL)


    Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)

  • OpenSkyStacker

    Multi-platform stacker for deep-sky astrophotography.

    Project mention: You can send something to the Moon, for free! I'm creating a Lunar time capsule via Reddit - Sending up to 10mb of data to the Moon for up to 100,000 people! | reddit.com/r/space | 2021-01-25

    I'd like to contribute the source code for OpenSkyStacker, an astrophotography tool I made. I'm compressed it into a zip file that's 5MB:

  • nelson

    Nelson numerical interpreter

  • d-SEAMS

    The d-SEAMS C++ core engine

  • Blitz++

    Git mirror of Blitz++ at http://sourceforge.net/projects/blitz/ (by syntheticpp)

  • itpp

    IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions.

  • suanPan

    🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework

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-01-23.

C++ Scientific Computing related posts


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

Project Stars
1 mlpack 3,889
2 ArrayFire 3,716
3 matplotplusplus 2,481
4 NumCpp 2,113
5 TileDB 1,259
6 ITK 955
7 casadi 893
8 mfem 864
9 Trilinos 726
10 VexCL 652
11 Kratos 645
12 preCICE 373
13 ExprTK 361
14 espresso 145
15 monolish 138
16 Units 83
17 HELICS 76
18 OpenSkyStacker 69
19 nelson 38
20 d-SEAMS 19
21 Blitz++ 17
22 itpp 15
23 suanPan 13
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.