Journal Formation à Lyon : Compilateurs pour le Python Scientifique

Posté par  (site web personnel) . Licence CC By‑SA.
14
25
oct.
2017

Cher journal,

Du 7 au 9 novembre (2017 hein) aura lieu à Lyon une formation ouverte à tous sur le Python scientifique, ou plus exactement sur l'accélération de code scientifiques écrits en Python à travers trois compilateurs : Cython, Numba et Pythran. Trois compilos, trois approches, vive la diversité ! Et avec en bonus un petit aperçu sur l'évaluation de performances dans le cas de codes hybrides Python/natif.

Il y a certes un biais tout franchouillard à présenter Pythran (…)

Journal PyConfr2017 - Boudu !

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
20
26
sept.
2017

PyconFr, tu viens pour les talks et tu te retrouves à apprendre plein de trucs en discutant avec les uns et les autres. Et puis entre les anciens étudiants, les core devs Python ou Mercurial, il y avait du beau monde et plein de trucs à apprendre. Hop aperçu non exhaustif des deux sujets qui m'ont marqués (ce qui n'enlève évidement aucun intérêt aux autres sujets).

Mais avant ça merci à Quarkslab pour m'avoir permi d'aller à cette conf, et (…)

Journal Pythran 0.8.2 — compilation de noyaux scientifiques écrits en Python

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
38
14
sept.
2017

Mâtin, quel journal !

Pythran est bien vivant
Un vrai compilateur !
Et heure après heure,
Le bonheur vient en codant !

Mais des mois s’écoulèrent,
Sans que je postasse,
Le moindre mot dans l’air,
Ça manque un peu de classe

Et là, tout à coup, soudainement, surgit la version 0.8.2 de Pythran. Que s’est‐il passé depuis mon dernier soliloque sur LinuxFr.org ? Allez, plongeons dans le journal des modifications, mais avant ça, un petit rappel sur Pythran, par l’exemple.

Vous voyez ce bout (…)

Journal Frozen - Une alternative à gperf pour les utilisateurs de C++14 fan de constexpr

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
36
22
mai
2017

Ce journal présente frozen, une bibliothèque open-source, à base d'en-tête qui fournit une version rapide, non-modifiable, compatible avec une utilisation dans un contexte constexpr des bien connus std::set, std::map, std::unordered_map et std::unordered_set, pour C++14. Elle peut être utilisée comme une alternative à gperf.

Introduction

J'ai toujours trouvé frustrant qu'une variable globale déclarée const std::set<int> keys = {1, 2, 3} soit initialisée (…)

Journal Pythran chatouille Cython

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
32
4
jan.
2017

Bonsoir'nal

Peux-être te souviens-tu de Pythran, ce compilateur pour Python spécialisé pour le calcul scientifique ? Si ce n'est pas le cas Alzheimer te guette, mais une médicamentation est toujours possible :
- le tag pythran sur LinuxFr
- le blog technique du projet
Quoiqu'il en soit, j'ai eu l'envie soudaine, inopinée et irrésistible de me re-balader sur |StackOverflow](http://stackoverflow.com/) à le recherche d'un cas test à optimiser. Et là je tombe (ouille) sur ce post qui explore l'optimisation (…)

Journal Switch, chaîne constante et c++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
16
31
août
2016

Salut 'Nal (ah non, ça marche pas)

Lors d'une discussion avec un collègue, ça chambrait 1 gentillement sur l'absence de switch sur des chaînes constantes en C++. Ça a déclenché quelques recherches de mon côté, et voilà ce que j'ai pu trouver (les codes qui suivent ne sont que le reflet de ce que j'ai pu lire en ligne, rien de nouveau sous le soleil brestois)

Approche LLVM : StringSwitch

Source : http://llvm.org/docs/doxygen/html/StringSwitch_8h_source.html

L'idée est de simuler une cascade de

(…)

Journal [C++14 ] Expressions template pour les nuls

45
31
mai
2016

Expression Templates pour les nuls

Après un contact prolongé avec Joël Falcou, et pas mal de nœuds aux cerveaux pour arriver à émuler le comportement du broadcasting de Numpy avec des expression templates dans Pythran, j'ai eu l'envie soudaine, un peu folle peut-être, de réécrire un moteur d'expressions template en C++14, mais pour faire simple et didactique.

Mais de quoi zy parle

Les expressions templates sont une maintenant assez vieille technique de C++ qui permet par exemple d'éviter de (…)

Journal Pythran 0.7.2 - détails techniques

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
28
15
oct.
2015

Termi' Nal (humour du 42ème degré),

Pythran, compilateur open source dédié au Python scientifique, vient tout juste de sortir sa version 0.7.2, à l'occasion de PyConFR où il sera présent. Ceux qui ont loupé la saison 1 de ce magnifique compilateur seront peut-être intéressés par le tag pythran.

Au lieu de vous résumer le Changelog, le reste de ce journal va vous parler de deux points techniques, un sur (…)

Journal Pythran 0.7 - PyDataParis

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
25
21
avr.
2015

Termi' Nal (humour du 42ème degré),

Pythran compilateur open source dédié au Python scientifique, a sorti sa version 0.7 il y a peu, à l'occasion du premier événement PyData organisé en France: PyData Paris. ±6 mois s'étaient écoulés depuis la dernière sortie de ce compilateur dont vous pouvez suivre les aventures trépidantes à travers le tag pythran.

Nouveautés

  • Meilleur support de Numpy, plus de fonctions, et (…)

Journal Automatiser les tests multi-plateforme avec Sivart

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
18
fév.
2015

Abat-jour' nal (variante médiocre sur un thème connu)

Lors de mes développements en C/C++, j'ai parfois besoin de tester la portabilité du code que j'écris, entre différentes architectures, ou quand j'ai des dépendances sur différentes versions d'ubuntu/Debian/*BSD. Et pourquoi pas OSX.

Alors d'habitude je teste sur ma machine, puis je lance une VM from scratch, je teste à la main, et c'est lourd et long, donc je ne le fais pas souvent/pas méthodiquement. J'utilise aussi travis-ci mais pour le multi-plateforme (…)

Pythran 0.6 - compilation de noyaux scientifiques écrits en Python

Posté par  (site web personnel) . Édité par ZeroHeure, Benoît Sibaud, palm123 et tuiu pol. Modéré par Benoît Sibaud. Licence CC By‑SA.
36
6
nov.
2014
Python

Pythran est un compilateur pour les noyaux de calcul scientifique écrit en Python. Il permet d'écrire des modules dans un large sous-ensemble de Python + Numpy, d'ajouter quelques lignes de commentaire pour spécifier les types des fonctions exportées, enfin de compiler l'ensemble pour obtenir un module natif capable (parfois !) d'utiliser efficacement multi-cœurs et unités vectorielles. Le reste de la dépêche décrit le fonctionnement du compilateur, les évolutions récentes et propose une comparaison avec les alternatives : Cython, numba et parakeet.

Journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que...

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
26
juin
2014

Yo standard (un stdyo en quelque sorte)

Un utilisateur de Pythran m'a récemment conseiller de regarder le benchmark que voilà et de comparer Pythran à l'ensemble.

L'article associé essaie de comparer l'implémentation d'un algo dans différents langages, un peu à la computer language benchamrk. Pourquoi pas.

Ni une, ni deux, je choppe les sources C++, Python et Python + Jit (Mumba en l'occurrence), je compile et lance les benchs. Rien de très surprenant:

$ python RBC_Python.py
[
(…)

Journal Le retour de pacman en beamer

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
25
28
mar.
2014

Salut à tous !

Il y a quelque temps déjà, j'avais présenté ici même une nouvelle façon d'afficher le compteur de slide en beamer, à l'aide d'une petit pacman dévorant avidement le nombre de page…

Tout y était : le pacman, les p'tits bonbons blancs, les plus gros… mais il manquait le fantôme, malheureux protagoniste oublié de l'histoire.

L'erreur est réparée, comme vous pouvez l'observer avec émotion sur cette présentation. Le paquet LaTeX à inclure est bien sûr dispo.

(…)

Journal Brèves de Pythran

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
33
22
jan.
2014

Commençons très fort : « comment allez vous, yau de poële ?»

Aux détours de mes pérégrination dans le monde de l'open source à travers ce magnifique projet de traducteur Python Scientifique vers C++ que certains d'entre vous suivent depuis quelque temps déjà, le (bien connu ?) Pythran, j'apprends plein de truc. Alors hop on partage !

Au programme (ahah) :

  • de la conception d'un logo
  • des temps de compilation en C++
  • de la gloire

Pleins de projets ont un (…)

Journal Pythran part à SuperComputing

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
33
15
nov.
2013

Yo,

Pythran est un compilateur qui traduit des modules Python sans classes utilisateurs et implicitement statiquement typé en méta-programmes C++. Sa vie a déjà été évoquée sur linuxfr à plusieurs reprises.

Après PyConFR, SciPy Pythran continue sa montée en puissance et va se frotter aux grands lors d'un workshop à Super Computing, la grand messe du calcul haute performance: PyHPC.

On y parlera des directives OpenMP et de leur intégration dans Python. Quelques progrès en la matière, puisqu'avant, (…)