Journal LLVM 11.0.0

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
34
13
oct.
2020

Demat'iNal,

Après 6 release candidates, la version 11.0.0 de l'écosystème LLVM a finalement été rendue publique.

LLVM suit un cycle de sortie de 6 mois, quelles sont donc les grandes nouveautés ? On notera déjà l'arrivée du compilateur Flang dans la suite officielle LLVM, qui se dote ainsi d'un compilateur Fortran. Il vient remplacer le peu usité llvmgo qui a été retiré du dépôt officiel.

LLVM release note

LLVM possédait déjà un type vectoriel, p.e. <i32 x 4> pour (…)

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 PyPI et les projets critiques

Posté par  (site web personnel) . Licence CC By‑SA.
32
11
juil.
2022

Demat' iNal,

En fin de semaine dernière, je reçois un courriel (oh, ce terme doucement désuet) des mainteurs de PyPI me félicitant pour mes trois projets promus "projets critiques", ce qui, à l'instar de mère-grand félicitant un jeune homme d'être costaud, puis s'empressant de lui demander de ranger sa valise dans le wagon TGV, me demande de mettre en place une authentification à deux-facteurs pour mon compte PyPI.

Petit retour sur cette expérience.

Déjà on comprend la motivation : Il (…)

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

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 Jouons avec le ``switch`` et C++17

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
27
5
mar.
2018

Et non, ceci n'est pas un journal sur la switch, juste un partage rapide et amusé d'une version alambiquée mais qui fait tourner la tête (comme beaucoup de choses sortant d'un alambic, n'est ce pas ?):

template<unsigned N>
__attribute__((noinline)) void stuff()  {}

// manual switch
void manual_switch(int i) {
    switch(i) {
        case 0: return stuff<0>();
        case 1: return stuff<1>
(…)

Journal Une structure partiellement constante en C++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
27
6
juil.
2018

Hop, quelques réflexions sur un langage non réflexif.

Si on veut un tableau de taille statique, on peut utiliser depuis C++11 la classe std::array<T, N>.

std::array<long, 5> my_array{{1, 2, 3, 5, 8}};

Si on veut forcer ce tableau à ne contenir que des constantes utilisables à compile-time, on a la possibilité de marquer cette déclaration constexpr.

constexpr std::array<long, 5
(…)

Journal Sortie de C++ 2000

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
27
1
avr.
2021

Depuis la sortie de C++11, la langage C++ a connu de nombreuses évolutions: C++14, C++17 et enfin C++20 l'an dernier.

Cependant, ce rythme de sortie semblait assez lent aux vrais amateurs de C++, aussi le C++omité de standardisation a-t-il décidé de sortir une nouvelle version, affectueusement nommée C++2000. Fidèle à sa volonté de simplification du langage, le C++omité n'a intégré que les fonctionnalités les plus attendues et nécessaires :

  • Une nouvelle syntaxe pour apporter la puissance des template à l'assembleur (…)

Journal Pythran : C++ pour les serpents

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
26
5
déc.
2012

Salut à toi, mon petit journal
Ça fait bien longtemps que je ne t'ai pas parlé de mon petit bébé cybernétique, Pythran.

Tu te rappelles de lui ? C'est un convertisseur d'un sous ensemble du langage Python vers C++11. L'idée est de mutiler légèrement le langage Python (hop, plus de classes) et d'ajouter des contraintes de typage statique pour générer un module natif optimisé à partir d'un module écrit en Python.

Sommaire

  • Résumé des épisodes Précédents
  • Optimisations statiques
  • Projet Euler
  • (…)

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.

(…)