Introducing a new generation adaptive optics simulation framework: from PASSATA to SPECULA

Read full text
Authors: Fabio Mario Rossi, Alfio Timothy Puglisi, Guido Agapito
Cited by: 0

Abstract

Numerical end-to-end simulation in adaptive optics (AO) is a key tool in the development of complex systems, from the initial design to the commissioning phase. Based on our previous experience with PASSATA, we decided to develop a new AO simulation framework in the Python language, naming it short for: scalable parallel execution of computations upscaling large adaptive optics simulations (SPECULA). Following an object-oriented approach, the physical entities are modeled as processing objects connected to each other to exchange data objects. A simulation is run by providing its description instead of writing and executing a specific script. The Python language and its library flexibility allowed us to write a single code that can be run on computing architectures based on both classical central processing units (CPUs) or modern graphics processing units (GPUs). We put a strong focus on computational efficiency, relying on CuPy and its interface to access the CUDA-stream mechanism. Moreover, SPECULA is capable of distributed computations across multiple processing nodes, making it suitable for running in an HPC environment as demonstrated on the Italian supercomputer Leonardo. SPECULA can also be used in a laboratory environment to implement a hybrid simulation, allowing us to interface simulated and concrete objects: this feature was demonstrated in the adaptive optics laboratories at Arcetri Observatory. We describe the main characteristics of SPECULA, show some relevant examples of its use, and finally draw our goals for the future.

Fields of Study & Subjects

Adaptive optics and wavefront sensing Advanced X-ray Imaging Techniques Advanced optical system design

Publication details

Journal / source
Journal of Astronomical Telescopes Instruments and Systems
Volume
12
Issue
01
Pages
1–23
Publication date
6 January 2026