Mise à jour : Decembre 2014
Les nouvelles architectures parallèles offrent une puissance de calcul très intéressante pour accélérer la mise en œuvre de l’innovation dans le domaine du traitement du signal. Cependant, les exploiter demeure une affaire de spécialistes, hors de portée des experts "métiers", qui conçoivent les nouveaux algorithmes. De plus, une meilleure intégration entre les phases étude et réalisation permettrait de pallier la rupture aujourd’hui rencontrée dans le processus de développement des produits et faciliterait l’implantation de l’innovation dans le produit industriel.
Les objectifs du projet SIMILAN sont de :
- Faciliter l’accès aux technologies parallèles aux experts métiers du traitement du signal non-spécialistes de la parallélisation
- Optimiser les outils de parallélisation par la connaissance des contraintes liées aux métiers du traitement du signal
SIMILAN propose la création d’un outil qui permettra à la fois d’accélérer des simulations très coûteuses en temps de calcul en les exécutant sur des machines cibles parallèles (multi/many-core, cartes GPU ou clusters de PCs) et de générer le code applicatif optimisé pour ces cibles parallèles.
Le projet permettra l’ajout de capacités de calcul scientifique Scilab pour la programmation Java.
De plus, le développement d'une boîte à outils de traitement d’images basé sur des algorithmes de l’Université Paris Descartes permettra à Scilab d'augmenter ses fonctionnalités. Cette extension apportera un différenciateur concurrentiel fort.
Les domaines d’application ciblés dans un premier temps sont : le radar, les télécommunications, le traitement d’images et le traitement de données d’essais électromagnétiques sur avion. A terme, la démarche pourra être étendue à tout type d’applications flot de données.
Le projet SIMILAN a permis d’augmenter les capacités de la plateforme de simulation ASTRAD :
-
Ajout du langage Scilab v5.4
-
Amélioration des échanges de données entre langage Java, C, Fortran et Scilab grâce à la mise en place de gestion de la mémoire partagée.
-
Exécution du flot de donnée via le langage graphique ASTRAD supportant l’exécution sur plusieurs threads grâce à l’ordonnanceur « Process Network »
-
Intégration des passerelles de communication (via le DSL) avec les outils de génération de code tels que : Par4All , SPEAR pour des cibles parallèles telles que GPU, multi-cœur, cluster de PC ou MPPA.
-
Cet outil SIMILAN facilite l’accès aux technologies parallèles aux experts métiers du traitement du signal non-spécialistes de la parallélisation.
-
Pour l’utilisateur de l’outil SIMILAN, il existe deux manières d’accéder à ces nouvelles capacités :
-
Pour développer des modules, et afin de pouvoir exploiter au mieux les générateurs de code (Par4All, COLD ou SPEAR), les modules codés en C ou Scilab doivent respecter certaines règles de codage qui permettront une génération automatique de code optimisé.
-
Pour construire une chaine de simulation utilisant les modules dont le code optimisé a été généré et capitalisé, l’utilisateur de l’outil SIMILAN est capable de sélectionner en fonction de la machine cible visée, le code des modules optimisés qu’il désire mettre en œuvre de manière ergonomique en choisissant à l’IHM le type d’implémentation du module désiré.
Ces nouvelles fonctionnalités ont été mise en œuvre sur des applications de traitements de données dans les domaines RADAR, Télécom, traitement d’images, traitement de données électromagnétiques.
Toutes ces applications ont été développées sous la plate-forme de simulation SIMILAN et ont permis de démontrer les nouvelles capacités de l’outil SIMILAN sur des machines cibles telles que PC Multi-cœur, GPU, MPPA.
Les résultats obtenus permettent de démontrer
|
Thus, the simple-core processor is now replaced with many-core processors. However, to take advantage of the powerful calculator, the algorithms have to be developed in parallel form. Indeed, only parallelization experts are able to use parallelmachines and the technical experts on signal processing subjects cannot use parallelization easily.
Two main objectives are:
-
To make access to parallel technologies easier for signal processing experts (nonspecialists of parallel technologies).
-
To optimize parallelization tools thanks to the knowledge of needs and constraints linked to digital signal processing.
This tool will use a highleveldescription, multilanguageslibraries and amaterial architecture description.
The main technological and scientific innovations adressed by SIMILAN are:
- Using Scilab scientific computation abilities in Java programming to add specific instruction in the java virtual machine able to process. These instructions will allow to run Scilab software on this java virtual machine.
- Making access to parallel technologies easier for signal processing experts (nonspecialists of parallel technologies). The approach is to set up rules or tools, like specific graphical operator or information, which will help the developers to write a software code optimised for parallel tools and targets.
- Automatic management of data sharing to optimize the parallelization. Several methods will be studied like the advanced pavement analysis techniques or software pipeline.
- Furthermore, using Scilab in ASTRAD platform instead of Matlab scientific computation software is also a real economical interest.
-
SIMILAN’s aim is to share a tool with a signal processing community to optimize it and improve it considering mutual constraints. This tool will be validated for several domains: radar applications, telecommunications, image processing and electromagnetic tests data processing.
-
SIMILAN will make the way from new algorithms to real-time implementation easier and will let a software environment enable to manage signal processing from the simulation to computer code generation.
|