Become a sponsor to SciML Open Source Scientific Machine Learning
SciML is an open source software organization created to unify the packages for scientific machine learning. This includes the development of modular scientific simulation support software, such as differential equation solvers, along with the methodologies for inverse problems and automated model discovery. By providing a diverse set of tools with a common interface, we provide a modular, easily-extendable, and highly performant ecosystem for handling a wide variety of scientific simulations.
Sponsorships to the SciML project help pay for maintaining community infrastructure, funding small projects, and paying for CI resources and GPUs, which we are always short on.
Core Components
High Performance and Feature-Filled Differential Equation Solving. The library DifferentialEquations.jl is a library for solving ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and hybrid differential equations which include multi-scale models and mixtures with agent-based simulations. The templated implementation allows arbitrary array and number types to be compatible, giving compatibility with arbitrary precision floating point numbers, GPU-based computations, unit-checked arithmetic, and other features. DifferentialEquations.jl is designed for both high performance on large-scale and small-scale problems, and routinely benchmarks at the top of the pack.
Physics-Informed Model Discovery and Learning. SciML contains a litany of modules for automating the process of model discovery and fitting. Tools like DiffEqParamEstim.jl and DiffEqBayes.jl provide classical maximum likelihood and Bayesian estimation for differential equation based models, while DiffEqFlux.jl enables the training of embedded neural networks inside of differential equations (neural differential equations or universal differential equations) for discovering unknown dynamical equations, DataDrivenDiffEq.jl estimates Koopman operators (DMD) and utilizes methods like SInDy to turn timeseries data into LaTeX for driving differential equations, and ReservoirComputing.jl for Echo State Networks that learn to predict the dynamics of chaotic systems.
A Polyglot Userbase. While the majority of the tooling for SciML is built using the Julia programming language, SciML is committed to ensure that these methodologies can be used throughout the greater scientific community. Tools like diffeqpy and diffeqr bridge the DifferentialEquations.jl solvers to Python and R respectively, and we hope to see many more developments along these lines in the near future.
Compiler-Assisted Model Analysis and Sparsity Acceleration. Scientific models generally have structures like locality which leads to sparsity in the program structures that can be exploited for major performance acceleration. The SciML builds a set of interconnected tools for generating numerical solver code directly on the models that are being simulated. SparsityDetection.jl can automatically detect the sparsity patterns of Jacobians and Hessians from arbitrary source code, while ModelingToolkit.jl can rewrite differential equation models to re-arrange equations for better stability and automatically parallelize code. These tools then connect with affiliated packages like SparseDiffTools.jl to accelerate solving with DifferentialEquations.jl and training with DiffEqFlux.jl.
ML-Assisted Tooling for Model Acceleration. SciML supports the development of the latest ML-accelerated toolsets for scientific machine learning. Methods like Physics-Informed Neural Networks (PINNs) and Deep BSDE methods for solving 1000 dimensional partial differential equations are productionized in the NeuralPDE.jl library. Surrogate-based acceleration methods are provided by Surrogates.jl.
Differentiable Scientific Data Structures and Simulators. The SciML ecosystem contains pre-built scientific simulation tools along with data structures for accelerating the development of models. Tools like LabelledArrays.jl and MultiScaleArrays.jl make it easy to build large-scale scientific models, while other tools like NBodySimulator.jl provide full-scale simulation simulators.
Tools for Accelerated Algorithm Development and Research. SciML is an organization dedicated to helping state-of-the-art research in both numerical simulation methods and methodologies in scientific machine learning. Many tools throughout the organization automate the process of benchmarking and testing new methodologies to ensure they are safe and battle tested, both to accelerate the translation of the methods to publications and to users. We invite the larger research community to make use of our tooling like DiffEqDevTools.jl and our large suite of wrapped algorithms for quickly test and deploying new algorithms.
Meet the team
-
Christopher Rackauckas ChrisRackauckasApplied Mathematics Instructor at MIT, researching numerical differential equations and their applications to scientific machine learning (SciML)
-
David Widmann devmotionProduct engineer @PumasAI. Mathematician. Physician.
Featured work
-
SciML/DifferentialEquations.jl
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equatโฆ
Julia 2,871 -
SciML/DiffEqFlux.jl
Pre-built implicit layer architectures with O(1) backprop, GPUs, and stiff+non-stiff DE solvers, demonstrating scientific machine learning (SciML) and physics-informed machine learning methods
Julia 871 -
SciML/ModelingToolkit.jl
An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning aโฆ
Julia 1,430 -
SciML/NeuralPDE.jl
Physics-Informed Neural Networks (PINN) Solvers of (Partial) Differential Equations for Scientific Machine Learning (SciML) accelerated simulation
Julia 995 -
SciML/Catalyst.jl
Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software.
Julia 463 -
SciML/Surrogates.jl
Surrogate modeling and optimization for scientific machine learning (SciML)
Julia 335
$5 a month
SelectWe really appreciate your help. Your donation will help fund student programs. You will receive a Sponsor badge ๐ on your profile.
$25 a month
SelectA wonderful way to help! Your donation will help fund student programs and help hire devops personnel to help run the infrastructure. You will receive a Sponsor badge ๐ on your profile.
$100 a month
SelectYou are making a big difference. Your donation will directly fund student programs and project-based grants each year. You will receive a Sponsor badge ๐ on your profile.
$500 a month
SelectYou are an open source superhero. Your donation will directly fund a developer each year for a development sprint! You will receive a Sponsor badge ๐ on your profile.
You get to do a video call with Chris Rackauckas and the team once a year.
$5,000 a month
SelectYou are an open source superhero. Your donation can fund travel, student developers, and organization for a development sprint. You will receive a Sponsor badge ๐ on your profile, and we will publicly acknowledge you as a JuliaCon sponsor.
You get to do a video call with Chris Rackauckas and the team once a quarter. Chris will also fly to anywhere in the US and have lunch with you once a year.