Projet

Général

Profil

Wiki » Historique » Révision 49

Révision 48 (Florian Ferreira, 28/09/2017 15:55) → Révision 49/52 (Florian Ferreira, 28/09/2017 15:55)

!{width: 10%}https://projets-lesia.obspm.fr/attachments/download/690/compass-logo.png!  

 Welcome to the COMPASS wiki. 

 The COMPASS platform comes with an user interface based on the Python language which rely on several layers of software. These stacks are described in the figures 
 !{width: 50%}https://projets-lesia.obspm.fr/attachments/download/2421/compass_archi.png! 80%}https://projets-lesia.obspm.fr/attachments/download/2421/compass_archi.png! 

 The lower level is the GPU domain. This is where resides the computing power and the memory that needs to be addressed to perform the computations. To manipulate GPU arrays and use advanced and optimized numerical algorithms, COMPASS relies on 3 main pillars : 
 * the CUDA toolkit from NVIDIA including optimized libraries : CUBLAS, CUFFT, CURAND 
 * the CArMA (C++ Api for Massively parallel Applications) 
 * SuTrA (Simulation Tool for Adaptive optics). 

 The intermediate layer is the binding domain. This is where the set of optimized tools are bound to interpreted languages in order to build evolutive and modular higher level applications. This is achieved using respectively Cython and the Yorick API plus an additional layer of custom software. 

 At the higher level, we find the python libraries and Yorick plugins accessible to the user through the interpreter. This includes the NAGA Python package and the YoGA Yorick plugin, providing general utilities to the user such as random number generation, fast Fourier transform or various BLAS levels. Additionally, the SHESHA package and YoGA_AO extension provide whole environments, respectively in Python and Yorick, including GUIs, to simulate adaptive optics systems.  

 Follow the links to get more information on each components of the COMPASS project. 

 [[Install the platform]]  
 [[CArMA]]     : the C++ API for a user-friendly GPU 
 [[SuTrA]]     : the AO simulation tool 
 [[NAGA]]      : the Python general library for GPU computations 
 [[SHESHA]]    : the Python package to run AO simulations with GPU acceleration 
 [[YoGA]]      : the Yorick plugin for GPU computations 
 [[YoGA_AO]] : the YoGA extension to manipulates SuTrA objects and run AO simulations 
 [[PRANA]]     : the real-time control development platform 
 [[Websim]]    : the astrophysical observations simulator 
 [[SWG]]       : the science working group page 
 [[CWG]]       : the computing working group page 





 !{width:25%}https://projets-lesia.obspm.fr/attachments/download/689/logos.png!