La sortie de Pandas 0.24.1 est l’occasion de parler de Python et du traitement des données scientifiques. Depuis quelques années, un certain nombre de projets ont émergé afin d’équiper Python pour les mondes de la recherche. Cette dépêche présente quelques‐uns de ces projets. Des ressources pour aller plus loin sont proposées en fin de dépêche.
Journal Mechamatic de la méca pour tous !
Cher nal,
Comme tu le sais, j'adore l'informatique et la mécanique. Aussi, je m'amuse beaucoup à mélanger ces deux activités pour imaginer des solutions/applications plus ou moins utiles dans ces domaines. Je ne manque pas d'ailleurs de t'en tenir à chaque fois informé, car je sais que quelques mécaniciens barbus sont quelquefois de passages par ici.
Aujourd'hui, je voudrais te parler de Mechamatic.
Il s'agit tout simplement d'un site ouèbe qui permet de mettre en œuvre deux techniques avancées (…)
Journal Un Python qui rivalise avec du C++
Rencontre avec un code de calcul scientifique open-source - écrit en Python - qui tente de rivaliser avec du C++ sur des supercalculateurs, spectralDNS!
Quelques liens:
La publication initiale : https://arxiv.org/pdf/1602.03638v1.pdf
Une seconde publication : https://arxiv.org/pdf/1607.00850.pdf
Une publication plus récente : https://arxiv.org/pdf/1701.03787v1.pdf
Le dépôt GitHub : https://github.com/spectralDNS/spectralDNS
Première réaction?
Je ne sais pas quelle est votre première réaction. Moi j'y croyais pas trop. Puis j'ai potassé les articles, j'ai fait quelques tests avec le code, j'ai contacté l'auteur principal, et (…)
Journal Cohérence des fonctions d'arrondi
Étant très inspiré par un récent journal, je me souviens de différences de comportements entre les langages de programmation.
J'ai moins de détails techniques croustillants à mentionner, mais pour ceux qui manipulent des chiffres et des lettres, ça peut être intéressant.
Supposons que l'on veuille arrondir une valeur. -0.5. Facile ? Et bien en fait, pas du tout !
round(-0.5) =
- Python: -1
- WolframAlpha: 0
- PHP: -1
- JavaScript: -0
- Matlab: -1
- Java: 0
Si l'on tient compte du zéro (…)
incompact3d.com fête son premier anniversaire
Pour célébrer le premier anniversaire du site incompact3d.com, faisons une brève plongée dans le code de calcul éponyme sous licence libre (GNU GPL) qui a plus de 15 ans ! Il permet de résoudre les équations de Navier‐Stokes incompressibles en 2D/3D et peut exploiter efficacement plus d’un million de cœurs.
OpenMOLE 5: Interface web et Market Place
La version 5 d'OpenMOLE - surnommé Loving Lobster (homard aimant) - vient d'être publiée. Pour mémoire OpenMOLE est un logiciel permettant de distribuer des explorations d'espaces de paramètres, de listes de fichiers, d'algorithme d'optimisation, d'analyse de sensibilité… sur des environnements de calcul type serveurs multi-processeurs, fermes et grilles de calcul. Il permet d’intégrer facilement votre code exécutable quelque soit le langage (C++, R, Python, Java, NetLogo…) et déporte son exécution de manière entièrement transparente, sans aucune installation préalable du coté de l'environnement d'exécution. Il permet de concevoir des workflows de calcul à très grande échelle générant des millions de jobs et des centaines de Go de données.
Voir les changements depuis la version 4 en seconde partie de dépêche.
Nous donnons régulièrement des formations ouvertes au public d'OpenMOLE à l'Institut des Systèmes Complexes à Paris. La prochaine aura lieu courant octobre, elle sera annoncée très prochainement.
Journal Minsky, pour les ingénieurs économistes
Cher journal,
Aujourd'hui, je voudrais te parler d'un économiste pour lequel j'ai une grande estime. Comme tu peux te l'imaginer, si j'en parle ici, c'est que le bonhomme est un brin iconoclaste. Gagné.
Le monsieur s'appelle donc Steve Keen. Je viens de finir son bouquin récemment traduit en français : « L'imposture économique » dont la lecture est passionnante et accessible pour ce genre d'ouvrage et que je conseillerais à tout étudiant en économie. Avec un titre pareil, on pourrait s'attendre aux élucubrations (…)
Forum général.cherche-matériel Remplacer un (petit) cluster pour consommer bcp moins tout en gardant de la puissance
Salut,
je dois, pour des raisons de consommation, remplacer le (petit) cluster du boulot. Pour information, nous faisons du traitement scientifique d’images satellites. Nous avons besoin de puissance de calcul et d’I/O (aussi rapide que possible).
Actuellement, on a 6 nœuds + un maître. 46 cœurs, 2 à 3.5go par cœur, 72 disques (12 à 24 disques par machine), pour un espace total de 140to (70 réellement utilisables avec la solution actuelle).
Logiciellement parlant, on a:
HTCondor pour la répartition (…)
Numba 0.14
Numba, l'optimiseur Python spécialisé dans le calcul numérique, est sorti en version 0.14. Numba est un compilateur juste-à-temps (JIT) pour Python, basé sur LLVM, permettant d'optimiser du code de calcul numérique, notamment basé sur Numpy. Il est compatible avec CPython 2.6, 2.7, 3.3 et 3.4. Des paquets binaires sont disponibles via Anaconda, la distribution de paquets binaires dédiée au calcul scientifique maintenue par Continuum Analytics, l'entreprise qui développe Numba.
CentOS 7 fait son entrée au CERN
Suite au rapprochement de Red Hat et CentOS en janvier 2014, le CERN a annoncé que CentOS 7 remplacera Scientific Linux 7 comme base de leur distribution maison, qui s’appellera désormais CERN CentOS 7. Scientific Linux est une distribution Linux, principalement maintenue par le CERN et le Fermilab. C'est un clone de Red Hat Enterprise Linux, qui existe depuis 2004.
Les utilisateurs de Scientific Linux 5 et 6 continueront de recevoir les mises à jours comme prévu jusqu'en 2020, mais l'avenir de Scientific Linux 7 est plus incertain : bien que déjà publiée en version Beta, Scientific Linux 7 pourrait finalement être publiée sous une autre forme, à savoir une variante de CentOS, tout comme il existe de nombreuses variantes d'Ubuntu. Mais pour l'instant, aucun communiqué officiel n'a été publié sur le site web de Scientific Linux.
Journal Un nouveau logiciel open source pour le criblage "in silico" (chemoinformatique)
Chers lecteurs,
Je suis heureux de pouvoir annoncer la première version du logiciel ACPC.
https://github.com/UnixJunkie/ACPC/blob/master/README.md
ACPC est un logiciel open source pour faire du criblage "in silico" ("ligand-based virtual screening", en anglais).
ACPC utilise la fonction d'autocorrelation pour encoder les charges partielles des molécules de façon rotation-translation invariante.
ACPC est écrit en OCaml (http://ocaml.org/) et utilise la librairie Parmap (http://www.dicosmo.org/code/parmap/) pour la parallélisation des calculs sur les machines multicoeurs.
ACPC est assez rapide dans le domaine (…)
Version 1.0 de Julia
Julia, un langage de programmation peu connu, a atteint la version 1.0 (disponible uniquement sur Linux et Mac OS X actuellement). Le langage a été créé par des scientifiques et se veut donc optimisé pour leurs besoins : le calcul scientifique, l'apprentissage automatique (machine learning en anglais), la fouille de données (data mining), le calcul algébrique linéaire à grande échelle et le calcul distribué et parallèle.
Ils veulent un langage :
- Très simple à apprendre, mais qui puisse aussi convenir aux « hackeurs sérieux » : Julia a une syntaxe facile à apprendre pour les utilisateurs de Matlab, tout en étant homoiconique avec des vrais macros comme le Lisp.
- Aussi utilisable pour la programmation « normale » que Python, aussi simple pour les statistiques que R, aussi naturel pour le traitement de texte que Perl (Julia supporte les PCRE), aussi puissant pour l'algèbre linéaire que Matlab et aussi bon pour lier des programmes ensemble que le shell.
Avec une implémentation :
- Open source avec une licence peu contraignante : Julia est sous licence MIT.
- Aussi performante que le C tout en ayant la dynamicité de Ruby : quelques benchmarks sont sur la page d'accueil de Julia qui est dynamiquement typé avec annotation optionnelle de type (et dispatch multiple).
- Fournissant un mode interactif et compilé.
Bref, ils sont ambitieux ! Leur manuel de référence est assez bien fait : à vous de juger…
NdA : Merci à Nÿco, olivierweb, Brndan et particulièrement à reno pour leur aide lors de la rédaction de cette dépêche.
Matplotlib 1.1 et autres outils de visualisation en Python
Matplotlib est une bibliothèque en Python très utilisée pour tracer des graphiques en deux et trois dimensions. Le degré de sophistication peut être très élevé mais les choses simples le restent ; pour se donner une idée, il suffit de regarder la galerie d’exemples.
En combinaison avec les bibliothèques scientifiques NumPy ou SciPy et l’interpréteur IPython, nous obtenons un outil de prototypage très pratique.
Matplotlib n’est pas exempte de limitations, pour de grosses séries de données ou des visualisations complexes en trois dimensions. Il faut alors se tourner vers d’autres outils tels que guiqwt ou Mayavi, si l’on veut rester avec des outils en Python.
Retour d’expérience d’utilisation de logiciels libres en école d’ingénieur
Cette dépêche fait suite à mon journal sur le même sujet que j’ai amélioré en fonction des commentaires.
J’ai fini ma troisième année d’étude en école d’ingénieurs, et je souhaite partager mon expérience d’utilisateur de logiciels libres en milieu hostile. Je n’étais pas dans une école d’informatique, l’administration et les profs ne juraient que par Windows, et le seul langage de programmation étudié fut Visual Basic…
La seconde partie de la dépêche sera consacrée à une liste de logiciels et quelques conseils pour choisir son matériel.
BOINC, raid de septembre 2011 de l'Alliance Francophone
Comme tous les ans l'Alliance Francophone organise un challenge sur la plateforme BOINC afin de regrouper et rassembler tous les francophones sur un projet unique.
BOINC, pour Berkeley Open Infrastructure for Network Computing est une plateforme libre de calcul distribué en grille ne cessant de croître et de devenir populaire.
Celle-ci permet à de nombreux scientifiques d’avoir accès à une puissance de calcul importante et cela gracieusement.