Journal Un Python qui rivalise avec du C++

16
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 (page perso) . 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

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

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)

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

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

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.

Retour d’expérience d’utilisation de logiciels libres en école d’ingénieur

32
16
sept.
2011
Bureautique

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

Posté par (page perso) . Édité par Benoît Sibaud. Modéré par baud123. Licence CC by-sa
25
13
sept.
2011
Science

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.

Journal Les 50 ans du CERN : le berceau du web

0
12
août
2004
Salut mon journal,

En octobre de cette année, le CERN (Centre Européen de Recherche Nucléaire [1]) va souffler sa 50ième bougie. Bon, c'est sans doute aussi excitant que de savoir que Tim Berners-Lee a été anobli par la reine [2,3], mais je pense que ça mérite d'être mentionné.
Alors je me suis amusé à faire une petite recherche de "CERN" sur linuxfr et d'après les divers résultats que j'ai eu il semblerait qu'on en parle seulement (ou principalement) lorsqu'un nouveau (...)