C++ Scientific Computing

Open-source C++ projects categorized as Scientific Computing

Top 23 C++ Scientific Computing Projects

  • mlpack

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

  • ArrayFire

    ArrayFire: a general purpose GPU library.

    Project mention: seeking C++ library for neural net inference, with cross platform GPU support | reddit.com/r/Cplusplus | 2022-09-12

    What about Arrayfire. https://github.com/arrayfire/arrayfire

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

  • matplotplusplus

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

    Project mention: Best Library to Visualize Mathematical Concepts | reddit.com/r/cpp_questions | 2023-03-02

    The best way to visualize most mathematical concepts is by plotting a 2D graph. To do that you can use e.g. Matplot++

  • NumCpp

    C++ implementation of the Python Numpy library

  • TileDB

    The Universal Storage Engine

    Project mention: Ask HN: Who is hiring? (December 2022) | news.ycombinator.com | 2022-12-01

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

    TileDB transforms the lives of analytics professionals and data scientists with a universal database, allowing them to access, analyze, and share any data with any tool at global scale. TileDB unifies the way we think about data, delivering superior performance and foundational data management capabilities. All data — tables, genomics, images, videos, location, time-series — across multiple domains is captured as multi-dimensional arrays. TileDB offers extreme interoperability via numerous APIs and tool integrations across the data science ecosystem, eliminating the hassles and inefficiencies of data conversion. TileDB Cloud implements a totally serverless infrastructure and delivers access control, easier data and code sharing and distributed computing at global scale, eliminating cluster management, minimizing TCO and promoting scientific collaboration and reproducibility.

    TileDB, Inc. was spun out of MIT and Intel Labs in May 2017 and is backed by Two Bear Capital, Nexus Venture Partners, Uncorrelated Ventures, Intel Capital and Big Pi.

    Recent HN article: https://news.ycombinator.com/item?id=23896131

    Website: https://tiledb.com

    GitHub: https://github.com/TileDB-Inc/TileDB

    Docs: https://docs.tiledb.com

    Blog: https://tiledb.com/blog

    Our headquarters are located in Cambridge, MA and we have a subsidiary in Athens, Greece. We offer the ability to work remotely. If you are located outside of the USA and Greece we have options to accommodate this, don't hesitate to apply!

    We have several open positions aimed at increasing TileDB’s feature set, growth and adoption. You will have the opportunity to work on innovative technology that creates impact on challenging and exciting problems in Genomics, Geospatial, Time Series, and more. Immediate features on the roadmap for TileDB Cloud include, advanced distributed computations, advanced computation pushdown, improved multi-cloud deployments and more.

    We are actively seeking:

    - Senior Golang Engineer

    - Senior Python Engineer

    - Site Reliability Engineer

    - React Frontend Engineer

    Apply today at https://tiledb.workable.com !

  • thread-pool

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

    Project mention: Learn performance improvement | reddit.com/r/cpp_questions | 2023-03-22
  • 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: (Direct) Collocation in (Time) Optimal Control | reddit.com/r/ControlTheory | 2022-12-09

    Howdy! Collocation methods can be... tricky. For NMPC control of vehicles, success has been had using direct multiple shooting. Also easier to implement and more intuitive. In fact, this example from the GH is pretty instructive: https://github.com/casadi/casadi/blob/master/docs/examples/python/race_car.py

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

  • 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: Create Elegant C++ Spatial Processing Pipelines in WebAssembly | dev.to | 2023-02-10

    The itkImage.h header is ITK's standard n-dimensional image data structure.

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

    Primary repository for the Trilinos Project

    Project mention: Software component names should be whimsical and cryptic | news.ycombinator.com | 2022-09-13

    If you want to see this line of thinking taken a bit too far, check out the list of Trilinos packages on github: https://github.com/trilinos/Trilinos/tree/master/packages

    It definitely makes things much less accessible to a newcomer / outsider.

    (Trilinos is a set of scientific / engineering libraries for HPC)

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

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

  • amgcl

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

    Project mention: Ask HN: My process only gets scheduled on M1 efficiency cores | news.ycombinator.com | 2022-04-19
  • preCICE

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

  • ExprTK

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

    Project mention: A Cpp library to evaluate mathematical literal expressions dynamically | reddit.com/r/cpp_questions | 2023-02-09

    I have found many libraries that can evaluate mathematical expressions, e.g. this one: https://www.partow.net/programming/exprtk/index.html

  • blitz

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

  • avogadrolibs

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

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

    GDL - GNU Data Language

    Project mention: GDL: GNU Data Language | reddit.com/r/programming | 2022-05-15
  • espresso

    The ESPResSo package (by espressomd)

  • monolish

    monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture

  • volesti

    Practical volume computation and sampling in high dimensions

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

    Project mention: TIL the USA was supposed to adopt the metric system but the ship carrying the standardized meter and kilogram was hijacked by pirates in 1793 and the measurements never made it to the States | reddit.com/r/todayilearned | 2023-01-26

    Yes I would download this code

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

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 4,331
2 ArrayFire 4,089
3 matplotplusplus 3,182
4 NumCpp 2,841
5 TileDB 1,487
6 thread-pool 1,274
7 casadi 1,187
8 ITK 1,176
9 mfem 1,162
10 Trilinos 857
11 Kratos 800
12 VexCL 688
13 amgcl 601
14 preCICE 522
15 ExprTK 464
16 blitz 356
17 avogadrolibs 300
18 feelpp 264
19 gdl 236
20 espresso 184
21 monolish 179
22 volesti 122
23 Units 116
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives