Korali

High-Performance Uncertainty Quantification, Optimization, and Reinforcement Learning

Korali is a high-performance framework for uncertainty quantification, optimization, and deep reinforcement learning. Its engine provides support for large-scale HPC systems and a multi-language interface compatible with distributed computational models.

Get Korali: Installation | Documentation | Github | Build Status

What Korali Does

Optimization

Gradient-free optimization algorithms that enable parallel sampling in HPC systems. Additionally, Korali implements many well-known gradient based optimization algorithms.

Bayesian Uncertainty Quantification

Bayesian inference methods for the inference computational models parameters and their associated uncertainty, based on experimental data. Additionally, it provides multiple likelihood models and prior distributions.

Deep Reinforcement Learning

Deep reinforcement learning algorithms for both discrete and continuous actions spaces. Multiple agents can run in parallel, distributed across different nodes.

Design Principles

High-Performance

The work distribution engine is optimized to fully harness computational resources of large-scale supercomputers, maximizing throughput and minimizing workload imbalance. Furthermore, Korali supports the execution of parallel (OpenMP, Pthreads), distributed (MPI, UPC++), and GPU-based (CUDA) models.

Fault Tolerance

Experiments store their internal state regularly, allowing them to be resumed later in case of errors. The result of a resumed experiment is guaranteed to be exactly the same as one in a single run.

Extensible Engine

The framework is open-source, modular and extensible. Developers can integrate and test new modules which will automatically benefit from its parallel engine and fault-tolerance without additional effort.

Multi-Language Support

The API is compatible with C/C++/Fortran and Python models. Additionally, the engine can sample from pre-compiled computational models.


Publications

Journal / Conference / arXiv Papers

Please use the following article to cite Korali:

Publications that used Korali

Talks, Posters and Lectures


Contact us

Development Team

Collaborators

Principal Investigator

Affiliations