The compute and control for adaptive optics (CACAO) real-time control software package

Olivier Guyon, Arnaud Sevin, Hatem Ltaief, Nour Skaf, Frantz Martinache, Damien Gratadour, Sylvain Cetre, Jared R. Males, Julien Lozi, Christophe S. Clergeon, Julien Bernard, Barnaby Norris, Alison Wong, Dalal E. Sukkari

Research output: Chapter in Book/Report/Conference proceedingConference contribution

28 Scopus citations


The compute and control for adaptive optics (cacao) package is an open-source modular software environment for real-time control of modern adaptive optics system. By leveraging many-core CPU and GPU hardware, it can scale up to meet the demanding computing requirements of current and future high frame rate, high actuator count adaptive optics (AO) systems. cacao's modular design enables both simple/barebone operation, and complex full-featured AO control systems. cacao's design is centered on data streams that hold real-time data in shared memory along with a synchronization mechanism for computing processes. Users and programmers can add additional features by coding modules that interact with cacao's data stream format. We describe cacao's architecture and its design approach. We show that accurate timing knowledge is key to many of cacao's advanced operation modes. We discuss current and future development priorities, including support for machine learning to provide real-time optimization of complex AO systems.
Original languageEnglish (US)
Title of host publicationAdaptive Optics Systems VI
PublisherSPIE-Intl Soc Optical Eng
ISBN (Print)9781510619593
StatePublished - Jul 11 2018

Bibliographical note

KAUST Repository Item: Exported on 2020-10-01
Acknowledgements: Developers of the cacao software package receive funding from the National Science Foundation (MagAO-X project), the Japanese Society for the Promotion of Science (SCExAO project), the Japanese NINS Astrobiology Center, and the European Union (project Green Flash).


Dive into the research topics of 'The compute and control for adaptive optics (CACAO) real-time control software package'. Together they form a unique fingerprint.

Cite this