1 unstable release

0.1.0 Dec 17, 2021

#8 in #optics

MIT license

6MB
8K SLoC

CUDA 2.5K SLoC // 0.0% comments Objective-C 2.5K SLoC Python 2K SLoC // 0.2% comments C 687 SLoC // 0.1% comments VB6 137 SLoC C++ 67 SLoC // 0.2% comments Rust 10 SLoC Cython 7 SLoC

Contains (ELF exe/lib, 620KB) atmosphere/atmosphere.o, (ELF exe/lib, 350KB) aaStats/aaStats.o, (ELF exe/lib, 470KB) gmtMirrors/gmtMirrors.o, (ELF exe/lib, 395KB) imaging/imaging.o, (ELF exe/lib, 455KB) rayTracing/rayTracing.o, (ELF exe/lib, 320KB) segmentPistonSensor.o and 12 more.

Cuda Engined Optics

Cuda Engined Optics or CEO is a CUDA library for the modeling of Adaptive Optics (AO) systems in Astronomy.

CEO consists of a C++ API that hides most of the CUDA API. The CEO API can then be used to build AO simulations.

A CEO python interface has also been developed and is usually the preferred way to interact with CEO functionalities. This high level interface has been written with Cython to preserve speed.

All the code has been written following the literate programming methodology. This means that the code and the associated documentation are tangled together in a few source files. CEO relies on noweb to extract the code from the source files and to build the corresponding Latex documentation.

CEO can be downloaded from https://github.com/rconan/CEO. The C++ API is compiled with make all, the Python interface with make cython and the code documentation with make doc.

No runtime deps