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

  • Project mention: How much C++ is used when it comes to performing quant research? | /r/quant | 2023-07-03

    Does C++ have the equivalent of Pandas or Apache Spark? Are there extensive libraries that exist/are being developed that allow you to perform operations with data? Or do people just use a combination of Python & its various libraries (NumPy etc)? If we leave aside the data bit, are there libraries that allow you to develop ML models in C++ (mlpack for instance ) faster & more efficiently compared to their Python counterparts (scikit-learn)? On a more general note, how does C++ fit into the routine of a Quant Researcher? And at what scale does an organization decide they need to start switching to other languages and spend more time developing the code ?

  • ArrayFire

    ArrayFire: a general purpose GPU library.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • matplotplusplus

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

  • Project mention: Creating k-NN with C++ (from Scratch) | dev.to | 2024-01-11

    cmake_minimum_required(VERSION 3.5) project(knn_cpp CXX) # Set up C++ version and properties include(CheckIncludeFileCXX) check_include_file_cxx(any HAS_ANY) check_include_file_cxx(string_view HAS_STRING_VIEW) check_include_file_cxx(coroutine HAS_COROUTINE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_BUILD_TYPE Debug) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Copy data file to build directory file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/iris.data DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) # Download library usinng FetchContent include(FetchContent) FetchContent_Declare(matplotplusplus GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus GIT_TAG origin/master) FetchContent_GetProperties(matplotplusplus) if(NOT matplotplusplus_POPULATED) FetchContent_Populate(matplotplusplus) add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL) endif() FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 7.1.3 # Adjust the version as needed ) FetchContent_MakeAvailable(fmt) # Add executable and link project libraries and folders add_executable(${PROJECT_NAME} main.cc) target_link_libraries(${PROJECT_NAME} PUBLIC matplot fmt::fmt) aux_source_directory(lib LIB_SRC) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_sources(${PROJECT_NAME} PRIVATE ${LIB_SRC}) add_subdirectory(tests)

  • NumCpp

    C++ implementation of the Python Numpy library

  • FluidX3D

    The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.

  • Project mention: FluidX3D | news.ycombinator.com | 2024-03-24
  • thread-pool

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

  • TileDB

    The Universal Storage Engine

  • Project mention: Ask HN: Who is hiring? (May 2024) | news.ycombinator.com | 2024-05-01

    TileDB, Inc. | Full-Time | REMOTE | USA, Greece/EU | [https://tiledb.com](https://tiledb.com/)

    TileDB has recently announced a $34 million Series B fund-raise and is actively hiring for engineers across a range of roles (SRE, backend/distributed systems, database internals, and more). You will have the opportunity to work on innovative technology that creates impact for challenging problems in genomics, geospatial, machine learning, distributed systems, and many other areas.

    TileDB Cloud is the modern database, allowing developers and scientists to capture, analyze, and share any data with any tool. We build on a broad foundation of open source, maintaining the TileDB storage engine, libraries for genomics (single-cell and population), geospatial (raster, point clouds, and more), a TileDB visualization engine extending Babylon.js, and much more ([github.com/TileDB-Inc/TileDB](http://github.com/TileDB-Inc/TileDB))

    With TileDB, all data — tables, genomics, images, videos, location, time-series — is captured as multi-dimensional arrays. To supercharge this data, TileDB Cloud implements a serverless infrastructure delivering query execution, access control, data and code sharing, and distributed computing at global scale — eliminating cluster management, minimizing TCO, and promoting scientific collaboration and reproducibility.

    Website: [https://tiledb.com](https://tiledb.com/) | GitHub: https://github.com/TileDB-Inc/TileDB | Blog: https://tiledb.com/blog

    We are actively hiring for several roles including:

    - Site Reliability Engineer (k8s, Terraform, automation, Prometheus, CloudWatch, GitOps; Golang, Python)

  • SaaSHub

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

    SaaSHub logo
  • 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: pyomo VS casadi - a user suggested alternative | libhunt.com/r/pyomo | 2023-09-05

    Interface for several solvers and integrators.

  • mfem

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

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

  • Trilinos

    Primary repository for the Trilinos Project

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

  • amgcl

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

  • VexCL

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

  • 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

  • avogadrolibs

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

  • blitz

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

  • feelpp

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

  • gdl

    GDL - GNU Data Language

  • 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

  • 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 related posts

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

    1 project | /r/todayilearned | 26 Jan 2023
  • A simple problem that isn't

    3 projects | /r/programming | 5 Jan 2023
  • Software component names should be whimsical and cryptic

    2 projects | news.ycombinator.com | 13 Sep 2022
  • A note from our sponsor - SaaSHub
    www.saashub.com | 18 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →


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

Project Stars
1 mlpack 4,838
2 ArrayFire 4,425
3 matplotplusplus 3,965
4 NumCpp 3,392
5 FluidX3D 3,227
6 thread-pool 1,961
7 TileDB 1,774
8 casadi 1,566
9 mfem 1,560
10 ITK 1,343
11 Trilinos 1,160
12 Kratos 968
13 amgcl 705
14 VexCL 695
15 preCICE 682
16 ExprTK 583
17 avogadrolibs 410
18 blitz 398
19 feelpp 293
20 gdl 265
21 espresso 219
22 monolish 190
23 volesti 140

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