Apollo is a distributed tuning framework for parallel applications. You instrument your code with the Apollo API, tell Apollo what the tuning options are, and Apollo recommends tuning options so that your code runs faster.
To contribute to Apollo please send a
pull request on the
develop
branch of this repo. Apollo follows Gitflow for managing development.
Apollo is currently developed by Giorgis Georgakoudis (georgakoudis1@llnl.gov) and other contributors.
Apollo was originally created by David Beckingsale, david@llnl.gov
If you are referencing Apollo in a publication, please cite this repo and the following papers:
- David Beckingsale and Olga Pearce and Ignacio Laguna and Todd Gamblin. Apollo: Reusable Models for Fast, Dynamic Tuning of Input-Dependent Code. In IEEE International Parallel & Distributed Processing Symposium (IPDPS'17), Orlando, FL, May 29-June 2 2017. LLNL-CONF-723337.
- Chad Wood and Giorgis Georgakoudis and David Beckingsale and David Poliakoff and Alfredo Giménez and Kevin A. Huck and Allen D. Mallony and Todd Gamblin. Artemis: Automatic Runtime Tuning of Parallel Execution Parameters Using Machine Learning. In In International Conference on High Performance Computing, pp. 453-472. Springer, Cham, 2021. LLNL-CONF-809192.
Apollo is distributed under the terms of both the MIT license. All new contributions must be made under the MIT license.
See LICENSE and NOTICE for details.
SPDX-License-Identifier: MIT
LLNL-CODE-733798