Journal Pythran, en plein délire

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
50
23
mai
2018

Cher journal, je dois te confesser que j'ai déclenché quelque chose dont j'ai un peu honte.

Tu te souviens bien sûr de Pythran, ce compilateur pour noyau scientifiques écrit en Python, et de ce petit détail d'implémentation qui veut que le compilateur commence par transformer les fonctions Python en fonctions C++ template (a.k.a. transformer du code Python en meta-programme C++ pour faire stylé voire pédant).

Un choix de design a été de faire en sorte que ces fonctions ne (…)

Journal avec Pythran, Numpy file comme le vent

Posté par  (site web personnel) . Licence CC By‑SA.
46
5
avr.
2013

Salut mon petit journal,

je te tiens de temps en temps au courant des avancement de Pythran, ze convertisseur Python -> C++ dédié au calcul scientifique. La dernière fois que nous avons discuté, tu m'avais dit de repasser te voir quand je serais capable de supporter ce genre de calculs:

import numpy as np
n = 100000
b, c = np.ones(n), np.ones(n)
d = np.sqrt(b
(…)

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,…) (…)

Journal Exit Pyth(on|ran)2

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
41
10
jan.
2020

Demat'iNal,

parmi les vœux de 2020, il y en a un qui ne devrait pas passer inaperçu tellement il est attendu depuis longtemps. Je veux bien évidement parler de l'abandon officiel du support de Python2 au profit de Python3.

Les plus abasourdis pourront lire le python 3 statement. Et tout particulièrement cette phrase :

We will then be able to simplify our code and take advantage of the many new
features in the current version of the Python language (…)

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 Pythran à Scipy2013 !

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
37
4
juin
2013

Ô joie, le compilo Pythran dont les évolutions sont suivies par une foule Linuxienne en délire, a droit de citer lors de la grand messe annuelle du Python scientifique, Scipy2013, plus exactement .

Un grand merci à vous tous qui répondez, critiquez, hurlez, piaillez dans les différents journaux pythranesques, ça m'aide beaucoup pour la motivation, et aussi pour améliorer les choses.

Comme le défi Pythran, c'est d'avoir de la perf en gardant la syntaxe Python, et vu que (…)

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 Pythran 0.8.5 - de l'intérêt des compilateurs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
35
24
avr.
2018

Demat' Nal

Pythran, compilateur pour un sous ensemble du langage Python dédié au calcul scientifique, en est à sa version 0.8.5.

En guise d'exemple, il permet de transformer un code source comme celui là :

#pythran export weights(uint8[:,:])
#runas import numpy as np; x = np.arange(10, dtype=np.uint8).reshape(5,2); weights(x)

import numpy as np
def weights(input_data, threshold=0.3):
    n_seq, length = input_data.shape
    weights = np.zeros(n_seq, dtype=
(…)

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, (…)

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 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 Quelques surprises techniques dans Pythran

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
7
nov.
2019

Demat' iNal,

Il y a peu sortait la version 0.9.4 du compilateur Pythran, délicatement appelée Hollsent. Pour rappel, Pythran est un compilateur pour du code scientifique écrit en Python, canal optimisation de performances.

À cette occasion, en plus de l'habituelle annonce sur la mliste de diffusion, un petit pot-pourri des améliorations techniques a été rédigé par votre serviteur. Et comme c'est quand même plus marrant d'écrire en français, en voici une traduction libre.

C'est surprenant, mais il (…)

Journal pythran: python -> c++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
30
8
juil.
2012

La lecture quotidienne des journaux m'avertit qu'il y a de nombreux pythonistes dans le coin, alors…

Dans ma pratique régulière du Python (et n'oubliez pas : manger 5 langages par jour pour être bien en forme !), je prends un grand plaisir à coder des algos à base de liste / ensembles / dictionnaires le tout dans une petite sauce fonctionnelle. C'est loin d'être la seule façon de programmer en Python mais c'est comme ça que je fais.

Bien sûr, tout (…)

Journal Sortie de Pythran 0.13.0

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
29
2
mai
2023

Demat i'Nal,

J'ai publié ce matin une nouvelle mouture du compilateur pour codes scientifiques écrits en Python nommé Pythran. C'est la version 0.13.0 et elle porte le joli sobriquet bouch'hal.

Les plus impatients téléchargeront immédiatement la dernière version sur PyPi ou Github tandis que les plus curieux s'empresseront de lire le changelog associé.

Mais ce serait louper la suite de ce billet, où j'aimerai vous parler des bienfaits de l'émulation. Lors de ma veille, je suis tombé sur le (…)