{"id":32139444,"url":"https://github.com/codarcode/cheetah","last_synced_at":"2026-02-18T22:01:33.737Z","repository":{"id":18116052,"uuid":"81970837","full_name":"CODARcode/cheetah","owner":"CODARcode","description":"CODAR Experiment Harness","archived":false,"fork":false,"pushed_at":"2023-10-12T15:43:27.000Z","size":80850,"stargazers_count":7,"open_issues_count":54,"forks_count":6,"subscribers_count":8,"default_branch":"dev","last_synced_at":"2025-12-07T03:55:45.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CODARcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-14T17:25:29.000Z","updated_at":"2022-02-03T20:55:32.000Z","dependencies_parsed_at":"2022-08-18T11:33:40.336Z","dependency_job_id":null,"html_url":"https://github.com/CODARcode/cheetah","commit_stats":{"total_commits":910,"total_committers":14,"mean_commits":65.0,"dds":0.6758241758241759,"last_synced_commit":"d8ab8d28164e971fa104f82b723e132655169d3b"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/CODARcode/cheetah","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CODARcode%2Fcheetah","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CODARcode%2Fcheetah/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CODARcode%2Fcheetah/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CODARcode%2Fcheetah/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CODARcode","download_url":"https://codeload.github.com/CODARcode/cheetah/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CODARcode%2Fcheetah/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29596329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T20:59:56.587Z","status":"ssl_error","status_checked_at":"2026-02-18T20:58:41.434Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-21T05:47:59.480Z","updated_at":"2026-02-18T22:01:33.722Z","avatar_url":"https://github.com/CODARcode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nCheetah - An Experiment Harness and Campaign Management System\n==============================================================\n\nOverview\n--------\n\nCheetah is an experiment harness for running codesign experiments to study the effects of online data analysis at the exascale. It provides a way to run large campaigns of experiments to understand the advantages and tradeoffs of different compression and reduction algorithms run using different orchestration mechanisms. Experiments can be run to analyze data offline, in situ (via a function that is part of the application), or online (in a separate, stand-alone application). The workflow may be composed so that different executables reside on separate nodes, or share compute nodes, in addition to fine-tuning the number of processes per node.\n\nUsers create a campaign specification file in Python that describes the applications that form the workflow, and the parameters that they are interested in exploring. Cheetah creates the campaign endpoint on the target machine, and users can then launch experiments using the generated submission script.\n\nCheetah's runtime framework, **Savanna**, translates experiment metadata into scheduler calls for the underlying system and manages the allocated resources for running experiments. Savanna contains *definitions* for different supercomputers; based upon this information about the target machine, Savanna uses the appropriate scheduler interface (*aprun*, *jsrun*, *slurm*) and the corresponding scheduler options to launch experiments.\n\nCheetah is centered around [ADIOS](https://adios2.readthedocs.io/en/latest/index.html), a middleware library that provides an I/O framework along with a publish-subscribe API for exchanging data in memory. Typically, all ADIOS-specific settings are set in an XML file that is read by the application. Cheetah provides an interface to edit ADIOS XML files to tune I/O options.\n\n\nInstallation\n------------\n* Dependency: Linux, Python 3.5+, psutil\n* On supercomputers it should be installed at a location accessible from the parallel file system\n* Cheetah can be installed via the Spack package manager as `spack install codar-cheetah@develop`.\n* Users can also download Cheetah and set the PATH:\n\n  ```bash\n  git clone git@github.com:CODARcode/cheetah.git\n  cd cheetah          \n  python3 -m venv venv-cheetah\n  source venv-cheetah/bin/activate\n  pip install --editable .\n  ```\n* Cheetah has been tested on Summit (ORNL), Andes (ORNL), Theta (ANL), Cori (LBNL), and standalone Linux computers\n\n##### Setting up a Cheetah environment\n   ```bash\n   source \u003ccheetah dir\u003e/venv-cheetah/bin/activate\n   ```\n\nDocumentation\n-------------\nThe recommended start is to go through the [Cheetah Tutorial](https://github.com/CODARcode/cheetah/blob/dev/docs/Tutorials/Cheetah-Tutorial-ECP-AM-2020.pptx) under docs/Tutorials.    \nThe Cheetah documentation can be found at [https://codarcode.github.io/cheetah](https://codarcode.github.io/cheetah/index).\n\nReleases\n--------\nThe current release is [1.1.3](https://github.com/CODARcode/cheetah/releases/tag/v1.1.3).\n\n### Supported Systems\nSystem Name | Cheetah Support | System supports Node-Sharing | Cheetah Node-Sharing Support \n:-----------| :---------------| :----------------------------| :---------------------------\nLocal Linux machines | :white_check_mark: | N/A | N/A\nFrontier (ORNL) | :white_check_mark: | -- | --\nPerlmutter (NERSC) | :white_check_mark: | -- | --\nSummit (ORNL) | :white_check_mark: | :white_check_mark: | :white_check_mark:\nAndes (ORNL) | :white_check_mark: | :x: | :x:\nSpock (ORNL) | :white_check_mark: | -- | --\nTheta (ANL) | :white_check_mark: | :x: | N/A\nCori (LBNL) | :white_check_mark: | :white_check_mark: | In progress\n\nAuthors\n-------\nThe primary authors of Cheetah are Kshitij Mehta (ORNL) and Bryce Allen (University of Chicago).\nAll contributors are listed [here](https://github.com/CODARcode/cheetah/graphs/contributors).\n\nCiting Cheetah\n--------------\nTo refer to Cheetah in a publication, please cite the following paper:\n\n* Mehta, Kshitij, Allen, Bryce, Wolf, Matthew, Logan, Jeremy, Suchyta, Eric, Singhal, Swati, Choi, Jong Youl, Takahashi, Keichi, Huck, Kevin, Yakushin, Igor, Sussman, Alan, Munson, Todd, Foster, Ian, and Klasky, Scott.  \n\"A codesign framework for online data analysis and reduction\"  \nJournal: Concurrency and Computation: Practice and Experience  \nhttps://doi.org/10.1002/cpe.6519.\n\nOther paper:\n* K. Mehta et al., \"A Codesign Framework for Online Data Analysis and Reduction,\" 2019 IEEE/ACM Workflows in Support of Large-Scale Science (WORKS), Denver, CO, USA, 2019, pp. 11-20.  \ndoi: 10.1109/WORKS49585.2019.00007  \nURL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=\u0026arnumber=8943548\u0026isnumber=8943488\n\nExamples\n--------\nFor more examples of using Cheetah, see the examples directory.\n\n  - [Calculating Euler's number](https://github.com/CODARcode/cheetah/tree/master/examples/01-eulers_number)\n  - [Using Cheetah to run coupled applications](https://github.com/CODARcode/cheetah/tree/master/examples/02-coupling)\n  - [Brusselator](https://github.com/CODARcode/cheetah/tree/master/examples/03-brusselator)\n  - [The Gray-Scott Reaction-Diffusion Benchmark](https://github.com/CODARcode/cheetah/tree/master/examples/04-gray-scott)\n  - [Gray-Scott with compression, Z-Checker and FTK](https://github.com/CODARcode/cheetah/tree/master/examples/05-gray-scott-compression)\n\nContributing\n------------\nCheetah is open source and we invite the community to collaborate. Create a pull-request to add your changes to the `dev` branch.\n\nReporting Bugs\n--------------\nPlease open an issue on the [github issues](https://github.com/CODARcode/cheetah/issues) page to report a bug.\n\nLicense\n-------\nCheetah is licensed under the Apache License v2.0.\nSee the accompanying [Copyright.txt](Copyright.txt) for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodarcode%2Fcheetah","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodarcode%2Fcheetah","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodarcode%2Fcheetah/lists"}