Release of v5.1.1

COMPASS v5.1.1 release notes:

  • New class ParamConfig to handle parameters configuration : supervisor constructor requires an instance of it now
  • Multi GPU controller generic improvements
  • Standalone RTC debug + pytests
  • Add leaky factor in the generic controller
  • Add CLOSE algorithm implementation
  • Multi controllers support in the supervisor
  • Sub-pixels move for phase screens
  • GuARDIANS package updated
  • Code documentation update

Report bugs and issues on this page

Plan for COMPASS

We want to share with you our view of COMPASS roadmap after today’s release of v5.1.0. If COMPASS is efficient as of today, we also want to make it easier to use and to contribute for. We are aware of the current software architecture may be a bit complex with all those layers (Python, C++, CUDA) : we are looking for the API provided by NVIDIA and third party libraries like CuPy to simplify the code, and maybe converging into a full Python stack while keeping the performance as high as today and even better. An other important point for the future of COMPASS is portability : today, we fully rely on CUDA, and we want to make COMPASS compatible with any hardware. We aim to provide some kind of abstraction layers which will make the hardware implementation transparent for the code, and so make as easy as possible COMPASS portability on any platform. [Read More]


Just for information, COMPASS can run under WSL.

follow this tutorial: CUDA on WSL :: CUDA Toolkit Documentation

Some important points:

  • you must register in the Microsoft Windows Insider Program in the dev channel in order to have a build version 20145 or higher
  • Install the nvidia CUDA on WSL driver
  • Install the cuda-toolkit-11-1 instead of the cuda-toolkit-11-0
  • Do not choose the cuda, cuda-11-1, or cuda-drivers meta-packages under WSL 2

Afterwards, it’s quite easy.

For the X11, you have to install Xming

Important points:

  • Windows Terminal is pretty cool application
  • in wsl’s .bashrc, add:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0

For COMPASS itself: COMPASS installation

Release of v5.0.0

The goal of this release is to improve the code quality. This is a major (and disruptive) update, there are changes in most supervisor codes : scripts need to be updated according to these changes. This is an on-going work in the rc branch of the COMPASS GitLab. This note will try to summarize all the major changes PEP 8 naming convention Basicaly, it can be summurised like this: class name = CamelCase function and variable names = snake_case For example: class MyBeautifulClass: def my_favorite_function(self, my_variable_with_explicit_name): """ snake_case for functions and variable name Explicit names are required : avoid single letter variable for example """ All names must be explicit, even for temporary variable : avoid single letter variable, acronym, and so on…. It has been already applied to all supervisor classes. For example, applyVoltGetSlopes became apply_volt_and_get_slopes Then, all the function written in camel case has changed, so the scripts which were using it must be adapted also. [Read More]

Release of v4.4.1

  • handle different shape for raw images and cal images (using the LUT feature)
  • possibility to attach a stream to centroiders
  • opimization of pyramid HR wfs
  • debug do_centroids_ref method
  • debug init_custom_dm method
  • add requirements*.txt file to install python dependencies
  • add Jenkinsfile
  • update Doxyfile script and documentation rst
  • generate gcov trace in debug

Report bugs and issues on this page

Release of v4.4.0

  • Debug issue with Kepler architecture
  • Multi GPU controller reworked
  • Update pages-doc
  • Add useful keyworks inrtc_cacao loopframe
  • Add reset_coms function insutra_controller
  • Update Jenkinsfile

Report bugs and issues on this page

Release of v4.3.2

  • Support for controller delay > 2.0
  • Multi-GPU controller
  • Debug FP16 feature
  • Debug 2matrices mode of generic controller
  • Minor debug

Report bugs and issues on this page

Release of v4.3.1

  • Add spider rotation and circular obstruction for ELT-like pupils
  • New feature : image with the selected pixels of the maskedpix centroider
  • Debug maskedpix to divide the image by the mean value of the pixels instead of the sum
  • Fix maskedpix get_type method
  • Add cone effect for the altitude conjugated DM in case of LGS WFS

Report bugs and issues on this page

Release of v4.3.0

  • change license to GNU LGPL-v3
  • add Turing support
  • add DM registration feature
  • add AoSupervisor class on top of CompassSupervisor and BenchSupervisor
  • SH WFS can handle big subapertures (before it was limited to 20x20)
  • add LUTpix in calibration process to reorder pixels
  • possibility to compute target SR fitted on a0 sinc function
  • modification of pyramid centroider to use CUB

Report bugs and issues on this page

Release of v4.2.0

  • add pyramid focal plane visualization
  • add md report generation in
  • update documentation generation using doxygen
  • add natural integration of FP16 and complex in python
  • add KECK aperture type
  • better ELT Pupil generation
  • drop BRAHMA, use CACAO interface instead
  • computes PSF in every iteration
  • add frame calibration
  • remove KALMAN support
  • add pyramid modulation weight
  • add filter_TT parameter in centroider
  • add modal integrator control law

for Internal developments:

  • add custom pyr modulation script to handle natural guide dual-stars and resolved NGS
  • add hunter integration optional

Report bugs and issues on this page