Skip to content

IBM/ado

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

486 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Introduction

DOI

This is the repository for the accelerated discovery orchestrator (ado).

ado is a Python platform for designing experiment campaigns and executing them at scale. Built to address recurring challenges in research software development, ado empowers distributed teams of researchers and engineers to seamlessly collaborate, execute experiments, and share data.

You can extend ado across different domains through its lightweight plugin model-often as simple as decorating a Python function. By integrating your methodology, you gain powerful cross-cutting capabilities—such as parallel execution, data provenance, and a unified CLI—alongside a structured foundation that allows AI coding agents to autonomously formulate and run your experiments.

🧑‍💻 Using ado assumes familiarity with command line tools.

🛠️ Developing ado requires knowledge of python.

Key Features

Foundation Model Experimentation

We have developed ado plugins providing advanced capabilities for performance testing of foundation-models:

Requirements

A basic installation of ado only requires a recent Python version (3.10 to 3.13). This will allow you to run many of our examples and explore ado features.

Additional Requirements

Some advanced features have additional requirements:

  • Distributed Projects (Optional): To support projects with multiple users you will need a remote, accessible, MySQL database. See here for more
  • Multi-Node Execution (Optional): To support multi-node or scaling execution you may need a multi-node RayCluster. See here for more details

In addition ado plugins may have additional requirements for executing realistic experiments. For example,

  • Fine-Tuning Benchmarking: Requires a RayCluster with GPUs
  • vLLM Performance Benchmarking: Requires an OpenShift cluster with GPUs

Install

To install you can execute the following (we recommend you set up a virtual environment)

git clone https://github.com/IBM/ado.git
cd ado
pip install .

Alternate instructions to install ado can be found here: https://ibm.github.io/ado/getting-started/install/

Development

Instructions for developing ado are available in DEVELOPING.

Testing

To run unit-tests read tests/README.md.

Example

This video shows listing actuators and getting the details of an experiment.

Check demo for more videos.

step1_trimmed.mp4

Citation

For an overview of the design and architecture of ado, see our Journal of Open Source Software paper.

If ado has been helpful in your research, please cite us using:

@article{Johnston_ado_a_Python_2026,
author = {Johnston, Michael A. and Pomponio, Alessandro},
doi = {10.21105/joss.10304},
journal = {Journal of Open Source Software},
month = may,
number = {121},
pages = {10304},
title = {{ado: a Python framework for computational experimentation and benchmarking}},
url = {https://joss.theoj.org/papers/10.21105/joss.10304},
volume = {11},
year = {2026}
}

You can also click "Cite this repository" in the GitHub sidebar for alternative formats like APA.

Acknowledgement

This project is partially funded by the European Union through the Smart Networks and Services Joint Undertaking (SNS JU) under grant agreement No. 101192750 (Project 6G-DALI).

Packages

 
 
 

Contributors

Languages