biblio. informatique
APCScheduler est une bibliothèque python permettant de soumettre des jobs sur une grille de calcul gLite/WMS. Elle offre les fonctionnalités suivantes :
- Ecriture automatique du fichier JDL
- Technique du parachute automatisé pour les exécutables compilés
- Possibilité de lancer un ensemble de jobs, type Monte Carlo
- Prise en charge des applications MPI, via MPI-START
- Possibilité de définir ou d'exclure un ensemble de Compute Element (CE) ou de WMS
- Re-soumission d'un job hors délais sur un autre CE, WMS
- Récupération automatique du sdtout et stderr à la fin du job sur l'User Interface (UI)
- Rapatriement des fichiers de sortie écrit sur le CE vers l'UI, mécanisme de "boîte aux lettres"
- Possibilité de bloquer le déroulement du script jusqu'à la fin du ou des jobs puis de passer à l'analyse des résultats dans un même script
- Réception d'un mail à la fin d'un job ou d'un ensemble de jobs
- Manipulation des fichiers sur les Storage Element (SE)
APCScheduler contient également des commandes type unix "apcgrid-xxx" permettant de :
- Création d'un tarball à partir d'un exécutable
- Soumettre un job en une ligne de commande: apcgrid-run echo -p 'Hello grid from CE $HOSTNAME'
- Manipuler les fichiers entre l'UI et un SE, possibilité de copie récursive
Avec une syntaxe très proche, il est également possible de soumettre des jobs séquentiels ou parallèles sur le cluster du CCIN2P3 et également en "local", c'est à dire sur son ordinateur personnel, noeud de login ou de calcul d'un cluster. Dans ce mode APCScheduler lance et surveille des processus UNIX.
Framework de développement en C++ permettant de faire des interfaces graphiques pour applications web.
Les fonctions de ce framework reprennent les principales classes graphiques du framework Qt (en remplaçant le Q par un W) de sorte qu'il est très facile de passer d'une interface en Qt à une interface pour une application Web.
De fait de la similitude du Framework Wt avec le framework Qt, il est très facile de passer de l'un à l'autre.
Wt commence également à supporter le fomat WebGL qui permet de faire des applications utilisant OpenGL dans un navigateur Web.
Utilisé dans le cadre de portage d'application écrite en C++ vers des applications Web, ce framework ouvre de nouvelles perspectives. Les premiers programmes intégrant Wt dans nos applications sont au stade de développement et ne vont pas tarder à sortir (enseignement, développement Web, calcul scientifique...).
Voici la liste des fonctionnalités principales :
- opérateurs arithmétiques
- conversions de types et formats
- morphologie mathématique
- connexité digitale
- topologie digitale (binaire)
- topologie digitale (niveaux de gris)
- topologie des ordres
- opérateurs géométriques
- primitives graphiques
- histogrammes
- traitement du signal
- opérateurs statistiques
- maillages 3D
- opérateurs interactifs
La bibliothèque compte actuellement 359 opérateurs.
libchop est une bibliothèque C pour le stockage réparti et la sauvegarde de données. libchop permet de combiner différentes techniques de stockage réparti et pair-à-pair décrites dans la littérature : adressage fonction du contenu, chiffrement convergent, arbre de Merkle, détection de similarités, compression, etc.
L'utilisation de libchop permet de contrôler finement différents aspects du stockage réparti : confidentialité, intégrité, espace de stockage nécessaire.
Elle a été initialement conçue comme brique de base d'un système de sauvegarde coopérative de données.
La bibliothèque de programmes graphiques DISLIN est un outil logiciel graphique utilisable en Fortran, C, Java, Python et Perl, indépendant des périphériques, qui permet de réaliser des graphes scientifiques 2D ou 3D.
Les fonctions DISLIN sont invoquées directement dans les programmes compilés ou interprétés. Cette bibliothèque est disponible sous quasiment tous les OS existants.
DISLIN n'est pas dans le domaine public. Pourtant il est disponible librement pour des usages non-commerciaux. Le code est la propriété du Max-Planck-Gesellschaft zur Förderung der Wissenschaften de Munich.
L'appel aux fonctions DISLIN directement depuis un langage de programmation est au premier abord moins intuitive que l'utilisation d'un outil "graphique", mais on dispose en contrepartie d'un bon contrôle et d'une grande puissance de calcul.
Résolution de systèmes linéaires creux.
Parallélisme.
Out-of-core.
Grand nombre de prétraitements numériques et pivotage partiel.
Support pour différent formats d'entrée (centralisé, distribué ...).
Calcul de noyau.
Pour plus d'informations, consultez la fiche de logiciel validé de MUMPS.
La bibliothèque MLV est une bibliothèque multimedia simplifiée. Elle convient parfaitement aux étudiants qui débutent dans la programmation en C et qui souhaitent ajouter des effets graphiques et sonores dans leurs programmes. La bibliothèque permet de:
- dessiner des figures, afficher du texte et des boîtes de dialogues,
- afficher des images,
- jouer de la musique,
- recupérer et traiter des évènements clavier et souris,
- récuperer des informations à l'aide d'une boîte de saisie de texte.
Ces outils sont des interfaces simplifiées de la bibliothèque SDL. Si vous n'êtes pas débutant, nous vous recommandons d'utiliser plutôt la bibliothèque SDL (SDL, SDL_gfx, SDL_sound, SDL_ttf) au lieu de la bibliothèque MLV.
La bibliothèque MLV est portable, elle peut donc être compilée et exécutée sous Linux, Macintosh et Windows.
ParadisEO est une plateforme logicielle libre, développée en langage C++, orientée-objet, portable (Unix, Windows, MacOS). Elle permet un développement flexible et réutilisable de métaheuristiques (méthodes d'optimisation approchées) et leur déploiement sur des grilles de calcul. Elle est basée sur la librairie EO (Evolving Objects), une plateforme libre, orientée-objet à base de templates et dédiée au calcul évolutionnaire.
ParadisEO se compose de quatre modules. Chaque module fournit des fonctionnalités spécifiques :
- ParadisEO-EO fournit les classes permettant le développement de métaheuristiques à base de population de solutions telles que les algorithmes évolutionnaires et les algorithmes d'optimisation par essaim de particules (particle swarm optimization);
- ParadisEO-MO, depuis la version 1.3, fournit en plus les classes pour le développement de méthodes de recherche locale (recuit simulé, recherche taboo, recherche locale itérative...) des outils pour l'analyse de paysage ;
- ParadisEO-MOEO est le module pour la résolution de problèmes d'optimisation combinatoires multi-objectifs ;
- ParadisEO-PEO permet de développer des métaheuristiques parallèles et distribuées. Ce module fournit des classes permettant, entre autres, l'évaluation parallèle des individus, la transformation (croisement, mutation) parallèle des individus et l'évaluation parallèle d'un individu dans le cas où la fonction d'évaluation est une fonction complexe, des recherches locales parallèles.
ParadisEO-GPU est quant à elle une version de ParadisEO qui permet l'exécution sur un processeur graphique (GPU: Graphics Processing Unit).
ParadisEO permet également la coopération et l'hybridation de différentes métaheuristiques. Différents schémas d'hybridation entre métaheuristiques sont possibles. Il est possible, à titre d'exemple, d'hybrider un algorithme évolutionaire et une méthode de recherche locale ou de remplacer un opérateur génétique par une méthode de recherche locale.
L'architecture logicielle de ParadisEO est conçue en utilisant des design patterns permettant une grande interopérabilité avec d'autres logiciels et bibliothèques. Cela permet également une forte réutilisation du code à l'intérieur même de ParadisEO. De plus, une assistance par des ingénieurs de l'équipe de développement est proposée.
Ce logiciel est utilisé comme outil de recherche en optimisation, mais aussi sur des problématiques de HPC.
De grandes entreprises comme France Telecom l'utilisent dans un cadre de R&D.
Le pôle Informatique Scientifique de l'IRD l'a utilisé dans le
cadre d'un paramétrage d'un modèle d'océanographie. L'expérience a eu lieu en mode "grid" sur trois sites distants sur 200 cœurs de calcul.
FFTW est une bibliothèque écrite en C de fonctions pour calculer la transformée de Fourier discrète (DFT) en une ou plusieurs dimensions, de taille arbitraire (puissance de 2 ou non), pour des données réelles ou complexes.
Elle inclut également des routines pour la transformée en cosinus ou en sinus (DCT et DST).
Ses principaux atouts sont la performance tout en maintenant une portabilité (compilation sur toutes sortes de machines) et une flexibilité (s'adapte à des arrangements de données complexes).
FFTW peut effectuer des transformées de Fourier en parallèle, sur architecture distribuée via MPI, ou bien sur architecture à mémoire partagée via OpenMP ou pthreads.
- Rapidité (support des instructions SSE/SSE2/AVX/3dNow!/Altivec).
- Une ou plusieurs dimensions.
- Taille arbitraire (des tailles multiples de petits nombres premiers sont plus rapides, mais FFTW utilise des algorithmes en O(N log N) même si N est un nombre premier).
- Transformée rapide de données réelles.
- Transformées en cosinus et sinus (DCT et DST de type I-IV).
- Gestion efficace de transformées multiples ou vectorielles.
- Transformées parallèles via OpenMP, pthreads ou MPI.
- Interface Fortran et C.
Utilisable à partir de programmes en C ou en Fortran.
De plus, la transformée de Fourier de la bibliotheque intel (MKL) peut etre utilisée sans changer le code, car elle peut etre appellée via la meme interface que fftw.
Nous sommes plusieurs à utiliser FFTW pour les transformées de Fourier dans des codes de calcul intensif (méthodes spectrales).
C'est ce qu'il y a de plus rapide tout en restant portable (fonctionne sur des architectures intel, amd, powerpc). Sa flexibilité dans l'organisation des données et dans la taille (pas nécessairement une puissance de 2) la rend très pratique également. La précision du calcul est également optimale (double précision ou simple précision).
De plus, la transformée de Fourier de la bibliotheque intel (MKL) peut etre utilisée sans changer le code, car elle peut etre appellée via la meme interface que fftw.
Une petite difficulté existe pour porter du code utilisant une autre bibliothèque : la transformée de Fourier avec des données réelles calculée par FFTW stocke les coefficients de Fourier sous forme complexe, en nécessitant N/2+1 nombres complexes, car le fondamental k=0 est stocké sous forme complexe également.
Protocole OAI-PMH
Le protocole OAI-PMH est utilisé au niveau mondial par les acteurs du monde des archives électroniques ouvertes pour échanger des métadonnées. Ce protocole permet à toute personne qui le souhaite de récupérer les métadonnées (titre, auteurs, résumé, mot-clés, url...) des documents de l'archive.
Dans le protocole, l'archive est nommée "fournisseur de données", et la personne ou le programme qui récupère les métadonnées est le "moissonneur" (voir Wikipedia).
Une requête basée sur une URL utilisant 7 "verbes" permet au moissonneur de récupérer et de tenir à jour un référentiel des métadonnées d'une archive. Les moissonneurs peuvent aussi récupérer les métadonnées provenant de plusieurs archives.
Les fournisseurs de données rendent leurs métadonnées disponibles au format Dublin Core (oai_dc), mais d'autres formats standards ou personnalisés sont possibles.