Journal SeqTools 1.0.0: la programmation concurrente, c'est dur!

Posté par  . Licence CC By‑SA.
31
28
déc.
2019

J'ai profité des vacances pour améliorer ma librairie en python SeqTools, déjà présentée sur linuxfr.

Pour rappel, cette librairie permet le traitement "paresseux" de séquences, c'est-à-dire de tout conteneur qui permet l'accès à ses éléments par indexation, en gros des listes, des tableaux ou un objet qui implémente __getitem__.
La librairie se destine plutôt à des transformations éléments par éléments ou à la réorganisation/combinaison d'une ou de plusieurs séquences entre elles. Pour les pythonistes: c'est un peu (…)

Journal Python haute performance et cristallographie

Posté par  . Licence CC By‑SA.
46
2
sept.
2019

Cher journal,

À l'instar de l'ami omc qui te partageait ses polycops de cours sur "Python for science", je vais moi aussi te parler de Python à travers le prisme de la cristallographie. Mais qu'est ce donc que la cristallographie vas-tu me demander. Historiquement il s'agit d'une discipline qui vise à déterminer la structure atomique (nature et ordonnancement des atomes) de la matière. Cette discipline est en fait à l'intersection d'un très grand nombre de domaines (physique, chimie, biologie,…) (…)

Python pour les sciences, une présentation

64
18
fév.
2019
Python

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 !

Posté par  . Licence CC By‑SA.
29
21
oct.
2017

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++

15
27
août
2017

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

Posté par  (site web personnel) . Licence CC By‑SA.
44
29
nov.
2016

É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

37
15
oct.
2016
Science

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

Posté par  . Édité par Benoît Sibaud, bubar🦥 et tuiu pol. Modéré par ZeroHeure. Licence CC By‑SA.
19
25
sept.
2015
Science

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

Posté par  . Licence CC By‑SA.
28
30
août
2015

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

18
25
oct.
2014

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

Posté par  . Édité par Benoît Sibaud. Modéré par patrick_g. Licence CC By‑SA.
42
18
sept.
2014
Python

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

Posté par  . Édité par Nÿco, Xavier Teyssier, Benoît Sibaud et ZeroHeure. Modéré par ZeroHeure. Licence CC By‑SA.
42
19
août
2014
Red Hat

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)

Posté par  (site web personnel) . Licence CC By‑SA.
11
19
mai
2014

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

Posté par  . Édité par reno, Nÿco, Brndan, Bruno Michel, Xavier Teyssier et olivierweb. Modéré par NeoX. Licence CC By‑SA.
40
4
mar.
2012
Technologie

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

Posté par  . Modéré par Nÿco. Licence CC By‑SA.
27
1
nov.
2011
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.